Какой язык может быть так же удобен как JavaScript/Ruby/Python но компилируемый и по скорости на уровне C++?

На Python производительность недостаточная.
На чём компилируемом для bare metal можно писать так же быстро и удобно? Rust, Nim, Haskell, OCaml? Не чужд ФП, не против строгой статической типизации. Все предложения интересны.
  • Вопрос задан
  • 884 просмотра
Решения вопроса 1
@xxxzsx Автор вопроса
  • Dart — компилируемый JavaScript без херни, которая в джаваскрипте всем не нравится, но AOT-компиляция очень далека от производительности плюсов
  • D — в стиле C++, стоит обратить внимание на новый режим betterC
  • Nim — в стиле Python, но я нашел удобный мне режим фронтенда C++-like со скобками https://forum.nim-lang.org/t/2811
  • Kotlin Native (написано что он не предназначен для полноценной разработки и генерирует неоптимизированные бинарники) — https://kotlinlang.org/docs/reference/native-overv...
  • Scala Native — кажется это что-то реально крутое, лучше чем новомодные расты https://scala-native.readthedocs.io/

Попробую все кроме котлина. Жалко что ни один из них не популярен.

Так же вот статья-сравнение других, более известных языков на примере реального кода: https://m.habr.com/ru/post/456638/
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
bingo347
@bingo347
Ткнуть в доку лучше готового к копипасте ответа
по скорости на уровне C++
дайте подумать... C++?
А вообще, Вы явно что-то делаете не так, если упираетесь в производительность языка на современном железе. Вот честно, даже на тормознутой 8 битной атмеге, что в ардуинах идет, при нормальном составлении алгоритмов разница между C и JS измеряется в наносекундах, при том что движки JS там как правило не очень навороченные, без кучи оптимизаций.
А вот еще интересный момент: если бездумно скопировать код из ответов одного из местных кураторов JS, обожающего алгоритмы с квадратичной сложностью, в бенчмарк под последнюю ноду, а в противовес ему поставить бенчмарк из алгоритма 1 в 1 переписанного на C, то нода неожиданно окажется быстрее, просто потому, что v8 лучше умеет в оптимизации чем -o3 компилятор из gcc.
Ну и если сравнивать все эти наносекунды вычислений с микросекундами чтения с NVMe SSD или вообще с миллисекундами работы с сетью - первые окажутся временем, которым можно принебречь.

А если по сабжу, берите Rust, универсальный язык с soundness типизацией и с автоматическим управлением памятью в compile-time на базе этой самой типизации, ну а главное с хорошо продуманным дизайном, что делает его по настоящему удобным, особенно в перспективе поддержки продукта более полугода разными людьми.
Ответ написан
@mayton2019
Ent. Software engineer. Oracle. SQL. BigData.
Технически, Rust достигает похожего перформанса по сравнению с С++ но более читабелен. В нем нет еще тяжелого засилья шаблонных процессоров и нет 19 способов инициализации переменной. Тоесть он еще девственно чист по сравнению с С++20.

Но Rust на сегодняшний день еще не production-ready. Тоесть если вы захотите найти под него драйверы к вашему любимому Ораклу или Db2 то вас может поджидать большая печаль. Или драйверы - сырые или их нет вообще.

Java технически приближается. Но я даю 80% от перформанса С++ если брать чистые алгоритмы в вакууме.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
java же?
байткод у нее во многих случаях приближается к с++ вплотную
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
wiz
@wiz
Ортодоксальный хаскелит
Из перечисленных четырёх наиболее интересен на замену питону Haskell.

Rust интересный, но слишком низкоуровневый. После питона вся эта мутотень с памятью будет грустна.
Nim и OCaml ничего особенно нового не привносят. Да, они компилируются и работают быстрее, но про скорость там уже ответили.
Хаскель в этом отношении позволяет писать лютый говнокод с динамическими типами в неважных местах и сосредоточиться только на важных. Можно слепить несколько прототипов, а потом выбрать один приличный и его зарефачить в нужную сторону. При этом доступ к указателям и прочим байтам остаётся, на случай если захочется ещё быстрее.
Ответ написан
@MaksSmag
Какой язык может быть так же удобен как JavaScript/Ruby/Python но компилируемый и по скорости на уровне C++?

Для меня самым удобным был C++. Строгий синтаксис - с JS у меня проблемы бывают, когда название какой либо функции неверно написал (например length вместо lenght), и компиляторам всё ровно, в C++ программа тупо не запустится. Много фирм его используют в качестве ЯП фреймворков (я использую Qt, очень доволен функционалом больше двух лет).
Да, допускаю, что у C++ могут быть ошибки выделения памяти, но внимательный и знающий программист (как минимум который не учится методом тыка) не будет косячить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы