Я рассматриваю возможность разработки инструмента командной строки. Я хотел бы, чтобы язык реализации этого инструмента удовлетворял следующим критериям:Параллельный интерпретируемый язык для инструмента командной строки?
- Интерпретировано.
- Межплатформенная (по крайней мере, Windows, MacOS, Linux, BSD) и нейтральная архитектура (работает на x86, ARM, POWER и т. Д.)
- Широко развернуто (например, можно загрузить с помощью диспетчера пакетов в вышеуказанных системах).
- Предлагает параллелизм на основе потоков с истинным параллельным выполнением через несколько ядер - без блокировки глобального интерпретатора и т. Д.
- Модульная система, которая может загружать код пользователя - расширения для инструмента являются обязательным прецедентом.
- Хорошие механизмы абстракции (generics, polymorphism, lambdas и т. Д.)
- Мультипарадигма: нет экстремальных мнений относительно функционального программирования, модели актера и т. Д. Пользователям не нужно программировать языковых экспертов для написания расширений.
Наряду с указанными выше жестких требований, следующие важные хорошо к имущим:
- JIT.
- Статически типизированный, с типом вывода.
- Стандартная библиотека с высококачественными реализациями стандартных структур данных.
- Простой синтаксис, особенно для декларирования литературных данных.
- Относительно дружелюбный для новичков, для пользователей, которые написали расширения.
Я понимаю, что много спросить, и, вероятно, нет ни одного языка, который бы заставил меня все это. Что меня ближе?
Почему бы * интерпретировать ваши критерии? Технически любой язык может быть * интерпретирован *, поэтому он не является свойством языка. – Zulan
@ Zulan, я думаю, что acm означает, что перед выполнением не должно быть дополнительного явного этапа компиляции. Вероятно, это требование добавлено для упрощения поддержки настраиваемых пользовательских плагинов. – SergGr
@ Zulan. Я считаю, что я хочу, чтобы на языке был переводчик. Однако у SergGr все правильно, почему я хочу переводчика. И именно интерпретатор должен иметь различные свойства времени выполнения и т. Д. – acm