Чтобы добавлять сообщения и комментарии, .

@kdenisb:
kdenisb

Внезапно пришлось освоить groovy. Даже lisp по среавнению с ним — милашка.
c.editAttribute(node, "time", getAttributeValues(c.getMindMapMapModel().getLinkRegistry().getAllLinks(node)[0].getTarget(), "time")[0]);

@wwarlock:
wwarlock

#groovy #trait

Guillaume Laforge Опубликовал инструкцию как получить Traits в Groovy.
Внимание, пока эта возможность экспериментальная.

groovy.329449.n5.nabble.com

@gaponov:
gaponov

есть ли смысл ? кто-то использует в реальных проектах не в однофайловых скриптах ?

@ArtemZ:
ArtemZ

То чувство, когда настолько скучно, что развлекаешься программированием на джаве и груве

@altmind:
altmind

ну нельзя статически типизируемый язык замаскировать под динамический. В Groovy после парсинга JSON null значениям соответствует JSONObject.Null. Так вот, JSONObject.Null != null самого языка. jira.grails.org

@altmind:
altmind

неплохо, неплохо (указание значений результата, вызвавших AssertionFail) gist.github.com

@scame:
scame

Сохранение форума borda.ru/forum24.ru на жесктий диск cyber-dream.blogspot.ru

@scame:
scame

Давно хотел нормально выучить какой-нибудь скриптовый язык. Сегодня желание переросло в действие. Как раз для этого дела созрела задача — разбор сайта. Выбор на groovy пал по следующей причине: он совместим с Java, которую я очень люблю. В итоге, за несколько часов работы, язык оставил очень приятное впечатление. Соблазн писать как на Java конечно большой, но попробовав списки и замыкания в действии, понял, что соблазн можно и запихнуть куда по-дальше.
Конструкции def textFromUrl = MY_URL.toURL().text и MY_URL.toURL().withReader { reader — > ... } тронули мою душу. Радуюсь, что успею еще на каникулах спокойно поиграть с ним.

@nib952051:
nib952051

посоны этот маленький зверёк^W^W^W groovy сделало мне так хорошо, как не каждая девушка пыталась и старалась, ну а они старались, плохие новости для питонистов и рубистов, подозреваю

@wwarlock:
wwarlock

#kotlin #groovy #scala

Пересмотрел презентацию Андрея Бреслава о языке Котлин.
Получается, что они пытаются занять нишу между груви и скалой.
Котлин — статически типизированный язык, и при этом имеет меньше всяких неявных вещей.
В отличие, от Скалы, эти неявности проще диагностировать.
Если по простому, то всегда можно снавигироваться к той или иной реализации прямо в IDE.
В Scala, во многих случаях, без дебаггера не разберёшься откуда применился метод.

Не могу сказать, что это всё краеугольные камни в разработке, но наверное какую-то свою нишу займут, среди тех кому только и нужно что замыканий, да мал-мало синтсахара.

@wwarlock:
wwarlock

#gr8 #gvm #grails Инструмент для управления множеством различных версий стека технологий gr8 (groovy, griffon, grails, etc ).
fbflex.wordpress.com

@wwarlock:
wwarlock

Не удержался и купил билет ещё на одну конференцию.
Интересуют только #Spring, #Groovy и #Grails. Облака медленно проплывают мимо.
springsource.org

@resko:
resko

Какие есть книги для изучения groovy и его возможностей? Загуглил нашел только иностнанные книги ( Мож кто поделится ссылками на закачку русских книг по groovy .

@ArtemZ:
ArtemZ

Вышел груви 1.8.5 и 2.0 бета

@ArtemZ:
ArtemZ

Вышел Grails 2.0. Ура!
Что нового: grails.org

@cmortuorum:
cmortuorum

Grails 2.0 Released!
blog.springsource.org
grails.org

@ArtemZ:
ArtemZ

groovylint.com — library for extra compile time checks

@ArtemZ:
ArtemZ

На груви настолько офигенно писать, что не хочется останавливаться. Язык потрясающе мощный за счёт джавы и потрясающе гибкий за счёт своего синтаксиса.
Переписываю на него один проектик с php. То, что писалось год на пыхе, готово за 3 (ТРИ!) дня на груви.

@potapenko:
potapenko

кстати реализация traits в RASE оказалась ну очень похожа на реализацию traits в groovy++ code.google.com То есть трейт просто добавляется к списку имплементированнных. И называется очень похоже — default implementation of some methods

@neFormal:
neFormal

Не, правда что ли? Там нельзя объекту назначить новую пропертю? Святые макароны, и это динамический язык?! >_<'

@neFormal:
neFormal

Вот чего я не понимаю, так это почему в груви шелле -1 это выражение?. Из-за этого в мапах надо указывать отрицательные ключи в скобках, что плохо влияет на настроение. Особенно, когда данных много.

@neFormal:
neFormal

Вот каким наркоманом надо быть, чтобы сделать groovyConsole (REPL в гуйне) настолько криво, что какие-то жалкие 6Кб текста в одну строку вызывали лютые зависания программы? Не все, конечно, редакторы с какой-нибудь подсветкой синтаксиса нормально прожёвывают это. Эклипс тоже лагает немного. Но не виснет же!. >_<'

@neFormal:
neFormal

Groovy shell обладает поразительной фичей. Он указывает номера строк в многострочных выражениях, но в случае исключения не отматывает их обратно. В результате хрен ты просто так напишешь исправленное выражение >_<'

@neFormal:
neFormal

И всё же groovy не очень удобный. Очень часто не хватает удобной реализации часто встречающихся вещей (например, сейчас было нужно распарсить строку с датой). Все более-менее усложнённые действия можно сделать только через жаву, благо они совместимы. Это только приводит к оверхеду в классическом java-стиле.. печально..

@neFormal:
neFormal

Grails — платформа для быстрой разработки сайтов. Но в ней и в groovy нет лёгких высокоуровневых способов для создания тривиального post-запроса. >_<''' Ручная запись через стримы в коннект, ручная запись аргументов запроса(тут я надеюсь всё же я не нашёл). Свежая платформа!

@neFormal:
neFormal

пиздоголовый язык, и все технологии на нём пиздоголовые.. вот что за уебанство?. не могли сэмулировать java-метод toString?. вот нахуя мне городить из-за этого смесь из 2х языков?. почему в скале это смогли сделать?.
groovy> class Foo {
groovy> def toString = {'asdf'}
groovy> }
groovy> def f = new Foo()
groovy> println f

Foo@7de6385e
groovy> class Foo {
groovy> def toString = {'asdf'}
groovy> public String toString() { return 'qwerty';}
groovy> }
groovy> def f = new Foo()
groovy> println f

qwerty

@neFormal:
neFormal

В чём смысл делать конфиги чем-то средним между кодом и неисполняемым конфигом?.
В груви конфиг ( groovy.codehaus.org ) поддерживает типы (например, там можно атрибуту присвоить лямбду), но в то же время этот файл ничлена не исполняемый, т.к. содержимое далеко от нормального груви-кода..
короче, имхо больше путаницы (ведь файлик с таким же расширением, что и обычный код), чем профита от удобства.. >_>

@ishe:
ishe

скажите, если открываешь файл new File(...) потом close() ему делать обязательно??? файлов много и большие

@wwarlock:
wwarlock

Начав с груви, открыл для себя Scala.
А, ведь, во всём виноват AppEngine )
Кабы Grails на нём пахал без сбоев, не начались бы мои искания )
В общем, читаю, сейчас книжку Мартина Одерски, чего и вам желаю, хотя бы просто для расширения кругозора, как в случае с груви.
Для справки, Одерски, родитель Scala — один из разработчиков компилятора javac и дженериков.

@gAmUssA:
gAmUssA

Сравнение скорости работы Groovy и Java rocketscience.itteco.org . Автор, конечно, не открыл америку,Согласен со многими положениями

@OCTAGRAM:
OCTAGRAM

Ссыль, невзначай демонстрирующий возможности X-Wiki: platform.xwiki.org

@wwarlock:
wwarlock

Вот, забавный Groovy-трюк с классическим примером обмена значений двух переменных

// Дано
def a = 1, b = 2

// Меняем с помощью списка
(a, b) = [b, a]

// Проверяем результат
assert a == 2
assert b == 1

@yzh44yzh:
yzh44yzh

Начал читать книгу про groovy. Очень клевый язык. Может, сразу его начать юзать, пропустив изучение жавы?

В книге минимум слов, в основном один только код. И все понятно. Если верить именно этим примерам кода, то groovy на 90% состоит из замыканий :)

И еще ново для меня: все примеры показаны через юнит-тесты. То есть, там, где в обычном учебнике было бы написано:
add(3 + 4) // 7
в этой книге пишут:
assert add(3 + 4) == 7
Это как бы показывает язык (и вообще любой код) с иного ракурса. Привыкаешь изучать поведение кода через юнит-тесты.

@civil696:
civil696

Получить не ожидаемый бред и пол часа искать ошибку, из-за одной неправильно поставленной скобки, я думал такие фейлы возможны только в лиспе. -_-'

@civil696:
civil696

сколькими способами можно засунуть слона в холодильник?
ну как минимум четырьмя
def fridge = []
fridge.add("elephant")
fridge.add "elephant"
fridge << "elephant"
def add = fridge.&add
add "elephant"

Конечно понятно, что всё это один и тот же способ. Непонятно как это должно сочетаться с "Groovy is trying to make your code as expensive and easy to read as possible" -_-' Оно может и expensive, но уж точно ни фига не easy. =_=