Size: a a a

Programming Offtop

2020 August 21

AN

Alexander Nozik in Programming Offtop
Ну и про "скорость" С++ могу много историй рассказать. Легенда об этой скорости берется из небольшого количества очень искусственных маленьких примеров и того, что народ просто профайлером пользоваться не умеет и вообще никогда не мерял эту самую скорость.
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Нет такого понятия, как быстрый ЯП, есть понятие оптимизации компилятора. Поэтому зависит все не столько от языка, сколько от того, кто пишет. На ассемблере можно написать супер-оптимизированную программу под железо, но людей, которые это могут сделать в природе мало. Людей, которые могут построить на этом большую кодовую базу за разумное время вообще нет. На С++ тоже можно делать очень низкоуровневые оптимизации, но людей, которые могут это сделать, не отстрелив конечности тоже очень немного. На питоне легко писать, не отстреливая себе ноги, но сделать, чтобы это работало быстро - очень сложно. По моим ощущениям, JIT-компиляторы, а конкретно JVM - это самый быстрый вариант для СРЕДНЕГО программиста. Они не дают доступа к потрохам, но достаточно умные, чтобы съедать неэффективный код и делать из него эффективный.
еще генеративное программирование есть, но оно требует уровня middle+ , точнее приличного уровня CS знаний, и нифига не вкатишься с hello world
оно как с нунчаками — мощно, гибко, но в начала только бьёшь себя по яйкам
источник

VS

Victor Shamparov in Programming Offtop
Alexander Nozik
Ну и про "скорость" С++ могу много историй рассказать. Легенда об этой скорости берется из небольшого количества очень искусственных маленьких примеров и того, что народ просто профайлером пользоваться не умеет и вообще никогда не мерял эту самую скорость.
Ну так профайлер и в C/C++ - мощное средство ускорения. Хотя для приложений с изменяющимся профилем нагрузки начинает играть уже его сущность AOT-компилируемого языка.
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
еще генеративное программирование есть, но оно требует уровня middle+ , точнее приличного уровня CS знаний, и нифига не вкатишься с hello world
оно как с нунчаками — мощно, гибко, но в начала только бьёшь себя по яйкам
Это уже вообще другая задача - обобщение алгоритмов. По безопасности тут опять же JVM лидирует. Перформанс - другое дело, тут уже как раз на JVM начинаются нюансы. Хотя тоже все можно сделать.
источник

AN

Alexander Nozik in Programming Offtop
Victor Shamparov
Ну так профайлер и в C/C++ - мощное средство ускорения. Хотя для приложений с изменяющимся профилем нагрузки начинает играть уже его сущность AOT-компилируемого языка.
Для того, чтобы уметь пользоваться профайлером на С/С++ уже надо иметь квалификацию.  В физике только недавно обнаружили эту возможность. Профилированием и оптимизацией занимаются специально обученные особо умные дяди и тети. И совершают много чудных открытий.
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Это уже вообще другая задача - обобщение алгоритмов. По безопасности тут опять же JVM лидирует. Перформанс - другое дело, тут уже как раз на JVM начинаются нюансы. Хотя тоже все можно сделать.
JVM пидирует, на 4К ОЗУ, в реалтайме, ну или в малом бизнесе которому жаба давит покупать VDS дороже 200 р/месяц
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
JVM пидирует, на 4К ОЗУ, в реалтайме, ну или в малом бизнесе которому жаба давит покупать VDS дороже 200 р/месяц
В риалтайме - сколько угодно, поищите лекцию Елизарова на эту тему. А на embedded... нафига вам там шаблоны?
источник

AE

Alexandr Emelyanov in Programming Offtop
Alexander Nozik
Ну и про "скорость" С++ могу много историй рассказать. Легенда об этой скорости берется из небольшого количества очень искусственных маленьких примеров и того, что народ просто профайлером пользоваться не умеет и вообще никогда не мерял эту самую скорость.
ну нативщики любят тыкать носом в микробенчи, где учитывается еще и запуск
источник

VS

Victor Shamparov in Programming Offtop
Alexander Nozik
Для того, чтобы уметь пользоваться профайлером на С/С++ уже надо иметь квалификацию.  В физике только недавно обнаружили эту возможность. Профилированием и оптимизацией занимаются специально обученные особо умные дяди и тети. И совершают много чудных открытий.
Смотря каким. В минимальном случае - подобрать данные для получения правильного профиля и сделать пару запусков: с -fprofile-generate и -fprofile-use. А так да, согласен, о такой возможности нужно хотя бы знать (а я, например, пока не попал в команду компилятора, так и не узнал).
источник

AN

Alexander Nozik in Programming Offtop
Alexandr Emelyanov
ну нативщики любят тыкать носом в микробенчи, где учитывается еще и запуск
Ну пусть тыкают. Я уже выше писал, что скорость - она не от языка зависит, а от задачи и от того, кто ее решает. Если надо консольную утилитку писать на 100 строк, берете питон и радуетесь
источник

AE

Alexandr Emelyanov in Programming Offtop
Alexander Nozik
Ну пусть тыкают. Я уже выше писал, что скорость - она не от языка зависит, а от задачи и от того, кто ее решает. Если надо консольную утилитку писать на 100 строк, берете питон и радуетесь
да я про то же. полный отрыв от реальности
источник

AN

Alexander Nozik in Programming Offtop
Тут опять же всегда вопрос. Вот меня напрягает таскать за собой 50 мб JVM для простеньких задач. А вы знаете сколько питона или ноды надо притащить, чтобы самые простые вещи сделать?
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Ну пусть тыкают. Я уже выше писал, что скорость - она не от языка зависит, а от задачи и от того, кто ее решает. Если надо консольную утилитку писать на 100 строк, берете питон и радуетесь
есть еще business value: `скорость написания/отладки`, и в большинстве случаев оно определяющее
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
есть еще business value: `скорость написания/отладки`, и в большинстве случаев оно определяющее
Ну так это тогда точно не натив (может разве что свифт на маке).
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Ну так это тогда точно не натив (может разве что свифт на маке).
Nim неплох, втч и для утилиток
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
Nim неплох, втч и для утилиток
Я про него слышал. Что, лучше раста?
источник

DP

Dmitry Ponyatov in Programming Offtop
Alexander Nozik
Я про него слышал. Что, лучше раста?
другой — отличная затычка ниши между Python и C++ , мутабельный, с GC (6 штук, есть вариант с таймаутами для игр, автор последнее время пытается впилить фишки управления памятью из Rust )
источник

AN

Alexander Nozik in Programming Offtop
Dmitry Ponyatov
другой — отличная затычка ниши между Python и C++ , мутабельный, с GC (6 штук, есть вариант с таймаутами для игр, автор последнее время пытается впилить фишки управления памятью из Rust )
Про GC не слышал. Ну почему бы нет, мы же пишем на TS /K-JS над JS, ним работает так же над С
источник

DP

Dmitry Ponyatov in Programming Offtop
источник

DS

Dmitry Sapronov in Programming Offtop
источник