Альтернатива C++ в 2022 году

Если нужен компилируемый язык без сборки мусора

Настройки отображения темы Показывать по сообщений с сортировкой .
Выводить , отправленные .
Одна страница
Распечатать
4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

1
#1

Возник вопрос: а какой язык программирования может заменить C/C++ в наше время для небольших проектов? В C++ мне всё же сильно не нравится описывать классы дважды — в .h и .cpp файлах.
Что конкретно нужно:
1) компилируемый язык программирования
2) управление памятью вручную, отсутствие сборки мусора
3) более адекватная реализация модульности, чем в C++
4) возможность собирать проект статически, в один большой файл (как в Go) без дополнительных зависимостей.
Раньше для этой роли идеально подходил Object Pascal, но сейчас он воспринимается как что-то устаревшее. Пробовал поизучать Rust, но как-то он мне не понравился. Слышал про язык D, но там всё же есть управление памятью. И возник вопрос: какие ещё есть подходящие для этих целей языке?


Ребята, давайте жить спокойно!



4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

1
#2

Узнал о двух альтернативах. Первая — язык Odin, который включает в себя почти всё, что я хотел, но пока ещё очень «сырой» (и даже компилятора в репозиториях Debian нет, придётся собирать из исходников). Вторая — язык Nim (aka Nimrod), который, по сути, является транспилируемым в код на C/C++/JS. В отличие от Odinа, это более стабильный проект, но, как мне показалось после прочтения статьи на Хабре, несколько переусложнённый.


Ребята, давайте жить спокойно!



Aksion
Участник
Нет Всего сообщений: 840
Зарегистрирован: 14 янв. 2017 г., 02:40
Рейтинг пользователя: 12

0
4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

1
#4

Статья интересная, но внезапный переход от анализа показателей к памяти, производительности и энергоэффективности к

В таком случае, как выбрать самый лучший язык? Путем анализа тенденции использования тех или иных языков программирования.

вызвал у меня дичайший facepalm. Они бы ещё по уровням средней зарплаты стали мерить!
Порадовало, что PHP по всем параметрам обходит и Python, и Ruby, а по памяти — и JavaScript. Буду тыкать в это тех, кто считает, что сайты нужно на Python делать.


Ребята, давайте жить спокойно!



4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

0
#5

Сейчас, в 2024, пришёл к такому выводу: хоть Rust мне не нравится чисто эстетически, но он является единственной внятной альтернативой C++, если нужно обойтись без сборки памяти. Кроме того, постепенно понимаю плюсы его жёстких проверок при компиляции.


Ребята, давайте жить спокойно!



4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

0
. Редактировалось 1 раз, последний — #6

Нашёл ещё одну альтернативу: язык Hare. Позиционируется как системный язык программирования, заточенный под написание компиляторов и сетевого ПО с ручным управлением памятью и статической типизацией (как раз то, что я искал).
Глянул бегло примеры кода — сложилось впечатление, что кому-то пришло в голову скрестить Rust с серверным JavaScript (в основном, из-за того же механизма экспорта, что и в последнем). Но в целом синтаксис у него более легко читаемый и интуитивный, чем у Rust.
В общем, если он приживётся и доживёт до версии 1.x, буду рад!


Ребята, давайте жить спокойно!



4X_Pro
Создатель сайта
Всего сообщений: 4304
Зарегистрирован: 9 дек. 2015 г., 19:20
Рейтинг пользователя: 2259

0
#7

И ещё один очень низкоуровневый язык: Zig На нём написана среда выполнения bun (одна из новых альтернатив NodeJS). Если верить официальному сайту, "Hello world!" в нём компилируется в статический бинарник размером всего 9.8 Кб под Linux и 4 Кб под Windows.
Особенно понравилось наличие оператора test, позволяющего писать тесты с комментариями прямо в коде, и легкое переключение между отладочным и релизным режимом (в первом отлавливаются всякие переполнения, нарушения границ массивов и т.п., во втором это приводит к undefined behavior).


Ребята, давайте жить спокойно!



Одна страница
Распечатать

У вас нет прав для отправки сообщений в эту тему.

Задать вопрос

Здесь можно задать мне вопрос или спросить совета по любой теме, затронутой в блогах или на форуме. После того, как я отвечу, вопрос и ответ появятся в соответствующем разделе. Но не забываем, что я — сторонник slow life, поэтому каких-либо сроков ответов не обещаю. Самые интересные вопросы станут основой для новых тем на форуме или записей в блоге.
Сразу предупреждаю: глупости, провокации, троллинг и тому подобное летит прямо в /dev/null.