Казалось бы, языков программирования море. Как говорят некоторые, каждый год появляется и исчезает порядка двухсот языков. А как начнешь выбирать что-нибудь достойное, так кроме 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++.
Здравствуйте, eao197, Вы писали:
E>Казалось бы, языков программирования море. Как говорят некоторые, каждый год появляется и исчезает порядка двухсот языков. А как начнешь выбирать что-нибудь достойное, так кроме C++, Java, C# и еще нескольких функциональных (OCaml, Haskell) ничего и не видно (это я утрирую, конечно, но не сильно).
E>В общем, ищется не сильно мейнстримовый язык, который бы удовлетворял следующим требованиям:
Roadsend PHP Compiler is an open source, native compiler for the PHP language. It compiles PHP source code to stand alone, native binaries which do not require an interpreter. Roadsend Compiler can build online web applications with Fast/CGI, offline web applications with an embedded web server (MicroServer), desktop GUI applications with PHP-GTK, and console applications. It is available on Linux, Windows, and FreeBSD.
Download the full prepackaged version of Roadsend Compiler for FREE now!
Roadsend PHP Compiler is now Open Source: a full license for current users now available online for free
Здравствуйте, no4, Вы писали:
E>>Казалось бы, языков программирования море. Как говорят некоторые, каждый год появляется и исчезает порядка двухсот языков. А как начнешь выбирать что-нибудь достойное, так кроме C++, Java, C# и еще нескольких функциональных (OCaml, Haskell) ничего и не видно (это я утрирую, конечно, но не сильно).
E>>В общем, ищется не сильно мейнстримовый язык, который бы удовлетворял следующим требованиям:
no4>http://smarteiffel.loria.fr/ ?
Я просто забыл его вписать, т.к. он в списке идет самым первым, до разных Dylan-ов и Oberon-ов
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>Казалось бы, языков программирования море. Как говорят некоторые, каждый год появляется и исчезает порядка двухсот языков. А как начнешь выбирать что-нибудь достойное, так кроме C++, Java, C# и еще нескольких функциональных (OCaml, Haskell) ничего и не видно (это я утрирую, конечно, но не сильно).
E>В общем, ищется не сильно мейнстримовый язык, который бы удовлетворял следующим требованиям:
Интереса ради... А чем собственно мейнстрим (Java, .NET) не устраивает? По указанным характеристикам Java-платформа подходит абсолютно, .NET по последнему обязательному требованию со своим Mono с натяжкой.
Здравствуйте, aka50, Вы писали:
E>>В общем, ищется не сильно мейнстримовый язык, который бы удовлетворял следующим требованиям:
A>BETA можешь посмотреть. http://www.daimi.au.dk/~beta/
Спасибо, мне почему-то казалось, что он приказал долго жить.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, rsn81, Вы писали:
R>Интереса ради... А чем собственно мейнстрим (Java, .NET) не устраивает? По указанным характеристикам Java-платформа подходит абсолютно, .NET по последнему обязательному требованию со своим Mono с натяжкой.
Как раз сама Java и не устраивает.
Ну и, опять же субъективно, не верится мне, что .NET будет реально кросс-платформенным, не в итересах MS это. Может произойти как с Eiffel-ем -- есть официальный EiffelStudio, а есть свободный SmartEiffel, которые уже между собой не сильно совместимы. С Mono так же может получиться -- нужно писать под Unix и Windows, таскай за собой Mono и туда и туда.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
A>>BETA можешь посмотреть. http://www.daimi.au.dk/~beta/ E>Спасибо, мне почему-то казалось, что он приказал долго жить.
Можно сказать, что он не очень живой, но зато стабильный
Просто интересный язык, scala много из него взяла.
Здравствуйте, rsn81, Вы писали:
E>>Как раз сама Java и не устраивает. R> Ну так скажите уже в конце-концов — чем?
Что-то мне подсказывает, что аргумент "Ну не нравится мне Java и никогда не нравилась!" не прокатит
Хочется более простого и стройного языка, чем Java. Без спецификации исключений, без различия между int и Integer, с более простым обобщенным программированием (что-нибудь в духе шаблонов C++ или обобщенного программирования в Eiffel). Ну и без идеологии, которая каким-то непонятным образом затягивает всех разработчиков в Kingdom of Noun
Здравствуйте, eao197, Вы писали:
E>Что-то мне подсказывает, что аргумент "Ну не нравится мне Java и никогда не нравилась!" не прокатит
А то!
E>Хочется более простого и стройного языка, чем Java. Без спецификации исключений, без различия между int и Integer, с более простым обобщенным программированием (что-нибудь в духе шаблонов C++ или обобщенного программирования в Eiffel). Ну и без идеологии, которая каким-то непонятным образом затягивает всех разработчиков в Kingdom of Noun
.
А вам не кажется, что список ваших требований и немейнстрим — вы слишком много и сразу хотите?
Быть может каким-то требованием можно поступиться? К примеру, статической типизацией... нет?
Здравствуйте, no4, Вы писали:
E>>не верится мне, что .NET будет реально кросс-платформенным
no4>Mono есть и под винду
Так в этом и вся ирония. Вот в Java -- хоть под Windows, хоть под Linux, хоть под AIX -- Java она везде Java.
А вот есть .NET от MS, и есть Mono, который вроде как .NET, но другой. Маленький еще
Ну, собственно, тема-то не в том, что есть .NET/Mono и почему они мне не интересны. А в том, чтобы узнать, что еще есть за пределами .NET/Java/C++ (только не в мире функционального программирования).
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, rsn81, Вы писали:
E>>Хочется более простого и стройного языка, чем Java. Без спецификации исключений, без различия между int и Integer, с более простым обобщенным программированием (что-нибудь в духе шаблонов C++ или обобщенного программирования в Eiffel). Ну и без идеологии, которая каким-то непонятным образом затягивает всех разработчиков в Kingdom of Noun
. R>А вам не кажется, что список ваших требований и немейнстрим — вы слишком много и сразу хотите?
Как выясняется, слишком много и слишком сразу. Точнее, еще вчера
R>Быть может каким-то требованием можно поступиться?
Дык в том-то и дело, что происходящее в мейнстриме более-менее известно. Интересно, есть ли жизнь на Мар..., ну т.е. есть ли что заслуживающее внимания вне мейнстрима.
R>К примеру, статической типизацией... нет?
То, что перечислено в обязательных требованиях -- обязательно. От нет смысла отказываться. Особенно от статической типизации, безопасности и исключений.
Вот остальные требования могут игнорироваться.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
...
E>То, что перечислено в обязательных требованиях -- обязательно. От нет смысла отказываться. Особенно от статической типизации, безопасности и исключений.
E>Вот остальные требования могут игнорироваться.
Похоже есть выход сбоку.
Берёте исходники gcc и пишете свой компилятор