Альтернатива C++ в 2022 году
Если нужен компилируемый язык без сборки мусора
Возник вопрос: а какой язык программирования может заменить C/C++ в наше время для небольших проектов? В C++ мне всё же сильно не нравится описывать классы дважды — в .h и .cpp файлах.
Что конкретно нужно:
1) компилируемый язык программирования
2) управление памятью вручную, отсутствие сборки мусора
3) более адекватная реализация модульности, чем в C++
4) возможность собирать проект статически, в один большой файл (как в Go) без дополнительных зависимостей.
Раньше для этой роли идеально подходил Object Pascal, но сейчас он воспринимается как что-то устаревшее. Пробовал поизучать Rust, но как-то он мне не понравился. Слышал про язык D, но там всё же есть управление памятью. И возник вопрос: какие ещё есть подходящие для этих целей языке?
Ребята, давайте жить спокойно!
Узнал о двух альтернативах. Первая — язык Odin, который включает в себя почти всё, что я хотел, но пока ещё очень «сырой» (и даже компилятора в репозиториях Debian нет, придётся собирать из исходников). Вторая — язык Nim (aka Nimrod), который, по сути, является транспилируемым в код на C/C++/JS. В отличие от Odinа, это более стабильный проект, но, как мне показалось после прочтения статьи на Хабре, несколько переусложнённый.
Ребята, давайте жить спокойно!
Статья интересная, но внезапный переход от анализа показателей к памяти, производительности и энергоэффективности к
В таком случае, как выбрать самый лучший язык? Путем анализа тенденции использования тех или иных языков программирования.
вызвал у меня дичайший facepalm. Они бы ещё по уровням средней зарплаты стали мерить!
Порадовало, что PHP по всем параметрам обходит и Python, и Ruby, а по памяти — и JavaScript. Буду тыкать в это тех, кто считает, что сайты нужно на Python делать.
Ребята, давайте жить спокойно!
Сейчас, в 2024, пришёл к такому выводу: хоть Rust мне не нравится чисто эстетически, но он является единственной внятной альтернативой C++, если нужно обойтись без сборки памяти. Кроме того, постепенно понимаю плюсы его жёстких проверок при компиляции.
Ребята, давайте жить спокойно!
Нашёл ещё одну альтернативу: язык Hare. Позиционируется как системный язык программирования, заточенный под написание компиляторов и сетевого ПО с ручным управлением памятью и статической типизацией (как раз то, что я искал).
Глянул бегло примеры кода — сложилось впечатление, что кому-то пришло в голову скрестить Rust с серверным JavaScript (в основном, из-за того же механизма экспорта, что и в последнем). Но в целом синтаксис у него более легко читаемый и интуитивный, чем у Rust.
В общем, если он приживётся и доживёт до версии 1.x, буду рад!
Ребята, давайте жить спокойно!
И ещё один очень низкоуровневый язык: Zig На нём написана среда выполнения bun (одна из новых альтернатив NodeJS). Если верить официальному сайту, "Hello world!" в нём компилируется в статический бинарник размером всего 9.8 Кб под Linux и 4 Кб под Windows.
Особенно понравилось наличие оператора test, позволяющего писать тесты с комментариями прямо в коде, и легкое переключение между отладочным и релизным режимом (в первом отлавливаются всякие переполнения, нарушения границ массивов и т.п., во втором это приводит к undefined behavior).
Ребята, давайте жить спокойно!
У вас нет прав для отправки сообщений в эту тему.