Вышел (http://blog.springsource.com/2009/12/22/groovy-1-7-released/) релиз языка программирования Groovy 1.7 (http://docs.codehaus.org/display/GROOVY/Groovy+1.7+release+n.... Язык Groovy заимствовал некоторые полезные качества Ruby, Haskell и Python, но создан для работы внутри виртуальной машины Java (JVM) и поддерживает тесную интеграцию с Java приложениями.
Из новшеств Groovy 1.7 можно отметить:- Анонимные внутренние и вложенные классы (Inner и Nested (http://ru.wikipedia.org/wiki/%D0%92%D0%B... делающие разработку более приближенной к Java;
- Возможность добавления аннотаций при декларации импорта, пакетов и переменных;
- Улучшение организации работы с модулями (подсистема Grape);
- "Мощные утверждения" ("Power Asserts") для создания более читаемых и выразительных assert-ов;
- Интеграция AST Viewer и AST Builder, позволяющих упростить создание AST (Abstract Syntax Tree) преобразова...URL: http://blog.springsource.com/2009/12/22/groovy-1-7-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=24786
> ... но создан для работы внутри виртуальной машины Java (JVM)Да ну вас... а так хорошо статья начинается - "заимствовал некоторые полезные качества Ruby, Haskell и Python"
И чем по-вашему JVM не годится в качестве среды выполнения для динамического языка? Что бы дало использование вместо JVM своей специфичной для языка среды выполнения, кроме существенного ограничения доступных API?
Ценность Groovy — именно в близости к Java миру. Т.е. например при написании Java-веб-приложения можно также использовать Groovy (и написанный на нём фреймвок Grails — те кто знают английский и практику веб программирования игру слов оценят). С этой же целью написаны всякие Jython и JRuby, но переход от Java к Groovy и обратно — помягче.А ещё в JVM разработке используют язык Scala, это если нам хочется не динамической типизации, а автоматического вывода типов и прочих плюшек функционального программирования.
В общем JVM, это немножко другая программисткая планета. На которой тоже есть жизнь, и достаточно интересная.
Ценность JVM - решений: бОльшая производительность по сравнению с решениями на скриптовых языках и простота стыковки различных языков (реализованных для этой платформы), использующих весьма разнообразные парадигмы.
В .Net почти тоже самое, но Java, без дураков, кроссплатформенное и открытое решение, проверенное временем, а с .Net|Mono мы имеем куда более запутанную ситуацию.
> а автоматического вывода типовЧȏ? :-)
> и прочих плюшек функционального программирования
Какие такие в функциональном программировании плюшки по сравнению с ООП?
http://ru.wikipedia.org/wiki/Вывод_типов>Какие такие в функциональном программировании плюшки по сравнению с ООП?
Это флеймообразующий вопрос. Но какие такие в ООП плюшки по сравнению с X (другая парадигма)?
Это когда написал: var X = '\0,0xdeafbeef';
а компилятор в кору сдампился.
Про вывод типов тебе ответили.>Какие такие в функциональном программировании плюшки по сравнению с ООП?
ФП и ООП не стоит противопоставлять. В современных ООП языках полно ФП, а большинство современных функциональных языков вполне себе объектно-ориентированные. О плюшках — читай, к примеру, журнал http://fprog.ru/.
Ещё, на тему парадигм, я бы порекомендовал старую статью из блога изобретателя языка Factor Славы Пестова http://factor-language.blogspot.com/2005/12/programming-lang... В качестве хорошего прочистителя мозгов :).
К классическим механизмам ФП (а вовсе не ООП) относятся, например, замыкания. Которые есть в большинстве современных языков, включая, разумеется, и Groovy.
Боюсь показаться банальным, но о реализации ООП через ФП можно почитать в классическом учебнике «Структура и интерпретация компьютерных программ» (SICP). Легко находится в сети на удобном вам языке, вроде перевод издавался и на бумаге.
>>> Java, без дураков, кроссплатформенное и открытое решение, проверенное временемУгу, особенно хорошо оно без дураков проверено FreeBSD ;)
как спалось? во FreeBSD есть официальный порт явы давно http://www.freebsd.org/java/
Мсъе наверное не в курсе, java во freebsd отлично работает уже не менее 4х лет
Ну еще бы оно не работало... Открытость в чем ? Вы можете взять сырцы этого работающего порта ? Модифицировать ? Или может быть вы дадите гарантию что сертификат в очередной раз не будет отозван в самый неподходящий момент ?
Вы что именно готовить не умеете - Джаву или Фряху?