Чел. как бы возвысился над всеми нами — говоря, что вашу Java и .Net, какими бы навороченными они ни были, C на плюсах вертел. Что, во первых, вы никогда не сделаете так же быстро и оптимально как на Языке Языков. Во-вторых, вся платформа сама написана на C++ — потому что у человечества выбора нет, когда нужно делать что-то серьезное. И это язык на века — даже через 200 лет все будет работать.
S>Коснулись и тех. моментов. S>Чел. как бы возвысился над всеми нами — говоря, что вашу Java и .Net, какими бы навороченными они ни были, C на плюсах вертел. Что, во первых, вы никогда не сделаете так же быстро и оптимально как на Языке Языков. Во-вторых, вся платформа сама на писана на C++ — потому что у человечества выбора нет, когда нужно делать что-то серьезное. И это язык на века — даже через 200 лет все будет работать.
Здравствуйте, gyraboo, Вы писали:
G>Тогда уж ассемблер — язык языков?
Суть — когда нужно написать что-то по настоящему серьезное — как то поисковик, фреймворк, быструю игру, браузер, ядро ОС, движок JS — у человечества просто нет выбора. И этот выбор в промышленности — не ассемблер.
Здравствуйте, Shmj, Вы писали:
G>>Тогда уж ассемблер — язык языков?
S>Суть — когда нужно написать что-то по настоящему серьезное — как то поисковик, фреймворк, быструю игру, браузер, ядро ОС, движок JS — у человечества просто нет выбора. И этот выбор в промышленности — не ассемблер.
Поисковик я бы на джаве писал. Понятное дело, что возможность Си работать с памятью — это нужная штука, но как быть с экосистемой и прочими аспектами, которые в той же Джаве прокачаны на порядок лучше (удобнее тесты, удобнее дебаг и отчеты об ошибках, наборы библиотек и фреймворков на порядок шире, компетентных разрабов на порядок больше), чем на Си. Все проекты на Си/С++, что я лично видел — это почти всегда была боль, даже для самих этих разрабов, по сравнению с Джавой. Но проблема в том, что Сишников не убедить в этом, они часто считают миры Джавы хуже чем это есть на самом деле.
К слову, я тоже использую Си, но для решения узкого круга задач, а не для написания крупных бизнесовых проектов, то есть я не хейтер Си.
Здравствуйте, gyraboo, Вы писали:
G>Поисковик я бы на джаве писал.
Для ентерпрайс — возможно. А вот для людей — даже если иначнешь на чем угодно — практика показывает, что быстро скатываешься в C++ от безвыходности. Вспоминайте пример FB, который изначально писался на PHP.
Здравствуйте, Shmj, Вы писали:
S>Чел. как бы возвысился над всеми нами — говоря, что вашу Java и .Net, какими бы навороченными они ни были, C на плюсах вертел. Что, во первых, вы никогда не сделаете так же быстро и оптимально как на Языке Языков. Во-вторых, вся платформа сама написана на C++ — потому что у человечества выбора нет, когда нужно делать что-то серьезное.
Оно как бы и совсем не всегда надо, "так быстро". И совсем не всегда на C++ получается "так быстро", а часто получается неожиданно медленно, потому, что программы на C++ имеют тенденцию много и часто аллоцировать по-мелочи память из кучи (и да, этого можно избежать, но это охренеть как трудоемко, и обычно этого не делают). И использование продуманной архитектуры и хороших (а, главное, уместных случаю) алгоритмов дает куда как больший прирост производительности, чем тщательное вылизывание кода, а у программистов на C++ голова настолько занята борьбой с самим языком, что уже и не до архитектуры и не до алгоритмов.
S>И это язык на века — даже через 200 лет все будет работать.
Ну да, ну да. Если, конечно, повезет, и очередной релиз компилятора опять не поломают до степени несовместимости со старым кодом.
Здравствуйте, Shmj, Вы писали:
G>>Поисковик я бы на джаве писал.
S>Для ентерпрайс — возможно. А вот для людей — даже если иначнешь на чем угодно — практика показывает, что быстро скатываешься в C++ от безвыходности. Вспоминайте пример FB, который изначально писался на PHP.
Т.е. они с пыха перешли на C++? Из огня да в полымя?
Я просто коммерческих Си++ проектов тоже насмотрелся, там ситуация даже хуже чем на Си. Может где-то и есть проекты на С++, где разрабы не страдают, но я таких не видел. Другой вопрос, что часто страдание не осознается (или принимается как должное положение вещей), особенно если разработчик не видел например мира Джавы, т.к. ему сравнить не с чем.
Здравствуйте, Shmj, Вы писали:
S>язык на века — даже через 200 лет все будет работать.
этот язык называется Си. С++ же это overbloated обсолетная хрень, в которой осталось полтора деда-землекопа, и те веслают говна мамонта за чашку риса. Эппл, например, уже забили на "язык языков", кленг даже и не думет двадцатые кресты поддерживать.
Здравствуйте, gyraboo, Вы писали:
G>Я просто коммерческих Си++ проектов тоже насмотрелся, там ситуация даже хуже чем на Си. Может где-то и есть проекты на С++, где разрабы не страдают, но я таких не видел. Другой вопрос, что часто страдание не осознается (или принимается как должное положение вещей), особенно если разработчик не видел например мира Джавы, т.к. ему сравнить не с чем.
И тем не менее — вся база — поисковики, фреймворки, браузеры, ядра ОС — написаны именно на языке языков. Просто потому что другого выбора у человечества действительно нет.
Rust не факт что взлетит. Вдруг через 5 лет скажут что ну его нафик. А С++ точно будет существовать.
Ролик не смотрел, но если там про игры, то писать игры с нуля сейчас — это маразм. Надо пользоваться движком и его инстурментарием. И становится пофиг какой там язык.
Анреал например C++ использует. А Юнити — C#
И поработав с обоими движками — понял, что вообще по барабану, что использовать. Если ты подошел к пределу производительности — значит дело уж точно не в используемом языке.
Здравствуйте, Homunculus, Вы писали:
H>Анреал например C++ использует. А Юнити — C# H>И поработав с обоими движками — понял, что вообще по барабану, что использовать. Если ты подошел к пределу производительности — значит дело уж точно не в используемом языке.
Но все движки написаны на C++. Чел. говорит так — если игра серьезная, вам придется купить исходники юнити и, цитирую, "замарать руки в C++".
Здравствуйте, Shmj, Вы писали:
S> если игра серьезная, вам придется купить исходники юнити и, цитирую, "замарать руки в C++".
Если игра серьезная — там совсем другие расклады. Иногда и свои движки пишут, как например в играх от студий Sony
Но мы же говорим о статистическом большинстве. Так вот 99% игроделов в исходники движка лезть не надо.
Здравствуйте, Homunculus, Вы писали:
H>Если игра серьезная — там совсем другие расклады. Иногда и свои движки пишут, как например в играх от студий Sony H>Но мы же говорим о статистическом большинстве. Так вот 99% игроделов в исходники движка лезть не надо.
Только проблема вот в чем — 99% денег получает 1% самых лучших. Они же и нанимают на работу и платят хорошие зарплаты. А у лучших — это C++.
Здравствуйте, Shmj, Вы писали:
S>Только проблема вот в чем — 99% денег получает 1% самых лучших.
ТОлько я проблему все еще не вижу. У лучших не "C++", а подходящий под задачу инструмент. Иногда это С++ — но не потому что С++, а потому что иногда лучше им.
И да, в серьезном игрострое ДО ФИГИЩА чего используется. Просто ОХРЕНЕТЬ как ДОФИГИЩА! И разработка тут даже далеко не основное. И даже в ней тулзовин вагон и малленькая тележка. А не просто сел в VisualStudio и сваял шедевр.
Здравствуйте, Shmj, Вы писали:
S>ядра ОС — написаны именно на языке языков
ядра ОС написаны на си, половина движков баз данных написана на си, как всегда ты живёшь в своём манямирке
Здравствуйте, Shmj, Вы писали:
S>Только проблема вот в чем — 99% денег получает 1% самых лучших. Они же и нанимают на работу и платят хорошие зарплаты. А у лучших — это C++.
Ну не обязательно 1%. Там может быть и 10%. А ещё есть такой факт. Остальные 90% образованы по большей частью неофитами, которые имеют чисто сиюминутный, поверхностный интерес. И не хотят особо повышать скилл. Что означает, что обскакать большинство из них — раз плюнуть. Надо только углубиться в вопрос. И вуаля! Ты уже не среди тех 90%, а среди 25% наилучших. И внезапно, денежки у тебя могут появиться.
В общем, не надо так стращать публику, Shmj.
Здравствуйте, Pzz, Вы писали:
Pzz>программы на C++ имеют тенденцию много и часто аллоцировать по-мелочи память из кучи
Шта?
Pzz>у программистов на C++ голова настолько занята борьбой с самим языком
Здравствуйте, Умака Кумакаки, Вы писали:
УК>Эппл, например, уже забили на "язык языков"
Так забили что сами на нём пишем, да!
УК> кленг даже и не думет двадцатые кресты поддерживать.
Ну свистешь жеж.
20й и даже 2b поддерживаются но пока ещё не полностью. https://clang.llvm.org/cxx_status.html#cxx20
Здравствуйте, Pzz, Вы писали:
Pzz>Оно как бы и совсем не всегда надо, "так быстро". И совсем не всегда на C++ получается "так быстро", а часто получается неожиданно медленно, потому, что программы на C++ имеют тенденцию много и часто аллоцировать по-мелочи память из кучи (и да, этого можно избежать, но это охренеть как трудоемко, и обычно этого не делают).
C++ вообще не про быстро, C++ про предсказуемо по времени исполнения и по тому что именно будет выполнено. Явное управление памятью, явные гарантии по вызову деструкторов дают тебе возможность сделать решение с предсказуемым поведением. И да, это нужно сильно не всегда, и если можно сделать что-то на языке с GC, это хорошая опция.