LINUX.ORG.RU

Вышла Groovy 1.0


0

0

Начало 2007 года ознаменовалось событием, которое ждали и готовили давно: вышла первая релизная версия 1.0 нового скриптового ООЯП Groovy, использующего виртуальную машину JVM.

Некоторые примеры возможностей: http://groovy.codehaus.org/Quick+Start

>>> Подробности

anonymous

Проверено: anonymous_incognito ()

Вот, блин, бейсик..

anonymous
()

А нафига? Всяких питонов не хватает?

anonymous
()
Ответ на: комментарий от Quasar

Людям нечем больше занятся кроме как плодить кучу языков и фреймворков пропади это слово пропадом.

DuSoft
()

видно - вы не шарите там еще руби, вобще - почитайте перед тем как хаить

gra
()

За создание новых скриптовых языков надо надо руки отрывать. Итак уже зоопарк целый: чтобы прогу поставить, изволь стянуть к ней виртуальную машину, десятка два библиотек и еще пару пакетов, к которым все это биндится... Ужос...

nop
()
Ответ на: комментарий от Ramen

> Помесь перла, паскаля, васика и велосипеда. Ужас.

Внимательно посмотри на свой аватар и повтори. Там Руби с уклоном под Яву(фигурные скобки вместо ду-энд) плюс некоторые нереализованные фишки(синтаксис словарей как в Питоне и сокращенный синтаксис для лямбды), которые будут во второй версии.

Вобщем ХЗ. Библиотека используется Явовская. Наверное хорошо подойдет тем, кто использует Яву и хочет легкий Руби-подобный язык. Хотя если Руби будет быстро бегать под Ява-машиной надобность в нем отпадет.

Cris
()
Ответ на: комментарий от nop

>За создание новых скриптовых языков надо надо руки отрывать

все что ты написал не относится к джаве - я не фанат груви, но для его работы достаточно JVM и одного JAR файла

gra
()
Ответ на: комментарий от nop

отличная и очень интересная штука среди скриптовых языков для JVM вероятно самый быстрый и самый удобный по взаимодействию с java-кодом синтаксис - ближе всего к ruby, но java-like - решение вполне понятное ну и собственно это какой-то JSR

vansickle
()
Ответ на: комментарий от Deleted

> а что ява не ООЯП?

Нет. Примеры OOЯП - Smalltalk, CLOS.

anonymous
()

А смысл? Ну есть у меня JavaVM и сам Java язык (который 1. простой 2. имеет хорошие IDE созданые для него). Зачем мне переходить на этот Groovy?

DOKA
()
Ответ на: комментарий от Cris

> Помесь перла, паскаля, васика и велосипеда. Ужас. Я так понимаю вы в жизни видели только перл, паскаль, васик и велосипед. Действительно ужас. 8/

> Внимательно посмотри на свой аватар и повтори. Там Руби с уклоном под Яву(фигурные скобки вместо ду-энд) В руби тоже есть фигурные скобки ими обзначается однострочный блок

Вообще согласен, больше всего напоминает руби (если не вдаваться в тот момент что руби сам по себе компиляция фич из разных языков и нового особо не несет)

anonymous
()
Ответ на: комментарий от DOKA

> Зачем мне переходить на этот Groovy?

Конкретно тебе незачем, ты явно слишком крут для этого

anonymous
()
Ответ на: комментарий от den_skipper

>но, скажите пожалуйста мне каково назначение сего ЯП?

Быстрое прототипирование с последующим переносом кода на Java, или только критических к скорости мест, быстрая склейка (glue-code http://en.wikipedia.org/wiki/Glue_code) Java-классов, быстрое аля RoR создание веб-сайтов, веб-морд, написание скриптов, одинаково хорошо работающих под любой ОС за счет универсальной JVM

А ты скрипты и сайты на C пишешь? Это долго

anonymous
()
Ответ на: комментарий от DOKA

Во ведь люди. Не было в JVM поддержки скриптовых языков - ныли и хаяли JVM за это. Сделали поддержку - опять не то.

PartyZan ★★★
()
Ответ на: комментарий от anonymous

неа не на С :), в принципе идея ясна, не флейма ради: если допустим с переносом кода на java, прототипированием и glue-code еще более менее понятно потому как для етого нужен именно такой ЯП(именно для жабы), то с

>быстрое аля RoR создание веб-сайтов, веб-морд, написание скриптов, одинаково хорошо работающих под любой ОС за счет универсальной JVM

наверное не соглашусь потому как и питон и руби и тот же о ужас пых на всех платформах работают так же одинаково и без всяких JVM и еще как мне кажется для того чтоб оно работало нада еще какой нить фреймворк забубенить, тоесть ето еще один лисапед для веба?

den_skipper
()

Щас сольём и заценим... Синтаксис понравился.

EViL
()
Ответ на: комментарий от den_skipper

>наверное не соглашусь потому как и питон и руби и тот же о ужас пых на всех платформах работают так же одинаково

Неа, встречаются косяки. Часть документирована, часть недокументиована и есть баги. У меня все заработало как надо тока на питонах 2.4.4 и 2.5.

anonymous
()
Ответ на: комментарий от den_skipper

>наверное не соглашусь потому как и питон и руби и тот же о ужас пых на всех платформах работают так же одинаково и без всяких JVM и еще как мне кажется для того чтоб оно работало нада еще какой нить фреймворк забубенить, тоесть ето еще один лисапед для веба?

Да, и именно поэтому стоит только произнести где-нибудь слово Руби, как господа которым все всегда не нравится начинают говорить противным голосом - "А библиотееееки?". Сделали jruby и груви, так что можно прозрачно цеплять либы явы коих есть куча для всего что придумали и нет и что ? Они теперь не менее противным голосом говорят "Жааааба" и "Лисапеееед" Прав был товарищ - всем не угодишь.

e-max
()
Ответ на: комментарий от DOKA

> А смысл? Ну есть у меня JavaVM и сам Java язык (который 1. простой 2. имеет хорошие IDE созданые для него). Зачем мне переходить на этот Groovy?

Незачем. Groovy прежде всего нужен как встраеваемый скриптовый язык для приложений.

У кого-нибудь есть бенчмарки Groovy и других скриптовых языков для JVM?

anonymous
()
Ответ на: комментарий от anonymous

> Конкретно тебе незачем, ты явно слишком крут для этого

Да, ты уж точно слишком "крут" чтобы отвечать нормально на нормальные вопросы без подколок.

DOKA
()
Ответ на: комментарий от anonymous

> Незачем. Groovy прежде всего нужен как встраеваемый скриптовый язык для приложений.

Аля Луа для плюсов?

Cris
()

Очень хорошо. Даешь больше живых языков под JVM. Потому что на яве писать, как мне кажется, сейчам можно только за деньги.

sv75 ★★★★★
()

А вот есть beanshell, имхо удобная штука для скриптования на жаве.

anonymous
()
Ответ на: комментарий от Quasar

>Только интересно, зачем оно надо...

Да класная штука. А то я уж задолбался воевать с риной для создания скриптовых хостобжектов - такой мрачный геморой.

r ★★★★★
()
Ответ на: комментарий от den_skipper

>синтаксис вроде как приятен, прост..

Мне напомнило смалталк. А вот за call для замыканий - руки бы надо пооторвать....

>но, скажите пожалуйста мне каково назначение сего ЯП?

Скриптинг приложений.

r ★★★★★
()
Ответ на: комментарий от DOKA

>Зачем мне переходить на этот Groovy?

Ты не понял для чего он. На него не надо переходить. Вот я писал серверную прикладуху - там был плугинный API для крона и trigerred actions. Что страдать и писать это на java на каждый чих? Я привинтил туда рину - и теперь сисадмин или вообще кто хочет фигачит туда свои плугины на javascript.

r ★★★★★
()
Ответ на: комментарий от r

> Мне напомнило смалталк. А вот за call для замыканий - руки бы надо пооторвать....

Ничего отрывать не нужно. И call в Руби сделан по техническим причинам. Без него из-за структуры синтаксиса нельзя. В Руби вызов метода можно сделать без круглых скобок. Из-за этой фичи замыкание невозможно как отдельная переменная в принципе. Потому что в Питоне(или Пыхе) ты пишешь переменная + () и понятно, что это вызов метода. В Руби же скобки необязательные и обращение к переменной(которая еще и лямбда) без скобок может значить получить ссылку на лямбду или выполнить лямбду - что есть неоднозначность...

Но для атрибутов объекта это легко обходится. Достаточно перехватить обращение к соответствующему геттеру и если это лямбда, сделать для нее call, а если строка - просто вернуть ее значение. А отдельные лямбды не такая и частая штука, чтобы париться из-за лишнего call-a.

Cris
()
Ответ на: комментарий от Cris

>В Руби вызов метода можно сделать без круглых скобок.

Ахрененно полезная фишка. Сначала изобрели мегахрень и тут же бросились ее обходить.

>что есть неоднозначность...

Боюсь это точная характеристика подобного синтаксиса.

После этого смотришь на продуманный чистый синтаксис смолтолка или окамла (да той же жабы) и понимаешь где люди думали....

К стати в груви вроде call не нужен можно и так.

r ★★★★★
()
Ответ на: комментарий от r

>После этого смотришь на продуманный чистый синтаксис смолтолка или окамла (да той же жабы) и понимаешь где люди думали....

Когда смотришь на синтаксис жабы, понимаешь где люди НЕ думали

Ubnormal
()

круть, но ей для разгона две недели:

pi lorn:~ [15]% time JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/ groovy -e "println 'hi'"
hi
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/ groovy -e "println 'hi'"  1,97s user 0,11s system 97% cpu 2,141 total
pi lorn:~ [16]% time ruby -e "puts 'hi'"
hi
ruby -e "puts 'hi'"  0,01s user 0,00s system 99% cpu 0,012 total

Pi ★★★★★
()
Ответ на: комментарий от Ubnormal

> Когда смотришь на синтаксис жабы, понимаешь где люди НЕ думали

Они думали. Как сделать так, что бы нельзя было нигде выпендриться программисту. По-моему получилось.

sv75 ★★★★★
()
Ответ на: комментарий от Pi

Ну на таком примере у жвм шансов нет, надо пример поболее, чтобы думал минуту-другую, глядишь тогда проигрышь будет всего-то на порядок...

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

>На порядок? Это ты о руби или о java? :)

:))

ТЫм же и написано что стартует руби в 16 раз быстрее. правда потмом мандельброта рисует в 400 раз медленее.

r ★★★★★
()
Ответ на: комментарий от Pi

Это потому, что код прозрачно компилируется в байт-код.

dotcoder ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.