Ищется язык
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.06.07 07:52
Оценка:
Казалось бы, языков программирования море. Как говорят некоторые, каждый год появляется и исчезает порядка двухсот языков. А как начнешь выбирать что-нибудь достойное, так кроме C++, Java, C# и еще нескольких функциональных (OCaml, Haskell) ничего и не видно (это я утрирую, конечно, но не сильно).

В общем, ищется не сильно мейнстримовый язык, который бы удовлетворял следующим требованиям:

Обязательные требования
* бесплатный, а еще лучше свободный. Не важно, под какой лицензией будет сам компилятор, важно, чтобы лицензии на run-time и основные стандартные библиотеки были под нормальными лицензиями (BSD, MIT, X, LGPL, Apache и пр.), допускающими использование в закрытых проектах;
* статически типизированный и компилируемый;
* безопасный. Т.е. либо работающий на какой-нибудь виртуальной машине, либо компилируемый в нативный код, но с тотальными проверками (в частности, указателей и индексов на валидность);
* со сборкой мусора;
* с поддержкой исключений (крайне желательно с поддержкой stack trace "из коробки");
* живой и более-менее стабильный. Т.е. язык, для которого переодически выходят релизы и вокруг которого есть живое сообщество;
* наличие готовых "родных" реализаций, как минимум, для Windows и какого-нибудь Linux/BSD. На крайний случай подойдет и поддержка Windows через Cygwin/MSYS.

Очень желательные требования
* объектно-ориентированный;
* быстрый.

Желательные требования
* оснащенность библиотеками.

В принципе, устраивают языки, работающие поверх JVM. Языки поверх .NET пока не предлагать

Интересуют ссылки на сайты языков и, если есть, собственные впечатления от их использования или знакомства с ними.

В качестве примеров того, какие языки могут заинтересовать: Dylan, E, Oberon, Modula-2, FreePascal, Seed7.

Заранее спасибо за помощь.

PS. Про Scala и Nemerle я знаю


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.