Comments 77
>Java отпадает за неинтересностью
>за неинтересностью
а вот с этого места пожалуйста поподробнее
>за неинтересностью
а вот с этого места пожалуйста поподробнее
+2
А я считаю все это (Jython, JRuby, Jambi) костылями, на которые в серьезном приложении пологаться нельзя ибо не понятно будут они существовать завтра или нет. Исключение наверное только Groovy.
[offtop]А вообще в самой java очень много интересных и незнакомых вещей, я вас уверяю ): [/offtop]
[offtop]А вообще в самой java очень много интересных и незнакомых вещей, я вас уверяю ): [/offtop]
-2
Можете еще посмотреть в сторону Scala (введение на Хабре) — тоже новый, активно развивающийся язык, но немного в другом направлении от того же Groovy.
+1
Пользуясь случаем — кто-нибудь встречал мануал по написанию ЯП на основе JVM? А то проблема встала, вторые сутки мучаю гугл, а результат, мягко говоря, скромный.
0
я за Groovy. Да и учить его можно и не с нуля. Плюс у него есть разные полезные фреймворки типа Grails/Griffon и GPars/Groovy++
+1
Читаю комментарии и тоже постепенно склоняюсь к этой мысли. И вообще он какой-то клёвый — конструкции типа:
theMap = [ key : { it -> println(it) } ] theMap.key(10)меня начинают нереально радовать ;)
0
а вы ещё mrhaki.blogspot.com/search/label/Groovy%3AGoodness почитайте и все сомнения окончательно отпадут ;)
0
Я сейчас вот это читаю:
www.asert.com.au/pubs/Groovy/Groovy.pdf
Довольно толково, кратко и сжато написано, что такое Груви, чем он лучше Джавы и с чем его едят. За ссылку спасибо, обязательно прочитаю.
www.asert.com.au/pubs/Groovy/Groovy.pdf
Довольно толково, кратко и сжато написано, что такое Груви, чем он лучше Джавы и с чем его едят. За ссылку спасибо, обязательно прочитаю.
0
Я бы выбрал Groovy
0
не хочешь изучить новый язык? ты не программист!
-7
Мне нравится Scala наличием функциональных возможностей с одной стороны и статической типизацией с другой.
Краткий обзор языка можно посмотреть здесь www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaOverview.pdf
Краткий обзор языка можно посмотреть здесь www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaOverview.pdf
0
Я же не ошибаюсь, когда думаю что Clojure это диалект Лиспа? Если так, то это не для меня — мои многочисленные попытки разобраться с Лиспом закончились грандиозным фейлом (по-моему, у меня просто мозги не хотят функционально работать)
0
UFO just landed and posted this here
а вы видели Groovy?
0
А где разница? Groovy это практически калька с Ruby.
0
по синтаксическим возможностям groovy действительно может всё, что может ruby и даже, пожалуй, побольше. Но как минимум там нет описанных diggy минусов типа несобираемых/заброшенных библиотек, да и с комьюнити там всё хорошо. Ну и систаксис всё же принципиально ближе к java
0
UFO just landed and posted this here
хм, например?
0
UFO just landed and posted this here
отвечу выборочно:
>do end лучше, чем {}
очень субьективно
>метод без аргументов нельзя писать без (), сюда же — нету "?" в конце методов
можно, только это будет другой метод уже.
>сюда же — нету "?" в конце методов возвращающих логическое значение и "!"
не очень понял, честно говоря. в groovy? — это elvis и safe navigation+можно переопределить true/false для любого класса
>оператор new, вместо «православного» вызова метода .new
groovy.codehaus.org/Newify+transformation
>нет перегрузки операторов, потому как операторы не являются методами (тут я очень не уверен, если что).
есть. более того, для многих классов они уже переопределены.
>более формальный стиль кодирования, нельзя написать puts 'olala' if x > y
ну вот не факт, что это лучше обычного if
итого различия присутствуют, однако принципиальных плюсов ruby я пока не вижу
>do end лучше, чем {}
очень субьективно
>метод без аргументов нельзя писать без (), сюда же — нету "?" в конце методов
можно, только это будет другой метод уже.
>сюда же — нету "?" в конце методов возвращающих логическое значение и "!"
не очень понял, честно говоря. в groovy? — это elvis и safe navigation+можно переопределить true/false для любого класса
>оператор new, вместо «православного» вызова метода .new
groovy.codehaus.org/Newify+transformation
>нет перегрузки операторов, потому как операторы не являются методами (тут я очень не уверен, если что).
есть. более того, для многих классов они уже переопределены.
>более формальный стиль кодирования, нельзя написать puts 'olala' if x > y
ну вот не факт, что это лучше обычного if
итого различия присутствуют, однако принципиальных плюсов ruby я пока не вижу
0
Сахар то для дебилов?:)
Тогда большинство программистов дебилы, т.к. вместо
пишут банальное «asdf» + «fdsa»:)
Тогда большинство программистов дебилы, т.к. вместо
сhar *a = "asdf"; char *b = "fdsa"; char *res = (char*)malloc(strlen(a) + strlen(b)+1); strcpy(res, a); strcat(res, b);
пишут банальное «asdf» + «fdsa»:)
0
Ну, с мэйнстримовыми библиотеками в Ruby все отлично:) И комьюнити оочень большое, в 2005 году, с появлением Rails, много Java программистов перешли на Ruby. Вон, даже Фаулер:)
А вот русское комьюнити, да, очень слабо развито…
>>по синтаксическим возможностям groovy действительно может всё, что может ruby и даже, пожалуй, побольше.
Про больше интересно, не холивара ради:) Где-то год назад смотрел Groovy, ничего нового не увидел, осталось впечатление, что это просто калька с Ruby, ну, правда заточенная под JVM. Может за это время что-то изменилось.
А вот русское комьюнити, да, очень слабо развито…
>>по синтаксическим возможностям groovy действительно может всё, что может ruby и даже, пожалуй, побольше.
Про больше интересно, не холивара ради:) Где-то год назад смотрел Groovy, ничего нового не увидел, осталось впечатление, что это просто калька с Ruby, ну, правда заточенная под JVM. Может за это время что-то изменилось.
0
>Про больше интересно, не холивара ради:)
например, AST-трансформации, типа @Singleton/Immutable/Newify/Lazy, разве они есть в ruby? Навскидку могу также припомнить Grape и Power Assert
например, AST-трансформации, типа @Singleton/Immutable/Newify/Lazy, разве они есть в ruby? Навскидку могу также припомнить Grape и Power Assert
0
AST трансформации есть. Grape это пакеты для библиотек? rubygems:) А насчет Power Asserts — куча DSL для тестирования, на любой вкус, RSpec, Shoulda, Cucumber и т.д.
Да, похоже в Groovy ничего нового по сравнению с Ruby нет.
Ну, кроме хорошей интегрированности в JVM. Так что Groovy — выбор джавистов:)
Да, похоже в Groovy ничего нового по сравнению с Ruby нет.
Ну, кроме хорошей интегрированности в JVM. Так что Groovy — выбор джавистов:)
0
А можно пример AST для того же singleton или lazy?
0
Сейчас посмотрел как @Singleton/Immutable/Newify/Lazy реализованны в Groovy. Похоже это не прямая манипуляция AST, а просто рефлекшены. Ну и @Singleton и т.п. — это просто именнованные рефлекшены. Да, и синглтон, и ленивая инициализация в Ruby есть.
Про AST я думал что-то по типу этого www.igvita.com/2008/12/11/ruby-ast-for-fun-and-profit/
Про AST я думал что-то по типу этого www.igvita.com/2008/12/11/ruby-ast-for-fun-and-profit/
0
>Похоже это не прямая манипуляция AST, а просто рефлекшены.
ээ… а как рефлекшен на этапе компиляции(!) обеспечит Singleton/Immutable?
>Да, и синглтон, и ленивая инициализация в Ruby есть.
то были лишь примеры полезных AST-преобразований, поторых в Ruby всё-таки нету.
ээ… а как рефлекшен на этапе компиляции(!) обеспечит Singleton/Immutable?
>Да, и синглтон, и ленивая инициализация в Ruby есть.
то были лишь примеры полезных AST-преобразований, поторых в Ruby всё-таки нету.
0
Примеры:
ленивая инициализация
blog.jayfields.com/2007/07/ruby-lazily-initialized-attributes.html
синглтон
ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html
ленивая инициализация
blog.jayfields.com/2007/07/ruby-lazily-initialized-attributes.html
синглтон
ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html
0
>Grape это пакеты для библиотек? rubygems:)
не совсем. rubygems — это скорее maven, а главная же фича grape в том, что можно импортить на лету
>куча DSL для тестирования, на любой вкус, RSpec, Shoulda, Cucumber и т.д.
в groovy тоже куча фреймворков для тестирования, но и они не являются фичей языка, в отличие от power assert…
не совсем. rubygems — это скорее maven, а главная же фича grape в том, что можно импортить на лету
>куча DSL для тестирования, на любой вкус, RSpec, Shoulda, Cucumber и т.д.
в groovy тоже куча фреймворков для тестирования, но и они не являются фичей языка, в отличие от power assert…
0
>главная же фича grape в том, что можно импортить на лету
Не понял, что значит импортить на лету?
Фича языка — всмысле возможность в ядре интерпретатора? Библиотека не считается фичей?:)
Не понял, что значит импортить на лету?
Фича языка — всмысле возможность в ядре интерпретатора? Библиотека не считается фичей?:)
0
>Не понял, что значит импортить на лету?
можно запустить такой код, имея лишь Groovy, и он скачает все нужные модули на лету:
groovyconsole.appspot.com/view.groovy?id=19003
>Фича языка — всмысле возможность в ядре интерпретатора? Библиотека не считается фичей?:)
да. фичей языка не считается. да и потом, какой из ваших DSL умеет в одну строчку делать, например, такое: groovyconsole.appspot.com/edit/44002
можно запустить такой код, имея лишь Groovy, и он скачает все нужные модули на лету:
groovyconsole.appspot.com/view.groovy?id=19003
>Фича языка — всмысле возможность в ядре интерпретатора? Библиотека не считается фичей?:)
да. фичей языка не считается. да и потом, какой из ваших DSL умеет в одну строчку делать, например, такое: groovyconsole.appspot.com/edit/44002
0
>можно запустить такой код, имея лишь Groovy, и он скачает все нужные модули на лету:
>groovyconsole.appspot.com/view.groovy?id=19003
Такое есть:)
geminstaller.rubyforge.org/
В одну строчку, всмысле налету массив на переменные разбить?
Так это еще проще:)
Что-то уже холивар начинается:)
>groovyconsole.appspot.com/view.groovy?id=19003
Такое есть:)
geminstaller.rubyforge.org/
В одну строчку, всмысле налету массив на переменные разбить?
Так это еще проще:)
a, b, c = [1543, 2654, 3432]
Что-то уже холивар начинается:)
0
>geminstaller.rubyforge.org/
это не то же самое, сами понимаете. тем более в ruby работа с модулями зачастую может быть совсем нетривиальна (если что-то нужно компилять)
>В одну строчку, всмысле налету массив на переменные разбить?
да нет же. нажмите внизу кнопочку «Execute script» и поймёте о чём я
это не то же самое, сами понимаете. тем более в ruby работа с модулями зачастую может быть совсем нетривиальна (если что-то нужно компилять)
>В одну строчку, всмысле налету массив на переменные разбить?
да нет же. нажмите внизу кнопочку «Execute script» и поймёте о чём я
0
UFO just landed and posted this here
Не рассуждайте как красноглазик, есть mono.
-4
Ну есть, но зачем мне костыли если есть масса отличных интересных языков и продуктов и для моей платформы?
0
mono — для вашей платформы
-5
На маке у моно WinForms кривовато отрисовываются(про линукс не уверен), а если использовать GTK то просто кинуть экзешник виндузятникам проблематично.
+2
Mono работает на MacOS? Да. GTK# работает? Да. Причина неиспользования .Net выраженная в топике не корректна. Ошибку вы признавать не хотите. Очень плохо.
-2
Скажите, а оно красиво там выглядит? Понимаете, это вам не Линупс и не винда, на Маке приложения должны выглядить нативно иначе они нафиг никому не нужны! Теперь вам понятно, почему нельзя использовать .NET на Маке? (ну или по крайней мере нельзя, пока он не научится делать Cocoa интерфейс).
+1
а вы его сами пытались использовать? Нормальная IDE есть? нормальный Debug там есть? WinForms перестали падать рамномно? GTK# уже стало немного нативнее?
Короче говоря, мы может и рады его использовать, вот только авторы его ще должны пилить и пилить
Короче говоря, мы может и рады его использовать, вот только авторы его ще должны пилить и пилить
+2
Какую ошибку?:) Вы наверно меня с автором топика перепутали.
0
Какая автору разница как работает GTK под Window?
-1
Ruby — это идеологический чистый Python(не торчит процендурное прошлое), плюс синтаксис значительно слаще, а Groovy — калька с Ruby.
-1
«Groovy — калька с Ruby»
Хахаха) Кто вам это сказал? Groovy — это расширение синтаксиса Java. У них есть общие синтаксические элементы, но не более.
Хахаха) Кто вам это сказал? Groovy — это расширение синтаксиса Java. У них есть общие синтаксические элементы, но не более.
+1
Ну, во-первых у них на сайте сказано:
Во-вторых все синтаксические конструкции практически идентичны с Ruby, правда, с поправкой на Java синтаксис.
builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
Во-вторых все синтаксические конструкции практически идентичны с Ruby, правда, с поправкой на Java синтаксис.
0
Калька и inspired одно и то же? Тогда Ruby — однозначно калька с Python, Perl или Smalltalk.
Что за нахер поправка на Java синтаксис, если он лежал в основе и любой Java код является Groovy кодом? Знаете как делали Groovy? Взяли Java&JDK и добавили:
— динамическая типизация
— замыкания
— сахар для коллекций, регулярок, некоторых операторов(switch, for)
Тоже самое, что говорить Grails — калька с Rails.
Что за нахер поправка на Java синтаксис, если он лежал в основе и любой Java код является Groovy кодом? Знаете как делали Groovy? Взяли Java&JDK и добавили:
— динамическая типизация
— замыкания
— сахар для коллекций, регулярок, некоторых операторов(switch, for)
Тоже самое, что говорить Grails — калька с Rails.
0
>Тогда Ruby — однозначно калька с Python, Perl или Smalltalk.
А кто спорит? По сути языки идентичны, просто каждый следующий язык более синтаксический сладкий. Например d Ruby, в отличие от Python, не торчат процедурные корни, а также итераторы удобнее.
>если он лежал в основе и любой Java код является Groovy кодом?
Это и имел в виду:)
>Тоже самое, что говорить Grails — калька с Rails.
А что, это не так?
А кто спорит? По сути языки идентичны, просто каждый следующий язык более синтаксический сладкий. Например d Ruby, в отличие от Python, не торчат процедурные корни, а также итераторы удобнее.
>если он лежал в основе и любой Java код является Groovy кодом?
Это и имел в виду:)
>Тоже самое, что говорить Grails — калька с Rails.
А что, это не так?
0
Grails — набор DSL для:
— JSP(GSP)
— Spring MVC(Grails Controllers)
— Hibernate(GORM)
Все они появились за несколько лет до Rails. Кстати Grails написан на Java — на Groovy пишется только код самого приложения. Так что в архитектурном плане — это совершенно самобытный проект.
— JSP(GSP)
— Spring MVC(Grails Controllers)
— Hibernate(GORM)
Все они появились за несколько лет до Rails. Кстати Grails написан на Java — на Groovy пишется только код самого приложения. Так что в архитектурном плане — это совершенно самобытный проект.
0
Языки веселее учить вместе с фреймворками, посмотрите — может удасться что-то использовать:
Groovy — Grails
Scala — Akka
Clojure — STM/Incanter
Groovy — Grails
Scala — Akka
Clojure — STM/Incanter
0
Я рекомендую Ruby, как по мне так очень красивый и элегантный язык, намного интереснее Scala и Groovy.
Но если уже совсем хочется экзотики, то можно посмотреть на Clojure — такой себе LISP под JVM
Но если уже совсем хочется экзотики, то можно посмотреть на Clojure — такой себе LISP под JVM
0
Sign up to leave a comment.
Jython vs Groovy vs JRuby vs …