Groovy уходит? [закрыто]

30

Я уверен, что этот вопрос задавался много раз. Тем не менее, я хотел бы спросить это снова с намерением о том, каково будущее этих языков.

Я впервые познакомился с Groovy и мне очень понравилось. Я чувствовал, что синтаксис был проще, он был намного ближе к Java, и я смог быстро выучить Grails .

Потом была Scala , и веб-фрейм работы Lift . Я все еще изучаю Scala, и иногда мне кажется, что синтаксис очень сложный.

Однако мне все еще интересно, каково будущее Groovy. Когда автор Groovy говорит, что он никогда бы не создал Groovy, если бы он знал о Scala, тогда у меня возникает вопрос: а есть ли вообще будущее? Конечно, Groovy прошел долгий путь, и Grails сегодня используется многими крупными компаниями.

Если сегодня посмотреть на Grails vs Lift, то Grails будет явным победителем. Больше компаний используют это. Но, учитывая все, что я сказал до сих пор, мне интересно знать, стоит ли инвестировать в Groovy? Groovy уходит, а Scala - лучший выбор? Если генеральный директор BMW говорит, что он водит «Мерседес», то возникает вопрос: почему бы нам всем тоже не водить «Мерседес»?

(Я понимаю, если этот вопрос действительно широк и может быть закрыт. Хотя я надеюсь сделать его открытой для других.)

Амир Раминфар
источник
1
Если сегодня посмотреть на Grails vs Lift, то Grails будет явным победителем. Говорит кто?
Махмуд Хоссам
Я просто делал по популярности. У Grails есть x1000 подписчиков, а у Lift только x200ish в стеке потока.
Амир Раминфар
Может быть, поднять легче? имеет лучшую документацию? или, может быть, Граальс был вокруг дольше, чем лифт?
Махмуд Хоссам
3
Было бы более справедливо сравнить Grails со Scala + Play Framework. Play Framework также может быть использован с Java и вдохновлен Ruby on Rails.
Джонас
3
«Если сегодня взглянуть на Grails vs Lift, Grails будет безоговорочным победителем» , - сказали вы 2 года назад, но играйте! 2 легко вытеснил Lift как ведущую веб-инфраструктуру на основе Scala и находится на улице впереди Grails (IMHO).
Ворг ван Гейр

Ответы:

23

Я не думаю, что Groovy исчезнет, ​​теперь это самостоятельная сущность. Платформа Grails построена на языке Groovy, что является хорошим основанием для того, чтобы остаться в живых. Groovy получил свое убийственное приложение.

Я не говорю, что Grails - единственный жизненно важный проект Groovy, Gradle тоже довольно хорош. ГОРМ действительно удобно. Гант - хорошее улучшение по сравнению с Муравьем.

Не говоря уже о том, что Groovy / Grails теперь находятся под эгидой SpringSource, и они привержены тому и другому.

Если генеральный директор BMW говорит, что он водит «Мерседес», то возникает вопрос: почему бы нам всем тоже не водить «Мерседес»?

Угадайте, что выбрал Джеймс Гослинг?

Chiron
источник
Gradle больше не является открытым исходным кодом! _!
Ant's
1
Что действительно важно, так это основной язык и его основные библиотеки. Вы не можете сделать что-то лучше, чем Groovy. Базовый язык прост и динамичен, он быстр, а библиотеки java, такие как apache и т. Д., Лучше, чем в других языках. Это лучший язык вокруг и из-за этого он не уходит. Не имеет значения плагины и Grails - мир динамических языков, таких как PHP, уже знает, что имеет значение (как я уже говорил). И есть кот и Jboss. А теперь иди и проверь Руби, это шутка! Это хуже чем .net! Теперь зайдите и проверьте Python и выясните, как обрабатывать ошибки в сетевом коде.
Эндрю Смит
Вы правы ... Gradle становится все более популярным с использованием скриптов Groovy ..
The Coder
6

А также @ The Legend of 1982's comments:

Groovy будет продолжать работать, поскольку это динамическая альтернатива Java с синтаксисом, достаточно близким к Java, чтобы позволить многим разработчикам переключаться (или, по крайней мере, баловаться).

  • Grails постоянно находится в топ-2 фреймворков всякий раз, когда Мэтт Рэйбл делает свои массивные графики / анализ веб-фреймворков на языке JVM Его, вероятно, самый полный анализ там.

  • GPars - это новая библиотека lib / API для параллелизма, которая позволяет Groovy значительно расширить возможности Scala.

Проблема со скоростью улучшится со временем, так как Groovy выяснит, как использовать invokedynamic и другие приемы компилятора.

Мартейн Вербург
источник
«Grails постоянно находится в топ-2 фреймворков», но бэкэнды на основе PHP не считаются «фреймворками», даже если это то, что до сих пор использует подавляющее большинство компаний.
Ворг ван Гейр
3

Groovy - очень приятный и недооцененный (даже как его создатель, как вы уже сказали) язык. На мой взгляд, его роль в экосистеме Java подобна роли Lua в мировой экосистеме C / C ++. Да, это не так быстро, но тем не менее.

Мне будет очень грустно, если Groovy умрет, но эта дорожная карта фактически говорит нам, что это не так уж плохо.

На самом деле Groovy - очень хороший, аккуратный, выразительный язык. Что касается Scala, я считаю, что Groovy и Scala просто находятся в разных нишах.

shabunc
источник
3

Не стоит сбивать с толку общее превосходство Groovy или даже Ruby, но более 90% веб-трафика приходится на сайты, написанные на PHP или на некоторых фреймворках Java.

Я не знаю, откуда у вас «Grails используется во многих крупных компаниях», это все равно, что сказать «все компании из списка Fortune 500 используют Python», что на самом деле верно, но они не используют python для чего-то важного для бизнеса.

Они правы, не используя Grails, Rails и т. Д. Они отлично подходят для небольших аккуратных участков, но они плохо масштабируются. Кроме того, большинство крупных предприятий имеют сложные взаимосвязанные системы, и основная проблема при создании веб-приложений заключается в том, как подключиться ко всем другим системам, которые предоставляют или потребляют ваши данные, - кодирование по соглашению просто не работает в этом пространстве.

Основным конкурентом языка Groovy на самом деле является JPython, который работает в том же пространстве (написание сценариев на JVM) и используется для тех же целей (автоматизированные тесты, автоматические сборки и т. Д.).

Джеймс Андерсон
источник
1
Оглядываясь вокруг, никто из моих знакомых не использует Groovy в эти дни, и в моем регионе не рекламируются списки вакансий Groovy. Так что, конечно, не выглядит хорошо для этого. Я уверен, что он используется, но это не основная технология здесь.
Брайан Кноблаух
1
@Brian Groovy по-прежнему единственный выполнимый выбор, если вам нужно использовать Grails. (Тхо правда Grails все больше вытесняется более чистых upcomers , таких как Play 2.!)
VORG ван Гейр
@James Не забудьте Eclipse как Groovy-киллер для сценариев JVM, автоматических тестов, сборок и т. Д.
Ворг ван Гейр,
Я наткнулся на местный магазин, используя Groovy сейчас! Тем не менее, я еще не встретил никого, кто использует Grails.
Брайан Кноблаух
2

Производительность Groovy 2.0 ставит Groovy в лигу, очень близкую к Java, см. Http://java.dzone.com/articles/groovy-20-performance-compared. Тест в этой статье очень грубый, но я работает над новым тестом для Groovy 2.1, основанным на тесте Роберта Хандта (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf), который был сделан для сравнения производительности Google Go. с другими языками. Мне нужно 2-3 недели, пока я не закончу писать статью, но измерения пока выглядят очень хорошо. Groovy2.1 с @CompileStatic и JDK7 имеет примерно ту же производительность, что и Java с JDK6 (!).

Я думаю, что Groovy будет больше конкурировать с Kotlin и, возможно, с Цейлоном, а не с Scala. Scala - это скорее академический исследовательский язык (хотя и очень интересный), и он не настолько хорош для работы, как Groovy и Kotlin. Если вам просто не хватает миксинов, методов расширения, истинных замыканий и прочего в Java, это большой шаг, который вы должны сделать, чтобы получить это. Синтаксис Groovy очень близок к Java, что является реальным преимуществом по сравнению с Kotlin.

OlliP
источник
4
Прошу не согласиться с тем, что Скала академична. Это на самом деле очень продуктивно и полезно, и в настоящее время используется во многих финансовых учреждениях, в Linkedin, Twitter и так далее. Я на самом деле пробовал и Scala, и Groovy здесь, где я работаю, и я бы никогда не выбрал Groovy для проектов со средним уровнем сложности.
Андреа
1
Буквально на прошлой неделе появилась серьезная ошибка в статически скомпилированном режиме Groovy 2.1 . Вы можете получить скорость с ошибками (например, статический Groovy), или вы можете получить надежность, но slooooooow (то есть динамически скомпилированный Groovy), но вы не можете получить и скорость, и надежность. Языки программирования с квантовым эффектом никому не нужны.
Ворг ван Гейр
1
Groovy - это язык, который ставится поверх Java (то есть добавляет некоторые функции в Java). Довольно сложные системы построены на Java. Поэтому я не думаю, что вам нужен очень сложный язык для написания сложных приложений. Я добавил несколько ошибок компилятора Groovy в базу ошибок Groovy, и я считаю, что Scala имеет компилятор лучшего качества. Но я не думаю, что вам нужен Scala, потому что приложение требует. Решение заключается в дизайне и экспертизе предметной области, а не в языке.
OlliP