Что пишут на языке программирования C++?

Поділитися
Вставка
  • Опубліковано 15 лис 2024

КОМЕНТАРІ • 1,1 тис.

  • @SergeyNemchinskiy
    @SergeyNemchinskiy  5 місяців тому +1

    10 ошибок в поисках работы программистом - ua-cam.com/video/OchgKVPR7fc/v-deo.html

    • @darkhunter777
      @darkhunter777 4 місяці тому +1

      Почему UNREAL, а не CRYENGINE ? Direct X же куда лучше чем OPEN GL ? 😁

    • @Константин-л2к3э
      @Константин-л2к3э 4 місяці тому

      while и do оба небходимы в одинаковой степени! программирую 37 лет. никакой избыточности тут нет

  • @pacmantv603
    @pacmantv603 3 роки тому +1736

    Как говорилось на Java можно написать всё, а на C++ можно написать Java
    UPD: Ещё немного и коммент обгонит ролик по лайкам)

    • @IExSet
      @IExSet 3 роки тому +18

      Большая часть Java написана на Java, а если JVM написана на C++, это не значит, что доя этого не подходит любой другой не managed язык.

    • @vovadenys4149
      @vovadenys4149 2 роки тому +122

      @@IExSet ну да, после создания языка, его пересоздают с помощью его же самого.

    • @user-wm3sb9gj7q
      @user-wm3sb9gj7q 2 роки тому +70

      на Assembler можно написать C++

    • @ИгорьК-т1ш
      @ИгорьК-т1ш 2 роки тому +19

      @@user-wm3sb9gj7q отчасти, но в основном компиляторы пишут на C/C++

    • @valueso2582
      @valueso2582 2 роки тому +18

      @@IExSet какие бывают клоуны... эхх

  • @LevchenkoYevhenii
    @LevchenkoYevhenii 3 роки тому +839

    "Каждый объектик должен быть под надзором!". Настоящие диктаторы прогают на С++ )

    • @ВладиславПодпоркин
      @ВладиславПодпоркин 3 роки тому +13

      У плохих же диктаторов объекты сбегают от надзора.
      Ленивые диктаторы кодят на Rust.

    • @Принуждениекмиру-ь2ц
      @Принуждениекмиру-ь2ц 3 роки тому +14

      Оригинальная шутка:)))

    • @РяхаИгоряхи
      @РяхаИгоряхи 3 роки тому +21

      В Си требования по надзору куда жёстче, особенно емли сравнивать с "плюсами" начиная с 11-х. В плюсах какие-то Умные указатели есть, которые нередко самоуничтожаться могут.
      Так что, идеальным языком тоталитарного диктатора является именно C.

    • @levoradikal
      @levoradikal 2 роки тому +7

      Дедушка Адольф пошёл учить MASM

    • @81n90
      @81n90 2 роки тому +1

      @@levoradikal в 92году помню начинал с тасма, закончил мясом

  • @artie5913
    @artie5913 3 роки тому +627

    Я много лет в геймдеве и хотел бы сделать ремарку: не слушайте тех, кто боится C++, не такой уж он и сложный. Напротив, на мой взгляд, C++ намного проще Java и С#, т к его инфраструктура более прямолинейна. Да, нужно разобраться с тем как работает сборка(препроцессор, компилятор, линковщик), работа с памятью(стек, куча, malloc, free, new, delete, Smart Pointers). Но на этом все - остальное это надстройки стандартной библиотеки, которые вы можете изучить прямо в коде, посмотрев исходники. В C# же, чтобы разбираться в технологи надо читать документацию, книги обо всех фичах виртуальной машины, GC, какие-то поколения, все это устроено намного сложнее, чем в C++(поэтому оно и медленнее).
    Кстати, говорить, что C# отжал что-то у C++ в геймдеве не совсем корректно. В Unity на C# пишутся скрипты с игровой логикой, но под капотом все тот же C++. В других игровых движках используются другие скриптовые языки: Lua, Python, могут использоваться проприетарные языки или визуальный скриптинг(Blueprints в Unreal Engine). Тут скорее C# конкурирует с ними. Если вы хотите работать в геймдеве с чем-то кроме высокоуровневой игровой логики(графика, физика, анимации, ресурсы и пр) - это всегда C++.

    • @aleksandr3938
      @aleksandr3938 3 роки тому +10

      Посоветуйте материалы для изучения, если не сложно)

    • @sorrynomorenickname
      @sorrynomorenickname 3 роки тому +24

      @@aleksandr3938 cppreference

    • @sorrynomorenickname
      @sorrynomorenickname 3 роки тому +1

      Далеко не все. А как же правила вывода типов, тонкости со sfinae, rv/cv spec, rvo/nrvo, трайты, концепты, виды инициализаций и т.д. ?

    • @artie5913
      @artie5913 3 роки тому +41

      @@sorrynomorenickname вы сами пишете, что это тонкости. Тонкостей, уверен, и в других языках предостаточно. Мой поинт в том, что начать писать игры на C++ - не сложно. А такие видео вводят в заблуждение и отбивают желание даже попробовать.

    • @sorrynomorenickname
      @sorrynomorenickname 3 роки тому +1

      @@artie5913 Как раз для написания чего-то производительного и комплексного без знания этих тонкостей не получится обойтись. Иначе тогда нет особого смысла не использовать тот же C#.

  • @mr.alexhackchannel7368
    @mr.alexhackchannel7368 3 роки тому +126

    12:30 Тут важно разделить понимание. C# в Unity используется как скриптовой язык. Это очень важно. А сам движок Unity написан на C++ и это понятно почему. Многие в недоумении просто будут думать что реализация таких задач как отрисовка DirectX, просчет физики в реальном времени, звуковой движок и тд, это заслуга C# в Unity.

    • @levoradikal
      @levoradikal 2 роки тому +4

      В unity просто не .NET а Mono, т.е. С# в IL код, IL код в C++, C++ в машинный

  • @RS-ue4wg
    @RS-ue4wg Рік тому +45

    На языке программирования C++ пишутся практически все курсовые и контрольные работы в ВУЗе )))

  • @aLex-tz8gt
    @aLex-tz8gt 3 роки тому +69

    Говорят даже Страуструп до конца не знает С++

    • @ВикторГиль-ф2ф
      @ВикторГиль-ф2ф 3 роки тому +2

      Никто не знает C++. Там собираются дилетанты, принимают не протестированные решения и потом разрабы валят проекты. Даже в гугле есть свои правила C++, например не использовать эксепшены. А Qt во всю использует макросы в С++... Контейнеры часто делают бесполезные операции... Подходы в программировании часто бездумно меняются на 180 градусов... полный беспорядок в общем.

    • @alexanderbelov6892
      @alexanderbelov6892 3 роки тому +1

      @@ВикторГиль-ф2ф
      В компаниях часто ограничивают C++, чтобы не провоцировать miss use. Через исключения некоторые норовят возвращать runtime ошибки, хотя это замедляет код в тысячи раз. Или пропускают отлов каких-то исключений, в результате чего программы неожиданно вылетают по необработанному исключению. Хотя всё это можно постепенно вычистить, но есть и концептуальная проблема. А можно ли в принципе продолжать исполнение кода после уместно сгенерённого исключения?
      Также многие запрещают использовать RTTI - чисто из-за размера доп.памяти на хранение информации о типах.
      В 1990-х запрещали использовать template. Сейчас же ввели в язык auto, что по своей мощи сравнимо с template.

    • @ВикторГиль-ф2ф
      @ВикторГиль-ф2ф 3 роки тому

      @@alexanderbelov6892 Мое мнение, исключения приводят к дублированию кода по освобождению ресурсов. Соответсвенно нарушается принцип DRY + код становится неуправляемым, если кто то забыл проверку освобождения ресурсов во всех предполагаемых точках появления исключений. Т.е. исключения дают больше проблем чем решают. И там проблемы принципиальные. До сих пор стандарт один, но настолько сложный, что производители компиляторов давно игнорируют стандарт и каждый лепит что то свое. А постоянная разница в недоработанных стандартах привела к тому, что код написанный ранее может просто перестать компилироваться (почти гарантированно старый код не скомпилируется).

    • @alexanderbelov6892
      @alexanderbelov6892 3 роки тому +2

      @@ВикторГиль-ф2ф Если используется подход RAII к захвату ресурсов метода, в котором есть try catch, то усилия по освобождению не растут. Расткрутка стека производит освобождение объектов методов на стеке автоматически.

    • @ivanfigvsm1540
      @ivanfigvsm1540 2 роки тому

      Да он в своих книгах в коде косячит - часто break не ставит и типа у него правильно логика после этого работает )))). Да и пишет он конечно писец заумно, явно преподавать ни его призвание, но после плюсов смотришь на другие языки и уже все знаешь, синтаксис тот же на 80 процентов.

  • @МаксимХвостов-м1й
    @МаксимХвостов-м1й 3 роки тому +7

    У меня забавный случай был пару лет назад когда в stl вошла библиотека ranges я смотрел конференцию по новому стандарту c++ там из зала прозвучал вопрос - "а как на счёт скорости?" - ответ "теоретически медленнее работать не должно". Меня это заинтересовало я написал тестовую програмку на common lisp замерил время выполнения, переписал её на "новый c++" используя ranges замерил время в 2 раза быстрее, переписал в стиле "старый c++" замерил время в 1,5 быстрее :) снова переписал её как "с разработчик" заменив все stl контейнеры на свои простенькие замерил время снова быстрее :) gcc, clang.
    Мои знакомые с++ разрабы пишут на pyton затем переписывают на с++ (^.^)

  • @ulyssescheshirecat4145
    @ulyssescheshirecat4145 3 роки тому +276

    На С/С++ разрабатываю уже 30 лет. Никаких проблем никогда не было ни с оформлением ни с чтением кода. А говнокод можно написать на любом языке, на той же Java, к примеру, так как это зависит от человека, а не от языка программирования.
    А данный обзор о С/С++ от человека, который явно далек от С/С++, не соответствует реальности.
    Ну а поскольку на С/С++ написаны все интерпретаторы, и компиляторы, то можно смело сказать, что на С/С++ можно написать все, что угодно. К примеру, для тех кто не осилил указатели, С/С++ разработчики написали Java, и теперь Java программисты сидят и рассуждают о С/С++ говнокоде, наверное, имея в виду эту самую Java :).

    • @Ланс-м1в
      @Ланс-м1в 2 роки тому

      Здравствуйте. Где в литературе можно найти информацию про то, как собрать готовый проект с использованием библиотек и сторонних технологий? В книгах используются простые консольные примеры, за исключением Страуструпа, который вопрос именно подключения библиотек обходит стороной

    • @Ланс-м1в
      @Ланс-м1в 2 роки тому

      @@sagrer128 Спасибо большое. Буду изучать эти инструменты. Иначе, по всей видимости, ни как.

    • @console.g
      @console.g 2 роки тому +4

      Не важно на каком языке пишешь, важно кто пишеть на этих языках😀

    • @ErnestZaslavsky
      @ErnestZaslavsky 2 роки тому +3

      неистово плюсую! я тоже не очень понял как coding conventions и coding style связанны с самим языком, тем более что в последние лет 10 все можно свести к общему знаменателю используя clang-tidy и clang-format

    • @igorseledtsov7345
      @igorseledtsov7345 Рік тому +1

      Так си или С++ ? языки похржи только синтксически А аот методу программировения и рядом не лежали...

  • @serg_joker
    @serg_joker 3 роки тому +142

    В этом ролике можно узреть максимальное незнание C++, и не только.

    • @OlexLebed
      @OlexLebed 3 роки тому +7

      він в кінці так і сказав! що він його не вивчив!

    • @serg_joker
      @serg_joker 3 роки тому +3

      @@OlexLebed ну, я бы не стал с таким уровнем понимания языка, механизмов защиты операционных систем, виртуальной памяти толкать вот эту всю дичь. Но пипл хватает :)

    • @OlexLebed
      @OlexLebed 3 роки тому +14

      @@serg_joker та якийсь випуск тільки заради хайпу, привернути увагу. Інформативності нуль.

    • @kolyan199816
      @kolyan199816 2 роки тому +12

      Полностью согласен. К сожалению Сергей не соизволил даже погуглить где и для чего используется с++.
      И С++ не "тяжелее С".
      В эмбедед его меньше используют потому, что не для всех микрочипов сделали компилятор С++. Та и не во всех микрочипах есть heap, поэтому смысла в фичах с++ нет.

    • @maksimponomarev3610
      @maksimponomarev3610 2 роки тому

      @@kolyan199816 Вы работаете в embedded разработке?

  • @jsbauman
    @jsbauman Рік тому +4

    Difference between C and C++:
    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
    --Bjarne Stroustrup

  • @elelex
    @elelex 3 роки тому +13

    Есть умные указатели которые умеют сами освобождать память

    • @mormeoi
      @mormeoi 3 роки тому +10

      Вот вот. А еще есть деструкторы, которые сами автоматически подчистят ресурсы. А в java забыл поставить finally { object.close() } и труба.

  • @ashkiler
    @ashkiler Рік тому +12

    Ключевого слова "until" в С++ нет.

  • @Artym_Q
    @Artym_Q 2 роки тому +8

    По описанию прям "Великий могучий"- И все-то в нем есть и синонимы, и метафоры, а учить даже носители бояться, а иностранцы сложнее китайского считают.

  • @MsSergey1313
    @MsSergey1313 3 роки тому +36

    То чувство когда не совсем всё знаешь по теме будущего видоса но видидос сделать и залить на ютуб надо!

  • @alexbusarov9442
    @alexbusarov9442 Рік тому +6

    Мде... автор видимо С++ пару раз в жизни палочкой тыкал, в 90х годах. Половину утверждений - куда-то мимо либо неверные. Цикл until - это вообще что такое в C++?

  • @a.travkin
    @a.travkin 3 роки тому +5

    Кликбейт и развод на каменты? Если да, то норм, если нет, то обидно...
    Являюсь относительно "молодым" разработчиком, не могу сказать, что было 100500 лет назад, но:
    1. Ни одна нормальная ОС(win, linux, mac) не даст тебе залезть в память другого процесса или ядра, т.е. ты не можешь поменять байтики в памяти которая тебе не принадлежит, получишь Access Violation или segfault.
    2. Стандартная библиотека плюсов достаточно скромна, да, как правило все ещё используют boost, но до с++17, не было функций работы с файловой системой, приходилось использовать платформозависимые фунции, привет win32 и posix. Работы с сетью нет до сих пор, xml? - нет, json - тоже нет, ini-?..., ну я думаю понятно. Библиотека C# или Java значительно богаче. (Если я неуч, и dot и т.д. не является "стандартом" соряньте).
    3. Ну, обосраться разрабатывая на C++, вероятность, бесспорно, больше, согласен, но современный с++ вполне удобен и относительно безопасен, Smart Pointers, RAII, ну, да, хорошо бы понимать как это работает.
    P.s. чёт пробило)) соряньте.

  • @posixninja5000
    @posixninja5000 2 роки тому +3

    Ну то что на C++ можно читать/писать всё - спорно. Так или иначе на уровне ОС защита имеется(если эта самая ОС имеется), виртуальная память состоит из сегментов в которых находятся сегменты кучи, стэка, вручную при-mmap-ленных файлов, исполняемых библиотек и самой запущенной программы - ко всем этим сегментам существет определённые права доступа чтения/записи/исполнения. Если программа не запущена от root/администратора особо плохих вещей сотварить программа не сможет(одна из причин не запускать всякую хрень из инета под рутом). При обычных обстоятельствах в сегменты других программ вам вход так же закрыт(если конечно они сами не позволят войти).
    Так же не согласен, что в C++ нет фреймворков решающих большинство задач - Qt или Boost вполне справляются даже с самыми не тривиальными задачами, но появляются проблемы "иного порядка". Если используешь какой-либо фреймворк в C++ нужно именно знать как он функциклирует, в противном случае эффективный отстрел ног гарантирован. Умение читать/понимать документацию роляет в большинстве классических случаев использования фреймворков, а в неклассических - чтение/понимание header-файлов и немножечко дедукции. С библиотеками немного проще - они редко наводняют код сложными конструкциями которые можно не так использовать, особенно библиотеки Си - обернул в классы и не паришься при использовании.
    Вручную рулить памятью - да нужно, но RAII упрощает эту задачу - определил очистку выделенной в куче памяти в деструкторе и всё при выпадении экземпляра класса из стека память его полей так же корректно зачищается. В случае использовании фреймворков и C++ библиотек не актуально - там всё и так сделано за вас. При особом желании и умении можно использовать STL так не разу и не коснувшись динамической памяти ручками, в таком случае C++ покажется на одном уровне с C# или Java.
    То что C++ медленнее Си - действительно так. Причина тому RAII и множественные цепочки вызовов который он порождает - когда конструктор вызывает конструктор, тот вызывает конструктор экземпляра другого класса, за тем вызывается деструктор этого экземпляра, пару раз выделилась память в куче, один раз очистилась, а другой перенеслась по указателю - и всё это в одну строчку написанную программистом... понял это программист только через отладчик.

  • @epicmax3683
    @epicmax3683 2 роки тому +27

    Очень приятно было послушать историю возникновения и развития языка. Сразу понимаешь сферу применения

  • @evgeniakozarezova5607
    @evgeniakozarezova5607 2 роки тому +9

    Ой какая прекрасная серия видео! 🥰 Предлагаю вам запустить курс для проджект менеджеров с обзором всяких айтишных технологий и языков. Я вот сейчас это всё по крупинкам хожу собираю 🐥

  • @brianryan4053
    @brianryan4053 Рік тому +3

    Не знаете вы историю. С ++ написал датчанин, ученик норвежца, который создал первый ООП язык Simula в конце 60-х. Simula в 70-е никакого применения не нашла. А Biarn Straustrup понял что пришло время ООП и решил сделать крутой ООП язык. А Smalltalk , это был второй ООП язык. Вообще если не скандинавы, то я не знаю как бы сейчас выглядело программирование

    • @NotIce684
      @NotIce684 8 місяців тому

      Smalltalk все таки был первым языком ООП. Само понятие и описание ООП ввел разработчик Smalltalk. Это уже потом симуловский вариант, который позаимствовал и С++, стали тоже называть ООП, хотя оно никакого отношения к ООП в видении и определении Алана Кэя не имеет.
      То есть существует ООП в изначальном классическом виде (SmallTalk) и тот вариант что потом назвали ООП (Simula, C++, Java, C# и т.д.)

  • @ShchoTacke
    @ShchoTacke 2 роки тому +5

    У Сергея крутая дикция. По этому видео отлично смотрится на скорости 2х.

  • @noxiktoxik4261
    @noxiktoxik4261 2 роки тому +47

    Мне 16 лет, всегда был далёк от программирования в каком-либо проявлении. Но вот решил это изменить и приступил к изучению С++.
    За месяц есть уже некоторые успехи, получается писать примитивные коды. Учитывая, что запас знаний об этом языке программирования у меня скудный, получается даже использовать его для решения задач школьной программы и тп.

    • @Aristotle314
      @Aristotle314 2 роки тому +19

      Отлично, продолжай в том же духе

    • @Andruxa03
      @Andruxa03 2 роки тому +5

      А откуда ты брал информацию для обучения скажи пожалуйста? (спрашиваю так как только хочу начать)

    • @Aristotle314
      @Aristotle314 2 роки тому +9

      @@Andruxa03 можно с Ютуба, можно по книге, можно от преподавателя

    • @Andruxa03
      @Andruxa03 2 роки тому +1

      @@Aristotle314 це просто итак логично) я имел ввиду, если вы что-то читали и это вам помогло, то могли бы вы это посоветовать конкретнее (заранее спасибо)

    • @nskeip
      @nskeip 2 роки тому +9

      Слушай, ты молодец. Но я начинал кодить примерно так же, как ты (сейчас мне 35, и кодить продолжаю). Единственное что бы я посоветовал - все-таки разобраться сначала с "обычным" Си, а потом накручивать плюсы. Хотя бы пару часов или денек посвяти этому, посмотри видосы. И потом уже добавляй туда ООП, шаблоны и прочие плюсовые штуки. Так просто знания будут структурированы и по факту "2 инструмента по цене одного" будут у тебя в руках, потому что они для разного.

  • @СергейПетров-е5ы2п
    @СергейПетров-е5ы2п 3 місяці тому +1

    на C++ Builder писать код + верстать диалоги было легко и приятно)

  • @Rosalinnnnd
    @Rosalinnnnd 3 місяці тому +48

    А почему C++ считается таким сложным для изучения? я сам долго выбирал курсы по IT, рассматривал разные варианты, но в итоге остановился на Skypro. Проработав 7 лет в сфере обслуживания, я решился сменить профессию и не пожалел))

  • @goosefromheaven2341
    @goosefromheaven2341 Рік тому +1

    А что если мне нравиться концепция "спать" с паяльником и быть близко к железу, програмировать всякие платы и так далее но за свои 17 лет, я в жизне сам паяльник в руках не держал и в душе не знаю понравиться ли мне програмировать всякие там операционки для электро чайника? Мне стоит пробовать дальше учить плюсы, или ну их в баню?

  • @artemadeev7444
    @artemadeev7444 3 роки тому +16

    На плюсах пишут код.
    Спасибо сио посмотрел видео ставьте лайки подписывайтесь .
    В следующем видео расскажу что пишут на Джаваскрипт

    • @flance911
      @flance911 2 роки тому +1

      Неужели код?

  • @12strel
    @12strel Рік тому +5

    Наконец хоть кто-то растасовал по понятиям. Что касается самой професси складывается ощущение что в программисты С++ очень высокий порог входа, там сразу ждут тех кто лет 5 его изучал в очень хорошем вузе у хорошего преподвателя.

    • @SirVestniK
      @SirVestniK Рік тому

      Во всех проектах в которых я работал спокойно приходили студенты без опыта с непрофильных факультетов. Физики, математики без уклона в программирование, с желанием учиться и развиваться легко проходят собеседование, приходят на пол ставки и к концу универа и выходу на полную ставку уже официально числятся как мидлы, а не джуны.
      Высокий порог входа в плюсы это миф.

    • @12strel
      @12strel Рік тому

      @@SirVestniK возможно вы правы если речь идет о москве и о каких то проектах где можно найти дело для начинающих. Лично я таких вакансий на хх ниразу не видел. Там сразу 5 лет опыта требуют.

    • @SirVestniK
      @SirVestniK Рік тому

      @@12strel по моему опыту на эту графу в вакансии смотреть бесполезно. Если в вакансии написано что ищут middle или jun разработчика, то будут готовы взять толкового кандидата без опыта, способного прямо сейчас выполнять реальные задачи в коде и с хорошим потенциалом для профф роста.
      В любом проекте есть рой нужных но не сложных задач, на которых можно набираться опыта и для которых нужны руки.
      Кандидату при этом всё же нужно какой-то уровень самостоятельности иметь.

    • @princessmary5556
      @princessmary5556 Рік тому

      Смотря где. Есть компании, которые нацелены на состоявшихся специалистов. А есть такие, которые набирают "старт карьеры" (джунов)

    • @12strel
      @12strel Рік тому

      @@princessmary5556 То что я вижу в большинстве случаев одна и таже история , кадры начинают набирать когда жареный петух клюнул и деваться уже некуда. Везде стандартная фраза "у нас сроки горят и мы ищем не просто спецов с 10 летним опытом а чтобы ваще-ваще стразу сел и поехал на незнакомом коде в незнакомой области". Некоторые пишут о том что им нужны жуны но если почитать требования к этим жунам то складывается впечатление что жун для них это тот кто уже давно все умеет только не такой крутой "как мы тут пятый год на одном и том же проекте".

  • @alexanderbelov6892
    @alexanderbelov6892 3 роки тому +34

    11:18 Так как C++ является обычным ООП языком на нём можно писать Enterprise приложения. Работа с памятью уже лет 20 должна вестись исключительно с помощью smart pointers, и в этом случае код можно на 99% сделать с автоматически управляемой памятью. Это не освободит от проблем ручного управления памятью в 1% случаев для массивов, но и для них придумали стандартные контейнеры, которыми настоятельно советуют пользоваться. ООП язык всё же.

    • @kirillchurkin9318
      @kirillchurkin9318 2 роки тому +6

      Автор сам не понимает о чём говорит, сразу видно, что почитал мемов и даже не программировал на cpp

    • @onymavelesov3807
      @onymavelesov3807 2 роки тому +1

      @@kirillchurkin9318 он сам сказал, что не смог изучить до конца.

    • @sagrer128
      @sagrer128 2 роки тому +4

      @@kirillchurkin9318 Автор, видимо, просто не застал C++11 и более поздние стандарты, т.е. рассказывает по большей части про "С с классами", на котором писали во времена популярности C++Builder от Borland и Visual Studio 6 от Microsoft :). Тогда да, всё через new, delete писали, стандартные библиотечные контейнеры типа векторов вообще использовать было не модно (да о них и мало кто что-нибудь знал), с потоками (ввод-вывод) аналогично, а в учебниках по С++ тех времён основы языка объяснялись по сути на С без плюсов и к этому добавляли пару глав про классы.

    • @MrLaSerj
      @MrLaSerj 2 роки тому

      @@sagrer128 Еще есть объемная библиотека boost

    • @sagrer128
      @sagrer128 2 роки тому

      @@MrLaSerj boost в те времена тоже не было, насколько помню %). Ну, то есть, формально либа уже была в 1999-2000 году, но не только лишь все про неё вообще знали ).

  • @vladimir0rus
    @vladimir0rus 2 роки тому +3

    В 21м году говорить что в С++ надо прям вручную за объектами следить как то странно. Уж давно смарт-поинтеры и удобные контейнеры существуют, можно писать как на жаве, не думая. Даже авто вывод типов есть.

    • @princessmary5556
      @princessmary5556 Рік тому +1

      Не только в 21. Во времена с++03 или даже в с++98 тоже самое было с той лишь разницей, что смартов не было в стандартной библиотеке. А вот в проектах они были (бустовские или частные велосипеды). В качестве вывода типов использовались typeof (gcc) или особая шаблонная магия, которой, впрочем, сегодня уже никого не удивишь.

  • @Alexey_Shtakerman
    @Alexey_Shtakerman Рік тому +37

    Как погроммист с/с++ с опытом 15 лет, заявляю: в выпуске примерно 50% - это мифы, легенды и сказания.
    Благо, что Сергей прямо сказал, что не смог выучить с++, но правда сказал это в самом конце

    • @alexchoriy2182
      @alexchoriy2182 Рік тому +1

      начал учить C++ и решил посмотреть видос , автор отбил все желание учить яп

    • @Alexey_Shtakerman
      @Alexey_Shtakerman Рік тому

      @@alexchoriy2182 чем именно отбил ?

    • @alexchoriy2182
      @alexchoriy2182 Рік тому

      @@Alexey_Shtakerman незнаю просто так завуалировано намекает что применений плюсам уже не так и много

    • @Alexey_Shtakerman
      @Alexey_Shtakerman Рік тому +7

      @@alexchoriy2182 C++ это не Бейсик или Паскаль , к которым можно применить фразу «применений не так много». К С++ можно применить утверждение «он переживет 95% всех остальных языков». В этом вопросе Надо отталкиваться от своих предпочтений и условий.
      Если можешь сразу и навсегда определиться со своей сферой IT, то осваивай наиболее популярный язык. В той сфере. Например, корпоративное ПО - Java. Веб - что-то своё. Десктоп - c++\c# ….
      У мобилок - своё.
      Если молодой и не можешь определиться в том, во чем хочешь специализироваться, то c++ - прекрасный старт для того чтобы потом любой другой язык пошёл у тебя легче

    • @alexchoriy2182
      @alexchoriy2182 Рік тому

      @@Alexey_Shtakerman я писал на питоне долго +- знаю его хорошо , но что-то захотелось более низкоуровневое програмирование изучить , попробовал плюсы вроде понравилось , но никогда не работал на таком низком уровне + никогда не интересовался электроникой поэтому немного сомневають что вывезу этот неймоверно большой поток информации + будет ли интересно мне. спасибо за коментарий , щас очень проблематично найти разработчиков на чем либо кроме питона успехов вам!

  • @itsgotrunn
    @itsgotrunn 3 роки тому +6

    С++ прочно обосновался в игровой индустрии, насколько мне известно, в большинстве компьютерных игр вся логика написана на С++, собственно это основной язык весьма популярного реалтайм движка Unreal Engine

    • @princessmary5556
      @princessmary5556 Рік тому

      На с++ пишется движок. А вот игровая логика - по возможности, на скриптовых языках.

    • @f1amezof
      @f1amezof Рік тому

      @@princessmary5556 Игровая логика тоже на C++ в UE.

    • @princessmary5556
      @princessmary5556 Рік тому

      @@f1amezof В Unreal Engine 4 есть встроенная система визуального скриптинга. UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков.

  • @Alex_Krivonogov
    @Alex_Krivonogov Рік тому +3

    -В c++ нет сборщика мусора, ты должен всё помнить и делать вручную!
    -Умные указатели: ну да, ну да, пошли мы на х*р.

  • @boris.mironov
    @boris.mironov Рік тому +1

    Никто не заставляет использовать все детали синтаксиса С++. Сам Бьярн Страуструп говорит, что прежде чем комиссия по языку С++ что-то добавляет, проходят многие дебаты. Он сам не сторонник расширения синтаксиса и имеет очень веское слово в этой комиссии. Ну а сами программы на С++ становятся намного лаконичнее по сравнению с их аналогом написанным на С. Так же не будем забывать про простоту автоматического тестирования кода написанного как свойства / методы объектов.

  • @alexf.7552
    @alexf.7552 3 роки тому +10

    Изучил его когда-то только ради написания читов к игре, в итоге работаю теперь по с++

    • @k1raz
      @k1raz 2 роки тому +1

      Сейчас как раз таки пишу)

    • @vladyan01
      @vladyan01 2 роки тому

      Как так получилось? Да ты гений похоже, мега сложный язык выучить по приколу)))

    • @gameboss5033
      @gameboss5033 11 місяців тому

      Ахах,тоже учу его ради читов сейчас 😂😂😂😂

    • @luteyka
      @luteyka 4 місяці тому

      @@gameboss5033 C++ в разработке читов - это процентов 20 от всей работы. Основная работа - это реверсинг, дампы памяти и тд. И конечно же обходы античитов. То есть надо писать драйверы на C, иначе обойти продвинутые kernelmode-античиты никак не получится

  • @АшурМезлан
    @АшурМезлан Рік тому +2

    Батя, спасибо за твой труд по просвещению населения в ИТ-технологий.

  • @evgeniilewicki5874
    @evgeniilewicki5874 2 місяці тому

    Вот интересно С++ стоит начинать изучать сразу в Linux или Windows?

  • @alexanderbelov6892
    @alexanderbelov6892 3 роки тому +6

    7:20 Почему code style имеет проблемы только с C/C++? В других языках code style определён в стандарте языка? Нет! В Java/C# также code style может быть любым.

    • @sagrer128
      @sagrer128 2 роки тому

      Видимо, дело в том, что в других языках обычно всё же есть какой-то один принятый в сообществе стиль кодирования (бывает, IDE ещё и автоматически форматируют всё под этот стиль), а в плюсах у каждой команды свой "кодекс", нет какого-то общепринятого варианта, часто даже в рамках одной организации есть различия и надо постоянно учитывать код проекта какой из команд ты сейчас правишь :).

    • @princessmary5556
      @princessmary5556 Рік тому

      С чего вы взяли, что в других языках есть какой то один принятый стиль?

  • @Q-oneee
    @Q-oneee Рік тому +2

    Сижу вот думаю, с какого языка начать изучение какого либо языка. до 30 лет было до лампочки на всё это, и тут возникает интерес к неизвестности)))

  • @user-razval-2024
    @user-razval-2024 2 роки тому +9

    Про чтение "любой" памяти, т.е. не принадлежащей виртуальному адресному пространству процесса - это очень сильное заявление. Хотя.. если речь о программировании под MS DOS то почему нет )

    • @p45h3
      @p45h3 Рік тому

      WPM/RPM ?)

    • @arbo_leet
      @arbo_leet Рік тому

      ошибка сегментирования (стек памяти сброшен на диск)

  • @ИванГинзбург
    @ИванГинзбург Рік тому +2

    Добрый день, на седьмой минуте говорите: "Например: есть цикл do, while и есть цикл until" - можно пример с кодом последнего цикла? )

    • @Гычпук
      @Гычпук Рік тому

      Так мне кажется от с программированием связан тем, что на видео что-то там рассказывает

  • @Гиря-т3ы
    @Гиря-т3ы Рік тому +5

    Для написания программ для работы микроконтролеров не так много альтернатив. Это Асемблер, С и С++ по этому С++ для меня на первом месте.

    • @gendalfmagic1091
      @gendalfmagic1091 Рік тому +3

      Си лучше, меньше вероятности пропустить ошибку.

  • @neokroaton7130
    @neokroaton7130 16 днів тому

    Сергей Здравствуйте
    Вы не могли бы записать видео про гемдев на с++
    Именно то что надо изучить для гемдева не касаясь лишней информации
    Да бы не тратить время впустую 🧐

  • @Евгений-ц8ч2у
    @Евгений-ц8ч2у 2 роки тому +7

    Добрый день! Сделайте пожалуйста видео на тему популярности Embedded разработчика. Очень хотелось бы услышать ваше мнение, я являюсь Embedded разработчиком и в профессию эту, я входил с изучения нескольких Ассемблеров, на разную архитектуру ядра.

  • @ДмитрийСтарушко-в5ф

    6:17 until в C++? Это вы, батенька, так комментарии со зрителей выбиваете или так хорошо знаете C++? Он там есть разве что так:
    #define repeat do
    #define until(exp) while(!(exp))

  • @kakoytochel2286
    @kakoytochel2286 2 роки тому +4

    Подумываю изучить C++ как дополнение к своим C# WPF проектам. Если будет нужно поработать с компьютером более "интимно"

  • @ВиталийЮрьевич-х2л
    @ВиталийЮрьевич-х2л 3 роки тому +6

    Уважаемый Сергей, для этого видео лучше бы пригласили Антона Полухина их Яндекса. Он пишет на нем как раз Enterprise решения.

    • @z140140
      @z140140 3 роки тому +1

      под Enterprise обычно понимается решение бизнес-задач, яндекс же занимается созданием высоконагруженных сервисов. поэтому там не используют ни явы ни шарпа, зато в ходу плюсы

    • @JohnSmith-ps4uk
      @JohnSmith-ps4uk 2 роки тому +1

      @@z140140 И "явы и питоны" в Яндексе активно используются, и даже испытывают огромную нехватку спецов по этим языкам для чего организовали свою "школу Яндекса"... Знаю это точно.

    • @z140140
      @z140140 2 роки тому

      @@JohnSmith-ps4uk я работал в яндексе в 2018-м и тогда четвёрка основных языков там была - ява, плюсы, питон и кажись js. Но в этом сообщении под "там" я имел в виду highload, а не яндекс в целом - для него в яндексе используют плюсы поскольку ява и тем более питон работают медленней

  • @pavelvasianovych4030
    @pavelvasianovych4030 Місяць тому

    А можно ли на C++ теоретически написать небольшое и простенькое вебприложение которое просто будет принимать рест запросы ходить в базу и выдавать каких-то юзеров, аналогично как если испльзовать набор из спрингбута? Есть ли библиотеки? Понятно что кода больше будет, но интересует теоретическая возможность, и если она есть, то во сколько раз будет больше кода по сравнению с тем же приложением на спринге?

    • @marat-nagayev
      @marat-nagayev Місяць тому

      Можно, посмотрите в сторону Qt Networking.
      Там точно есть tcp/udp сокеты, но вроде прямо веб сервер тоже был

  • @shumilov1991
    @shumilov1991 3 роки тому +23

    Так что же пишут а этом языке "X"?)
    Много про него слышал) Но курсов нигде нету)

    • @yurypetukhou9541
      @yurypetukhou9541 3 роки тому +1

      Значит, нужно его срочно создать, ведь вселенной так не хватает еще одного языка, который спасет человечество от кОтострофы

    • @danilapoddubny3734
      @danilapoddubny3734 3 роки тому

      Есть отличный курс от МФТИ и Яндекса на курсере

    • @shumilov1991
      @shumilov1991 3 роки тому +5

      @@danilapoddubny3734 я же не про С++, а про таинственный язык "X")

    • @FyUajYpUlM39
      @FyUajYpUlM39 3 роки тому +6

      Вроде на заборах на нём что-то писали.

    • @danilapoddubny3734
      @danilapoddubny3734 3 роки тому

      @@yurytuchkin5027 насколько я помню, там давали фишки C++20, насчет паттерном и шаблонного программирования - это общие вещи для большинства языков, я не уверен, что их стоит давать в вводном курсе по конкретному языку, который, к тому же, является мультипарадигмальным, потому что это увеличило бы его в 2 раза, что очень много, учитывая, что курс состоит из ~6 частей. Все еще считаю, что он довольно неплох для знакомства с языком и всем, кто хочет попробовать плюсы мог бы его рекомендовать, тем более, что он, как правило, бесплатный для студентов, однако, если вы можете посоветовать что-то лучше, то я буду очень благодарен

  • @mik_zd
    @mik_zd 3 роки тому +7

    оператор точка .не переопределяется, переопределяется оператор -> . Макрос на скобочку невозможен. P.S. Но можно перегрузить оператор скобки , круглые и квадратные. И {} скобки могут теперь уже использоваться для вызова конструктора и при присвоении.

    • @bentonitt
      @bentonitt 3 роки тому

      Я не си++ программист, но видел картинку где кто-то дефайнами переопределил скобочку на "правая скобка" Типо делали язык программирования на русском

    • @mik_zd
      @mik_zd 3 роки тому

      @@bentonitt слово менять на скобку можно, как и в си

    • @IExSet
      @IExSet 3 роки тому

      За то можно запятую переопределить :-)

    • @IExSet
      @IExSet 3 роки тому

      @@bentonitt это детский сишный макрос, любая книжка начинается с демонстрации подобного

    • @Янетыая-з2р
      @Янетыая-з2р 8 днів тому

      Насколько помню, можно ещё true на false поменять и наоборот

  • @asisu2877
    @asisu2877 3 роки тому +21

    На будущее лучше не говорить про синтаксис плохо знакомого языка. Никаких until в С++ нет. Дефайны - это наследие Си и т.д.

    • @yuriy333
      @yuriy333 3 роки тому +3

      Простительная ошибка. Зато есть for, do, while - каждый из которых нужный и выполняет свою задачу. А Until есть в Коболе и если не ошибаюсь, в Паскале.

    • @MrCter
      @MrCter 3 роки тому

      @@yuriy333 и do-while и while-do. repeat-until - это да.. это паскаль

    • @andrewandriyashin8217
      @andrewandriyashin8217 2 роки тому

      @@MrCter Самый полный набор этих видов циклов в Visual Basic, там "while/until" можешь ставить как в начале цикла Do-Loop, так и в конце.

  • @Raven-rw3ok
    @Raven-rw3ok 3 роки тому +56

    Операционные системы это на 90% С, а не С++

    • @igorseledtsov7345
      @igorseledtsov7345 3 роки тому +1

      да всё на 80 это С.. не питайте иллюзий..
      хотя из своих сре где живётся кажется что это не так

    • @alexanderbelov6892
      @alexanderbelov6892 3 роки тому

      Windows - это на 90% C#. Microsoft не зря его делали.

    • @igorseledtsov7345
      @igorseledtsov7345 3 роки тому

      @@alexanderbelov6892 делали они его чтоб продавать.. а не чтоб тело видовс писать писать, они конечно мазохисты но не настолько-же...

    • @alexanderbelov6892
      @alexanderbelov6892 3 роки тому +1

      @@igorseledtsov7345 Реальный состав кода не известен. Но сервисы Windows вполне могут быть написаны на C#.
      Пусть не 90%, но 20% на C#, 70% на C++, 10% на C - вполне годный расклад.
      В Интернете есть даже более-менее точный размер исходников Windows на 01.2020 - порядка 581Gb в исходниках. Это плюс-минус 10 млрд. строк кода. Писать большую часть на C++ - это уже подвиг. Хотя Сергей вот считает, что на C++ не пишут Enterprise приложения. Зато пишут миллиарды строк кода операционной системы.

    • @igorseledtsov7345
      @igorseledtsov7345 3 роки тому +1

      @@alexanderbelov6892 как это не известен не раз утекал полный код.. дапже мне попадался..
      с++ я там не видел.. писать на нём кернель это безумие. да и невозможно даже теоретически...
      а прикладные програмы конечно могут быть хоть на визуал басике...
      да и на си-шарпе могут.
      тут вопрос что считать операционкоя.. я то про кернель... вы видимо трактуете это малость пошире

  • @vDungeon
    @vDungeon 3 роки тому +60

    Столько булшита про С++ я слышу только когда собеседую джуно-мидлов. «С быстрее С++ потому что в С++ есть ООП» - это что значит? Время компиляции? Время исполнения функции? Вы сами то понимаете что говорите?

    • @СергейПресняков-о4р
      @СергейПресняков-о4р 3 роки тому +9

      ООП подразумевает большее потребление памяти, по сравнению с таким же кодом в процедурном стиле

    • @yuriy333
      @yuriy333 3 роки тому +8

      Если вас спросят, какая машина быстрее - вы подумаете о том, какую машину быстрее сделать или какая машина быстрее ездит? Думаю и здесь так же - большинство не подумают про время компиляции, а про время исполнения. Или разработки. Только если вы не компилируете _все_ части программы каждый раз и программа на миллионы строчек.

    • @purplep3466
      @purplep3466 3 роки тому +4

      вот я тоже че-то не понял. Если C++ подразумевает zero-cost abstractions, то почему он должен быть прям медленнее

    • @PTolkachev
      @PTolkachev 3 роки тому +2

      @@СергейПресняков-о4р и больше сгенерированного машинного кода при использовании ООП.

    • @sorrynomorenickname
      @sorrynomorenickname 3 роки тому +1

      @@PTolkachev Какого, виртуальных таблиц с rtti, да скрытый указатель?

  • @99Alexandr99
    @99Alexandr99 Рік тому +1

    Расскажите на каких компьютерах сейчас можно работать?А то от всего глаза болят.Должно же что-то быть для продолжительной работы!

  • @andreynaralchuk4382
    @andreynaralchuk4382 2 роки тому +5

    Спасибо, интересно, я сам кодер на с/с++, обажаю язык, хотя пишу 60-70% на нем и 30% на Ява. Избыточный функционал дает такие большие возможности, расширение построения архитектуры программы.

    • @interesting4899
      @interesting4899 2 роки тому

      А что вы пишите на C++ и на C?

    • @andreynaralchuk4382
      @andreynaralchuk4382 2 роки тому

      @@interesting4899 Ну много чего, разные перегонки данных, интеграционные системы, сервисы и т д. Для линукса давно не писал. на виндовс все.

    • @andreynaralchuk4382
      @andreynaralchuk4382 2 роки тому

      @Dima Kiprich Не могу сказать

    • @botsynth
      @botsynth Рік тому

      @@andreynaralchuk4382 скажи пожалуйста, паттерны ты когда изучил? сложно было?

    • @andreynaralchuk4382
      @andreynaralchuk4382 Рік тому

      @@botsynth Паттерны в теории знать хорошо, но мы живем в реальном мире, на практике они используются редко (в моей деятельности), но когда нужны тогда нужны.
      Использовал Singleton, Factory, Proxy. Другие на практике не использовал.
      Наверное я новичек. Но драйверы я не пишу, и ядро для Unreal Engine тоже ;)
      Заморачиваться лучше стоить реальными задачами, а не тратить время на теорию.
      Она забывается быстро. Особенно если не используется в дальнейшем.

  • @savaruso
    @savaruso 2 роки тому

    не пинайте сильно ногами, я вообще не программер, но как то заинтересовала эта тема. Подскажите, а насколько сложно написать простенький терминал для торговли? Самый простой, просто свечи, несколько инструментов рисовалки и возможность размещать ордера, подсоединение к бирже по API. Почему задался таким вопросом. Все терминалы под Винду и единицы под МакОс. Под Линукс нет ничего (бесплатного). А я сижу на линуксе. Стоит ли вообще затеваться с этим делом (начинать осваивать программирование)? Спасибо.

  • @unseewr1811
    @unseewr1811 2 роки тому +22

    Как забавно наблюдать букву Z на ноуте в сегодняшних реалиях

    • @БоднарОлександр-г8к
      @БоднарОлександр-г8к 2 роки тому +2

      Хотя он вроде украинец

    • @pro100chell
      @pro100chell 2 роки тому +3

      Ага, а я уже подумал что он из этих...

    • @dimahrytskiv5970
      @dimahrytskiv5970 2 роки тому +13

      @@БоднарОлександр-г8к Ноутбук Украинец? Ладно шучу. Это HP Zbook, классный ноут и ничего общего с заблудившимися мудаками не имеет.

    • @AlexEl327
      @AlexEl327 Рік тому

      А он и не hoхол...

    • @ksusha3010
      @ksusha3010 Рік тому

      @@AlexEl327 а кто он? набутылка?

  • @Alexander-mj3jk
    @Alexander-mj3jk 3 роки тому +2

    что за цикл until? В жаве тоже есть while и есть do-while. Лучше бы вспомнили триграфы. И кстати, язык D есть. Говорят - неплохой. Но Rust все равно лучше.

  • @НикИванов-ф2к
    @НикИванов-ф2к Рік тому +6

    Благодарю за толковый ролик. Могли бы вы еще ролик создать с темой: стоит ли "дергаться" старикам 50+? К этому возрасту существующая работа надоедает, как горькая редька и хочется хотя бы подработки в другой сфере. Могут ли хоть на что-то рассчитывать старики? Или их удел - дворники, ночные сторожа либо охранники в пятерочке?

    • @ck0p0ympy
      @ck0p0ympy Рік тому

      Думаю данный вопрос решать нужно каждому для себя, если есть силы/возможность/желание можно освоить, другой вопрос это быть "джуном" в 50+ лет когда коллеги будут в 2-2.5 раз моложе.

    • @НикИванов-ф2к
      @НикИванов-ф2к Рік тому

      мдя, грубовато. Но - ладно. Идти вперед имеет смысл, если будет ожидаться какое-то вознаграждение.@@pushpushok

  • @AKWoland
    @AKWoland Рік тому

    По поводу "написание энтерпрайз-приложения займет в 10 раз больше времени, чем на Шарпе или Джаве": С++ - это только язык, все зависит от используемых библиотек и фреймворков. Имею опыт написания одного модуля (правда, с довольно витиеватой и объемной логикой) сложной энтерпрайз-системы на С++, этот язык был выбран ибо этот модуль должен был без существенных доработок собираться под Виндовз, Линукс и Андроид. Использовались фреймворки Qt5 и Boost, разработка заняла не намного больше времени (примерно плюс 20-30%) относительно разработки аналогичного приложения на C# (основной язык системы, частью которой являлся модуль), ну и пришлось немного побороться с некоторыми сайд-эффектами от отсутствия управления памятью. Резюмируя скажу, что да, если не стоит специфичных задач, то С++ для написания UI-приложений энтерпрайз-уровня - не лучший выбор, однако, это не значит, что его так уж сложно использовать с такой целью, дополнительная сложность есть, но она не в 10 раз выше, чем на других более популярных языках,

  • @ДмитрийСтарушко-в5ф

    Привязывать говнокод к конкретному ЯП... ну такое себе, говнокод больше относится к программисту.

  • @argabid5897
    @argabid5897 Рік тому +1

    подскажите где найти курс по языку "A" ? мне нужно по быстренькому написать REST API под него

  • @webfaba
    @webfaba 2 роки тому +6

    Когда изучал С++ был реально удивлен, когда узнал, что и сам С++ написан на С++. Этим не может похвастаться ни один другой язык программирования. :-)

    • @dimahrytskiv5970
      @dimahrytskiv5970 2 роки тому

      From some point C is written in C.
      From some point Linux is developed in Linux.
      From some point any language could be written on itself.

    • @m5xgaming471
      @m5xgaming471 2 роки тому

      Python написанный на Python: PyPy
      Python написанный на C: CPython
      И таких куча вариаций

    • @arbo_leet
      @arbo_leet Рік тому

      а си написан на C++

    • @НиколайНиколаев-м1х
      @НиколайНиколаев-м1х Рік тому

      @@arbo_leet а С написан на PDP-11

    • @НиколайНиколаев-м1х
      @НиколайНиколаев-м1х Рік тому

      @@arbo_leet а С написан на PDP-11

  • @roman6572
    @roman6572 2 роки тому +1

    Сергей ну что вы говорите.... Есть api операционки, и больше чем этот api позволяет сделать нельзя. Поэтому залезть в любую область памяти и большую часть вами названную сделать не получится.

  • @karabasbarabas3391
    @karabasbarabas3391 3 роки тому +3

    Что пишут на С++? … -Java… все что угодно на свете - это Java - подумал Сергей;)

  • @mybox6177
    @mybox6177 10 місяців тому +1

    Пойду вирусов накатаю 😂😂😂

  • @targetrs1053
    @targetrs1053 2 роки тому +16

    Первое не унылое видео про програмирование увиденное мной в принципе! Всё по делу без воды, очень интересно, спасибо.

  • @Злойлысыйдядька

    Я думаю, что для людей, которые C++ в своей работе постоянно не используют (вернее вообще не использует), не то чтобы прям супер-интересно что пишут на языке программирования C++, НО сам по себе ролик интересный. Правда в нём, тема так и не была раскрыта. Чисто для себя понял, что C++ используется для написания операционных систем и написания компьютерных игр. А в основном автор рассказывал об особенностях самого языка, что в принципе тоже познавательно.

  • @asg5511
    @asg5511 3 роки тому +2

    Одна из моих любимых рубрик! Лайк до просмотра.

  • @shempen3719
    @shempen3719 Рік тому +1

    Где то слышал, что мак ос больше написана на object pascal ? Так ли это не знаю, Но мне проще написать программу с начало на object pascal. Потом перевести всё в си++. Знаю из врат, Но реально паскаль более упорядочен, и программу писать намного легче. Конечно после паскаля Go для меня это дауншифтинг... Пробывал и go и С++ остановился на Pascal. Конечно железки проще на си писать чем на паскале... Но большую часть времени это Lazarus, кросс платформа для разных осей...

  • @usergnusmas6879
    @usergnusmas6879 2 роки тому +3

    Until в c++ небыло и нет. Никогда не понимал людей использующих венгерскую нотации. Операционные системы, ныне существующие, компиляторы, интерприьаторы, СУБД, написаны на си, а не с++.

  • @brezhnyevkirill
    @brezhnyevkirill 2 роки тому +1

    нет например, reflection, который мне иногда так нужен и это очень печально. Например для сериализации и десериализации в С++ нужно писать функцию для обхода всех объектов в ручную! А вот в Python reflection есть, и сериализация или трансформация в JSON занимает одну строчку кода. Но, тем не менее С++ - это мой фаворит, особенно, если умело использовать его со знанием С/glib/stl.

  • @vitrychkov
    @vitrychkov 2 роки тому +22

    То что в языке С++ нужно следить за выделением и освобождением ресурсов - это правда, но я не соглашусь с тем, что в современном С++ это нужно делась прямо явным образом во всех местах программы и уделять этому особое внимание. Для языка Си это наверно более актуально, а в С++ это автоматизируется за счёт конструкторов/деструкторов класса, динамических контейнеров, умных указателей, и других возможностей. Т.е. операторы new и delete всё реже используются в коде таким вот явным образом.

    • @IceFire353
      @IceFire353 2 роки тому +1

      auto ptr = make_shared();
      Как-то так. А код с new/delete заворачивается на ревью сразу.

  • @НикИванов-ф2к
    @НикИванов-ф2к 2 роки тому

    Вот я - занимаюсь работами с физикой и электротехникой. Требуется создавать программы (с управлением от компьютера) для управления теми или иными физическими приборами. Что посоветуете?

    • @mslq
      @mslq Рік тому

      Python

  • @imupowqk
    @imupowqk 3 роки тому +65

    Хреново ты подготовился к выпуску, дядя. Ты просто вводишь людей в заблуждение, а твои воззрения сильно устарели.
    6:12 Какой еще until в C++?!
    6:36 Перегрузка оператора точка?! O'RLY?
    7:54 Наоборот, венгерская нотация как раз и была придумана для повышения читаемости. Т.к. C/C++ это язык со строгой типизацией, а на то время, компиляторы обладали очень слабым статическим анализом, и чтобы избежать ошибок при использовании типов, эта нотация позволяла хотя бы визуально отслеживать, что как используется. Это сейчас есть интерактивные супер-удобные IDE с компиляцией прямо на лету, которые все ошибки подсвечивают, а тогда это был просто текстовый редактор и что пропустил компилятор (а пропускал он очень много), то ты потом часами отлавливал в отладчике.
    9:55 Все не настолько печально - мы же имеем дело с объектами, а значит с инкапсуляцией. Как минимум, можно полагаться на области видимости и смарт-поинтеры, а также есть техники с подсчетом ссылок.
    10:04 Здесь начинается полная чушь. Если имеются в виду современные операционные системы (Windows, Linux, macOS), то C++ позволяет сделать ровно то, что ему позволяет операционная система. Это просто способ записи алгоритмов, а не какая-то супер сила, которая позволяет обойти ОС и защиту процессора. Те же штуки с памятью можно проделывать и в C# например (да, есть там прямой доступ к памяти - читайте Рихтера) потому что есть API и есть поддержка среды исполнения. Все отличие от C++ при этом - это просто нельзя сделать случайно, но можно если действительно надо.
    10:50 При наличии фреймворков и библиотек, писать на С+ не сложнее чем на других языках. На С++/Qt например, оно вообще от C#/.NET мало отличается.
    11:20 Оценка сильно завышена. Да, оно сложнее, но не в 10 раз. При наличии опыта с определенной технологией, продуктивность например на Qt/Qml будет сравнима с тем же C#/WPF. При этом ограничений будет сильно меньше, а производительность лучше.
    15:55 Фишка в том, что ВЕСЬ C++ учить и не надо. Достаточно знать в целом, что есть что и что пришло в язык в определенном стандарте, а детально изучать по необходимости. Т.к. не бывает проектов, в которых используется АБСОЛЮТНО ВСЕ из C++.

    • @sergey-chigarev
      @sergey-chigarev 2 роки тому +8

      Тоже прифигел с until. Чувак вообще не в теме, чисто начитался интернетов без понимания. Ага, на С++ он программировал.
      Очевидно рекламируемые курсы ровно такие де

    • @metrstiln1159
      @metrstiln1159 2 роки тому

      А то c++ гораздо сложнее других популярных языков, к примеру Java, это правда?

    • @Евгений-к1д8и
      @Евгений-к1д8и 2 роки тому

      @@metrstiln1159 учи Си - не помешает. А потом можно более сложный С++, если будет желание. Я не назову себя большим профессионалом, но Си думаю знаю не плохо, по сравнению с С++. А по практическому применению, ну я например писал на Си свои дипломные писал и еще cgi-скрипты для своего сервера.

  • @amid6229
    @amid6229 Рік тому

    В некоторых вузах до сих пор одной из работ для допуска к зачету, является написание простенькой программы на ассемблере.
    И студентам на неё хватает от одного вечера до месяца.
    Да и программа занимает примерно от 100 до 500 строк, из которых 20-30 одинаковые (константы, указатели).
    Шикарный язык, для изучения устройства процессора, а так же для понимания что любые данные, независимо от типа это про набор байтов, ибо немного поигравшись, можно написать программу, которая сама себя переписывает!
    Ну или при ошибке можно записать данные в область видеопамяти или ещё куда и получить весёлые артефакты.

    • @danielluko7635
      @danielluko7635 Рік тому

      Про байты я узнал в самом начале изучения C#, а вот про повторение кода - неужели там нету функций?

  • @funnychannel1888
    @funnychannel1888 3 роки тому +3

    Судя по вашей логике. Да он нам и ***** не нужен ваш c++

  • @nonameX1
    @nonameX1 Рік тому

    писал на многих языках, C++ как качественный multitool, но иногда тяжело читаемый (хотя зависит от качества программиста), хотя новые стандарты вносят свои коррективы. в случае когда нужен performance (редкие ситуации) я беру С и иногда поглядываю что там у С++ нового, а нового из boost в стандарт много чего добавляют, судя по всему, С++ активно развивается и начинает выглядеть всё более привлекательным по сравнению с другими языками, иногда подумываю обратно к нему вернуться уже 7 лет на нём продуктового ничего не писал )

  • @Mapdyk
    @Mapdyk 3 роки тому +10

    Всегда оставляю фигурную скобку на строке, это очень удобно в написании, но иногда надо закомментить все условие, и тогда приходится ее переносить, чтобы не искать и не комментить закрывающую. Мне кажется, это не очень большая проблема :)

  • @rdacomp
    @rdacomp Рік тому +1

    На 9:57 не совсем правда. А как же COM ATL и так называемые умные классы и типы? Не нужно следить за всеми объектами. При уходе из области видимости память освобождается в простых случаях. Достаточно переопределить деструктор и конструктор класса определенным образом. Посмотрите к примеру реализацию шаблона CAtlArray и в частности его деструктор. А коллектор реализовать для объектов COM совсем просто. Только разница в том что выполнение коды не останавливается при очистке объектов или освобождении памяти. И реализация поколений может быть своя наиболее эффективная даже чем в JAVA. Изучите шаблоны и ATL на этом сделано всё нутро Windows. Технология пришла из Linux там называется Cobra.

  • @lonelydance
    @lonelydance 3 роки тому +5

    Сергей, сделайте видео про Solidity пожалуйста :)

    • @johnsnow24
      @johnsnow24 2 роки тому +1

      Не проще от профильных каналов посмотреть? Что он тебе расскажет, как много смартконтрактов он написал?)

  • @Ведунец
    @Ведунец Рік тому

    Где-то в 19м году подучил с++ пару дней и теперь любой язык интуитивно понятен, уже в 22м пишу ботов для игр и программы для оптимизации любых игр(даже танков запустил на старом компе сделав какие-то 15 строчек)

  • @ShchoTacke
    @ShchoTacke 2 роки тому +4

    Ноут Ваш в 2022 крипово выглядит(((((((

  • @macmyem9527
    @macmyem9527 2 роки тому +1

    Нет, серьезно.
    Смотрю ролик с тем как Сергей что-то рассказывает интересное и как-то настраиваюсь на работу, а дальше переключаюсь на музыку)

  • @woodlandfantomas2044
    @woodlandfantomas2044 3 роки тому +7

    Хотите стать классным программистом, учитесь на C, параллельно Cpp. Потом Java, C#, тем более Python станут доступными очень быстро. По поводу уборки мусора. В C# можно очистить ресурсы в ручную, но уборщик сделает это быстрее (проверено). Современный С++., компилятор ++20 делает исходники, которые быстрее чистого С. При программировании микроконтроллеров все больше переходят с С на С++. Поэтому С++ и С будут востребованы еще долгое время. Тесты в Google обязательно включают С++. И центральное место в них управление памятью. Windows написан на C и С++. Последние версии Framework на C#.

    • @nikitabelov1478
      @nikitabelov1478 3 роки тому +4

      Нет, учите технологию, которой планируете пользоваться. Вот и все. Никаких С потом CPP потом Java. Такой путь займет ооочень много времени.

    • @woodlandfantomas2044
      @woodlandfantomas2044 3 роки тому

      @@nikitabelov1478 Знаю C, знаю СPP, знаю C#, знаю Java - кому как. Но сейчас учу студентов в Калифорнии и Европе. 1 курс С, C++. Там, кто на 1 курсе не прошел C и С++ выбирают смежные специальности. Например в Австрии на зачете тебе дают пустой листок и ты должен написать код на С не пользуясь компьютером. Кроме того Алгоритмы и стуктуры данных, формальные грамматики и языки, дискретная математика и т.д. Например в Гугл считают, что если ты овладел C, то овладеешь и go. Там тест C, C++ обязательный!

    • @woodlandfantomas2044
      @woodlandfantomas2044 3 роки тому

      Не сдал, выгонят сразу.

    • @nikitabelov1478
      @nikitabelov1478 3 роки тому +2

      @@woodlandfantomas2044 Ну да, все же сразу в Гугл пойдут работать и обязательно туда, где требуется C/C++, даже если они до этого программировали на Java.
      Ты-то знаешь, но ты не в начале своего пути, а человек с опытом уже.

    • @woodlandfantomas2044
      @woodlandfantomas2044 3 роки тому

      @@nikitabelov1478 первый тест С/ C++ алгоритмы и структуры данных. Я говорю про то, что изучают на первых курсах университетов программисты.

  • @demitri_t
    @demitri_t 11 місяців тому

    Что за until в C++, можно поподробнее? :)

  • @kardanium
    @kardanium Рік тому +4

    С++ - хороший язык, просто нужно знать, как его готовить. Когда я создаю новый класс, я в первую очередь продумываю, как он будет занимать память и как освобождать. Потом уже его наполняю функциональным содержимым. Так же, язык очень любит, когда проект нормально структурирован, каждая сущность является самостоятельной, а проекте чётко распланирована последовательность всех действий.
    Много раз встречал проекты, где одна структура заполняется по частям в различных частях программы что в итоге выливается в то, что правка кода в одном месте ломает функционал в другом. Если такая ситуация происходит при разработке, значит что-то не так со структурой проекта и она должна быть пересмотрена.

    • @ATtiny13a-PU
      @ATtiny13a-PU Рік тому

      Ну-ну, пока ты пересматриваешь структуру проекта, уйдёт много часов чтобы заново всё отрефакторить. Если какая-то часть кода сложно модифицируется, но работает без багов и прочих проблем, то нужно не менять существующее, а надстраивать новое, раз уж структура программы по вашему неудачная. А вот потом уже как будут силы со временем, можно будет переделать тот кусок хардкода, когда это будет целесообразно.

    • @ВячеславКокорев-с8п
      @ВячеславКокорев-с8п Рік тому

      Как писал Страуструп - "Появилось понятие, создай для него класс"

    • @princessmary5556
      @princessmary5556 Рік тому

      Звучит как прохладная история человека, который никогда не нюхал пороху. Я вот вообще не думаю об управлении памятью. Нафига??? delete используется только по праздникам, раз в пятилетку. Хороший проект - это проект, который вообще не нужно никак специально структуировать. А напротив, можно говнокодить по принципу "тяп ляп" и в продакшен.

  • @kolek08rus
    @kolek08rus Рік тому

    Если его не удастся выучить полностью, получится ли на нём работать(трудоустроиться) ?

  • @Alex11Fox
    @Alex11Fox 3 роки тому +8

    Не знаешь С++, не программист!

    • @СергейКондратенко-о9ц
      @СергейКондратенко-о9ц 3 роки тому +2

      не, не знаешь ассемблер - не программист!

    • @max_mgtow
      @max_mgtow 3 роки тому +2

      Не знаешь машинных кодов - не программист)

    • @macaronivirus5913
      @macaronivirus5913 3 роки тому +2

      Не знаешь что такое [RS, T, D] Flip Flop, EEPROM, сдвиговый регистр, прерывания? - не программист

    • @macaronivirus5913
      @macaronivirus5913 3 роки тому +4

      Не знаешь что такое уровень валентной зоны, постоянная планка, арсенид галлия, квантовая оптика, вектор обратной решетки, собственная проводимость, экситонные спектры, p-n переход - не программист

    • @ДимонДжокер-ы1е
      @ДимонДжокер-ы1е 2 роки тому

      @@macaronivirus5913 А это нужно знать?Вот в чем вопрос)

  • @user-kp4xy7iu9e
    @user-kp4xy7iu9e 2 роки тому +1

    Я конечно понимаю, что вы скорее блогер, чем разработчик, но может не стоит на столько вводить в заблуждение. Доступа к регистрам в с++ нет(без ассемблерных вставок). Доступ к памяти разных процессов разруливается на уровне железа(у процессора есть специальный модуль), конечно есть атаки типа мелдауна или спектра, но их можно реализовать даже на js.

  • @sarvar1417
    @sarvar1417 3 роки тому +4

    Спасибо за ваш контент он сильно помогает

  • @БогомолФартовый
    @БогомолФартовый 3 роки тому +1

    То есть на курсе по UE научат с++ с нуля и для использования в движке?

  • @progressive_agriculture
    @progressive_agriculture 3 роки тому +3

    На С++ писать сложнее чем на питоне раза в 2, а не в 10. Просто, когда выделяешь память, тут же нужно прописывать ее высвобождение. Да и изучить минимально необходимое количество синтаксиса можно, а более сложные конструкции осваивать позже. Очень зависит от того, как подается материал.

    • @MrLaSerj
      @MrLaSerj 2 роки тому +3

      в C++11 уже давно smart pointer есть, он сам осовобождает.

    • @progressive_agriculture
      @progressive_agriculture 2 роки тому +1

      @@MrLaSerj Если что-то можешь сделать сам - делай. Придется проект на предыдущих версиях делать - будешь долго удивляться потери памяти. Поддерживать приходится проекты и 10 и 20 летней давности. Тем более на встраиваемых микроконтроллерах. На них нового компилятора может и не быть. Как и лишней памяти. Как минимум, это нужно уметь. А для того - практиковаться.

  • @RepByK
    @RepByK 3 роки тому +1

    Видео неплохое, но все же очень поверхностное. Например, "запустил код, а компьютер БУМ" у меня ни разу не возникало. Память это вообще вечная мантра тех, кто С++ толком не связывался. Весь stl написан с учетом RAII, boost, по сути, тоже. Если откровенно не говнокодить - возможность потерять память ничтожно мала.

    • @z140140
      @z140140 3 роки тому

      ну да конечно, баги в плюсах сами себя ловят

  • @guxershmeg
    @guxershmeg 3 роки тому +3

    C++ намного более защищенный язык чем С, там можно понаделать ограничений как защита от дурака. В то же время я не встречал C++ проектов, которые были бы написаны канонически по книжкам и были легко читаемы. Код на С намного проще переваривается, кое-где его даже и получается меньше, ну да есть большие шансы выстрелить в ногу, но C код можно хотя бы поддерживать другому человеку, а не сразу выбрасывать и переписывать. Боб Мартин сказал, что проблема С была в бесконтрольном использовании указателей на функции, поэтому были сделаны вот эти классы с виртуальными вызовами. Но делать интерфейс с одной единственной виртуальной функцией не то ли самое, как просто передать указатель на функцию? Понимаю их любовь к C++ конструкциям и к библиотеке boost, это люди которым нравится все красивое, дорогие спортивные автомобили, яхты, меткие и емкие выражения, жесткие структуры, которые другой програмист недоучка не сможет не только адаптировать под себя, но и даже понять, авторитарное управление проектом. По-моему C++ в отличие от C позволяет очень долго поддерживать плохую архитектуру, вставляя костыли. Это и хорошо и плохо. С одной стороны проект как бы развивается, с другой он мог бы быть более понятным, на C сложные конструкции невозможно поддерживать уже на первых этапах и от них приходится отказываться. Еще один минус - в C++ как например лямбда, STL или исключение транслируется в ассемблер? Как это все писать под микроконтроллер, если ты не контролируешь выход?

    • @0imax
      @0imax 3 роки тому +1

      Не надо писать под контроллеры с исключениями и STL)) Но если очень хочется, то выход ассемблера всегда можно посмотреть и оценить, потянет по перфомансу или всё же лучше написать в стиле Си.

  • @mike1pmov
    @mike1pmov Рік тому

    Что за язык А? Разве язык B не появился как упрощенная версия BCPL?

  • @NeGaT1V1
    @NeGaT1V1 3 роки тому +4

    Стрим будет?

  • @bonefort1437
    @bonefort1437 Рік тому +1

    Я не программировал на C++, но программировал на СИ, и на самом деле, слушая видео, я понимаю, что основные "крутые возможности" C++ - свободно себя чувствуют на СИ, по типу например, полного контроля памяти, определение того, к чему она принадлежит, макросы, это всё есть в СИ

    • @linuxoidovich
      @linuxoidovich Рік тому

      А классы? А модули?

    • @bonefort1437
      @bonefort1437 Рік тому

      @@linuxoidovich Я говорю о тех вещах, которые сказаны в видео, а модули... ты серьёзно?) Какой язык программирования обходится без модулей?)

    • @linuxoidovich
      @linuxoidovich Рік тому

      @@bonefort1437 Си. Там модулей нету.

    • @MetaJamm
      @MetaJamm Рік тому

      В видео же сказано что ++ это надстройка ООП над си, и всё.

  • @ВиталийНадолинский-ф9з

    Как специалист могу сказать что на плюсах пишут всьо, просто фсьооо, от калькулятора даже самого простого который только и умеет что складывать два числа и все, и вплоть до квантовой механики и принципа функционирования атомов, по этому учите плюсы детишки!

    • @alazarn7
      @alazarn7 Рік тому

      вопрос не в том, что на нем можно написать все, а за что тебе заплатят деньги

  • @aufchk
    @aufchk 3 роки тому +1

    Воу, давно не было видосов по плюсам, спасибки!