Потому что класс обределяется в рантайме. Если посмотреть код через jad, то там будет что-то типа Object x = (Object)«mystring». Если в джаве написать такое, то x.getClass() тоже вернет String.
В Groovy есть одно приемущество (хотя, конечно, это можно оспорить) — java код без изменений в 99% случаях будет работать в Groovy. И поэтому учиться groovy для java программиста намного проще. Можно сначала писать как в джаеве, и, постепенно пробуя на вкус все удобства groovy, использовать его больше и больше.
В скала же синтаксис в большей степени не похож на джаву, поэтому нужно потратить некоторое время на освоение — сразу сесть и начать писать код, постепенно изучая язык лучше, не получится.
Но, думаю, эти два языка заняли свои ниши и поселились на jvm всерьез и надолго.
Я для тестирования создаю sqlite базу прямо в памяти вот таким образом:
DATABASES = {
'default': {
#...
},
# база для тестирования приложения
'slave': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
'TEST_MIRROR': 'default',
# если не добавить эту строку, тесты не будут выполняться
# бд, содержащаяся в памяти, не поддерживает транзакции
'SUPPORTS_TRANSACTIONS': 'False',
},
}
Насчет hibernate не пробовал, но в EJB проектах можно использовать groovy и аннотации — ссылка. Думаю, все будет хорошо работать. Так же при смешивании java и groovy классов лучше придерживаться такого правила: интерфесы писать на java, а реализацию — на groovy. Тогда эти интерфейсы затем можно использовать где угодно, хоть в java, хоть в groovy.
Насчет взяться за голову — да, есть такое. После python в джаве иногда становится очень грустно… И на помощь приходит groovy.
И код выразителен. Вот, например, сравните:
Groovy:
А почему не использовать пары? Для всех значений в пару записать порядковый номер и отсортировать. Потом, когда нужно будет восстановить, отсортировать по second в паре.
В скала же синтаксис в большей степени не похож на джаву, поэтому нужно потратить некоторое время на освоение — сразу сесть и начать писать код, постепенно изучая язык лучше, не получится.
Но, думаю, эти два языка заняли свои ниши и поселились на jvm всерьез и надолго.
Веб-интерпретатор groovy
Кстати, не пробовал этот фреймворк, рекомендуете?
Насчет взяться за голову — да, есть такое. После python в джаве иногда становится очень грустно… И на помощь приходит groovy.
И код выразителен. Вот, например, сравните:
Groovy:
Java:
Какой вариант вам больше нравится? :)
А вообще вот — video.google.com/videoplay?docid=-7629776691121323726#
В целом, пока хватает AptanaStudio
Хотя поддержка джанго-шаблонов не мешала бы.
В целом да, согласен, программисты из JetBrains не зря деньги получают.
www.cplusplus.com/reference/algorithm/sort/ см example