Почему на C++ еще пишут? Чем его заменят? | ШАД ЯНДЕКСА

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

Нужен ли С++ дата саентисту? Что думаете?

Мы на других платформах
Рекомендации по теме
Комментарии
Автор

Жду комментариев в стиле "нашелся тут диванный эксперт, который сам писать ниче не умеет" =). Такие комментарии тоже welcome. Но, пожалуйста, аргументируйте позицию

Fless
Автор

Ребята забыли видимо что кроме веб сайтов с корзинкой существуют еще Audio, video индустрия. Микроконтроллеры, ядра оси итп. Я даже не уверен что нажимая на бачок слива в унитазе, не запускается ли код C++

VitaliyNET
Автор

C++ заменят только новым стандартом C++, другого не дано

Вальдес-зй
Автор

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

FakePlv
Автор

Прально! Не пишите на плюсах — нам платить больше будут ;)

sergey-N
Автор

Желаю автору написать Cyberpunk 2077 и инженерный 3D софт на питоне

LetovNN
Автор

С++ как минимум активно используется в гейм деве (на пример тот же УЕ4 - а это сейчас топовый движок и как бы останавливаться на достигнутом он не собирается )

MegaMitrandir
Автор

Вся доказательная база сводится к "мне так брат сказал". На сколько авторитетен этот самый "брат", что его слова следует воспринимать как аксиому?

Андрей-шри
Автор

Без контекста это все: бла, бла, бла. Технологии подбираются под задачу. И не существует плохих и хороших решений, в глобальном смысле.

artcom_net
Автор

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

ДанилОмельяненко-чу
Автор

Весь ml на python. А библиотеки для python написаны на С и С++

komiagin
Автор

Почему именно Go? Почему допустим не RUST?имхо у второго куда больше перспектив чем у Go.Да сборщик мусора можно прикрутить к С\С++

lnv-lnv
Автор

Единственный аргумент в пользу го, который я услышал, это "быстрее писать". Я вот пробовал и таки скажу вам что ни чуть не быстрее.

epicslowpoke
Автор

Выбор языка зависит от решаемых задач в первую очередь. У плюсов есть свои области применения, но там где можно выбрать альтернативу не использовать плюсы, я выбираю именно эту альтернативу в своих проектах. Я начинал писать на плюсах больше 10 лет назад. С тех пор язык сильно изменился. Но его проблемой для меня всегда было то, что язык очень сильно раздут. Чтобы им овладеть, помимо постоянной практики, нужно изучать стандарты, книги с best practices, в которых предостерегают от использования половины фич языка, книги по использованию STL, книги по правильному использованию паттернов ООП в С++, нужно решать, использовать это ООП в принципе, потому что язык мульти-парадигмный, и вполне можно писать структурный код на нем, и тд и тп. Все это создавало вокруг языка целые культы, когда люди всю карьеру только и делали что изучали язык, вместо того чтобы писать эффективные решения конкретных задач бизнеса. Ну и стоит ли говорить, что когда речь заходит о производительности, то в первую очередь решают алгоритмы в большинстве случаев. Выбор ЯП - это не то же самое что выбор машины. Типа плюсы быстрее чем питон, выберу плюсы. Хороший программист напишет на питон гораздо более производительную программу, чем плохой на плюсах. И это я не говорю про то, что много питоновских модулей являются обертками над либами, написанными на плюсах или сях. Короче советую мыслить не категориями языков а категориями бизнес-задач и областей применения.

artemnazarenko
Автор

Очень широкая сфера высокоскоростной обработки данных в bigData, потоки в оптоволокне, цифровая обработка сигналов, а это все С и С++.

АлександрНевский-ед
Автор

С языком C++ всё не так просто из-за различных стандартов (С++98/C++03, C++11/C++14, C++17). Если первый и можно назвать гоночным болидом на ручном управлении, то последние двигаются в сторону современной Теслы (не знаю, насколько точно сравнение, не автолюбитель): быстрый динамичный автомобиль с очень интеллектуальной начинкой, в том числе и автопилотом.
Очень много пришло в язык и стандартную библиотеку с новыми стандартами:
* разные типы умных указателей (которые мы только прошли ;-) в начале 2000-х они были отдельно в Boost).
* лямбда-выражения (раньше тоже были отдельно в Boost)
* автоматическое выведение типов в некоторых ситуациях (у меня сейчас настольная книга --- "Эффективный и современный C++" - Скотт Мейерс. Автор советует использовать auto везде, где это возможно. За счет данной фичи мы совмещаем удобство использования динамически-типизированного языка, когда не надо заботиться о типе, с большей защищенностью статически-типизированного языка. Но это ещё не Haskell)
...
В той же книге, в начале, написано, что сам создатель Страуструп говорил об одном из новых стандартов следующее: «С++11 выглядит как новый язык программирования». Насколько я понял, стандарты двигаются в направлении повышения удобства, выразительности и безопасности кода при сохранении его скорости. Если всё так, то язык останется популярным в будущем не только из-за legacy кода.
Наверное один из больших недостатков С++, которая является следствием его направленности на общее, а не частности: отсутствие внутри стандартной библиотеки готовых инструментов для прикладных задач (например чтение XML файлов, в Java и Python есть)

PS. У Go вроде нет шаблонов.

ivanfinaev
Автор

Я тебе больше скажу, я досиз пор пишу на Ассемблере

ontixor
Автор

"А зачем нужен С++, когда есть Питон? Долго ли еще протянет такой сложный для написания кода язык? А чем заменить?"
Я вам отвечу - НИЧЕМ НЕ ЗАМЕНИТЬ! )))) Протянет дольше, чем Ваш Python написанный на Python написаный на Python и тд. вплоть до stackoverflow :-D Никому в серьезных задачах не нужен )
В enterprise задачах хорошо работает JavaEE или Spring Frameworks
В высокопроизводительных задачах С\С++ и куски на Assembler
web (front-end) - javascript\typescript и никуда особенно не деться ) Ну, ладно, можно еще использовать WebAssemblу )))
web (back-end) - это php если нужно написать быстро сайт средней сложности. Писать на нем более тяжелые и сложные вещи сильно попахивает спагетти кодом )
Скрипты на коленке можно пописать на Perl ) Причем на многих ОС он есть уже из коробки как говориться.
Скажите мне, нафига людям ваш python ? Что за паранойя и куча рекламы этой змеюки ))) Искусственно развели весь этот бред на тему ах как же классно мы сейчас выучим python и напишем все на свете ) А вот и нет! ))))

НикитаКравченко-яц
Автор

Дядя Стив писал в книжке одной: программируйте с помощью языка, а не на языке. А ещё что 50% приходится как правило на 5% кода, и такие места можно переписать на более производительном языке, но нужно проверять. Видео для домохозяек.

makvagabo
Автор

все языки уходят на кладбище а С++ которому еще с 90-х смерть обещают все еще в топ-5 ахах
кстати один из тех кто писал GO объяснял это тем что это нужно бизнесу хорошие программисты а на плюсах мало хороших и сложнее обучить.
лично для меня С и С++ идеальные языки, они не для каждого для них нужен особый склад ума
А все ваши языки с "оптимизациями" которыми не уступают плюсам это полный бред
и за таких как вы приходиться ждать по 30-40 секунд пока откроется простое приложение
А игры которые пишутся на С# и т.п. это вообще отдельная история от которой жестко бомбит
Короче говоря С++ язык не для всех но говорить что он плох и за new и delete это конечно так себе
завтра вы будите ныть и за строгой оптимизация
грустно наблюдать как инженер становится не понятно чем

kazikhangereykhanov