Groovy está indo embora? [fechadas]

30

Estou certo de que essa pergunta já foi feita várias vezes. No entanto, eu gostaria de perguntar novamente com a intenção de qual é o futuro dessas línguas.

Fui apresentado ao Groovy e gostei muito. Eu senti que a sintaxe era mais simples e muito mais próxima do Java e pude aprender rapidamente o Grails .

Depois, houve Scala , e o quadro da web funcionou como Lift . Ainda estou aprendendo Scala e às vezes acho a sintaxe muito difícil.

No entanto, ainda me pergunto qual é o futuro do Groovy. Quando o autor de Groovy diz que nunca teria criado groovy se soubesse sobre Scala, isso me faz pensar se há futuro. É claro que o Groovy percorreu um longo caminho e o Grails é usado hoje em dia por muitas grandes empresas.

Se alguém olhasse hoje para Grails vs Lift, então Grails seria um vencedor claro. Mais empresas estão usando. Mas, considerando tudo o que eu disse até agora, estou interessado em saber se alguém deve investir no Groovy? Groovy está indo embora e Scala é a melhor escolha? Se o CEO da BMW diz que ele dirige um Mercedes, então alguém se pergunta por que não devemos todos dirigir também, certo?

(Entendo se essa pergunta é realmente ampla e pode ser encerrada. Espero torná-la uma Wiki aberta para outras pessoas.)

Amir Raminfar
fonte
11
Se alguém olhasse hoje para Grails vs Lift, então Grails seria um vencedor claro. Quem disse?
Mahmoud Hossam
Eu estava apenas fazendo por popularidade. O Grails possui x 1000 seguidores e o Lift apenas x200ish no stackoverflow.
Amir Raminfar
Talvez levantar é mais fácil? tem melhor documentação? ou talvez o Grails esteja presente há mais tempo que o elevador?
Mahmoud Hossam
3
Seria mais justo comparar o Grails com o Scala + Play Framework. O Play Framework também pode ser usado com Java e é inspirado no Ruby on Rails.
Jonas
3
"Se alguém olhasse hoje para Grails vs Lift, então Grails seria um vencedor claro" , você disse há 2 anos, mas Play! 2 substituiu facilmente o Lift como a principal estrutura da Web baseada em Scala e está nas ruas à frente do Grails (IMHO).
Vorg van Geir

Respostas:

23

Eu não acho que Groovy vai desaparecer, é uma entidade auto-sustentável agora. A estrutura do Grails é construída em torno da linguagem Groovy, o que é uma boa razão para permanecer vivo. Groovy tem sua aplicação matadora.

Não estou dizendo que Grails é o único projeto vital do Groovy, Gradle também é muito bom. GORM é realmente útil. Gant é uma boa melhoria em relação à Ant.

Sem mencionar que o Groovy / Grails agora está sob o guarda-chuva do SpringSource e está comprometido com os dois.

Se o CEO da BMW diz que ele dirige um Mercedes, então alguém se pergunta por que não devemos todos dirigir também, certo?

Adivinha o que James Gosling escolheu?

Quíron
fonte
Gradle não é mais open source! _!
Ant
11
O que realmente importa é a linguagem principal e as bibliotecas principais. Você não pode fazer nada melhor que o Groovy. A linguagem principal é fácil e dinâmica, é rápida e as bibliotecas java como apache etc. são melhores do que em outras línguas. É a melhor linguagem existente e, por isso, não vai desaparecer. Plugins e Grails não é o que importa - o mundo de linguagens dinâmicas como PHP já sabe o que importa (como eu disse). E há tomcat e jboss. Agora vá conferir o Ruby, é uma piada! É pior que .net! Agora vá e verifique o Python e descubra como lidar com erros no código de rede.
Andrew Smith
Você está certo .. Gradle está se tornando mais popular que usa scripts Groovy ..
A Coder
6

Assim como os comentários de The Legend of 1982:

O Groovy continuará sendo uma alternativa dinâmica ao Java, com sintaxe próxima o suficiente do Java para permitir que muitos desenvolvedores façam a troca (ou pelo menos se envolvam nela).

  • O Grails está constantemente entre as duas principais estruturas sempre que Matt Raible faz seus enormes gráficos / análises de comparação de estruturas da web da linguagem JVM. A dele é provavelmente a análise mais completa existente.

  • O GPars é uma nova lib / API de simultaneidade que traz ao Groovy as capacidades da Scala lá.

O problema com a velocidade melhorará com o tempo, à medida que o Groovy descobrir como usar os truques invokedynamic e outros do compilador.

Martijn Verburg
fonte
"O Grails está constantemente entre as duas principais estruturas", mas os back-ends baseados em PHP não são considerados uma "estrutura", mesmo que seja isso que a grande maioria das empresas ainda usa.
Vorg van Geir
3

Groovy é uma linguagem muito agradável e subestimada (mesmo por seu próprio criador, como você mencionou). Quanto a mim, seu papel no ecossistema Java é como o papel de Lua no ecossistema mundial C / C ++. Sim, não é tão rápido, mas mesmo assim.

Ficarei muito triste se o groovy morrer, mas esse roteiro realmente nos diz que não é tão ruim assim.

Na verdade, o Groovy é uma linguagem muito agradável, elegante e expressiva. Quanto a Scala, acredito que Groovy e Scala estão apenas em nichos diferentes.

shabunc
fonte
3

Para não prejudicar a excelência geral do Groovy ou do Ruby, mais de 90% do tráfego da Web é para sites escritos em PHP ou em algum framework Java.

Não sei de onde você tirou o "Grails é usado por muitas grandes empresas", é como dizer "todas as empresas da Fortune 500 usam Python", o que é realmente verdade, mas elas não usam o python para nada que seja crítico para os negócios.

Eles têm razão em não usar Grails, Rails, etc. Eles são ótimos para sites pequenos e organizados, mas não são bem dimensionados. Além disso, a maioria das grandes empresas possui sistemas interconectados, e o grande desafio ao criar aplicativos da Web gira em torno de como se conectar a todos os outros sistemas que fornecem ou consomem seus dados - a codificação por convenção simplesmente não funciona nesse espaço.

O principal concorrente da linguagem é o JPython, que opera no mesmo espaço (Script em uma JVM) e é usado para o mesmo tipo de coisas (testes automatizados, compilações automatizadas etc.).

James Anderson
fonte
11
Olhando em volta, ninguém que conheço usa o Groovy atualmente e não há nenhuma listagem de empregos do Groovy sendo anunciada em minha área. Então, com certeza não parece bom para isso. Tenho certeza de que está em uso, mas não é uma tecnologia convencional por aqui.
precisa saber é o seguinte
11
@ Brian Groovy ainda é a única opção viável se você precisar usar o Grails. (Tho reconhecidamente Grails está cada vez mais sendo suplantado por upcomers mais limpas, como Reproduzir 2.!)
VORG van Geir
@ James Não se esqueça Eclipse como Groovy-killer para JVM scripting, testes automatizados e constrói, etc.
VORG van Geir
Encontrei uma loja local usando o Groovy agora! No entanto, ainda estou para conhecer alguém que use Grails.
precisa
2

O desempenho do Groovy 2.0 coloca o Groovy agora em uma liga muito próxima do Java, consulte http://java.dzone.com/articles/groovy-20-performance-compared A referência neste artigo é muito grosseira, mas estou trabalhando agora em um novo benchmark para o Groovy 2.1 baseado no de Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) feito para comparar o desempenho do Google Go com outros idiomas. Preciso de 2 a 3 semanas até terminar de escrever o artigo, mas as medidas parecem muito boas até agora. O Groovy2.1 com @CompileStatic e JDK7 tem aproximadamente o mesmo desempenho que Java com JDK6 (!).

Acho que o Groovy competirá mais com o Kotlin e talvez com o Ceilão, e não com o Scala. Scala é mais uma linguagem de pesquisa acadêmica (embora muito interessante) e não tanto para se fazer um trabalho como Groovy e Kotlin. Se você está simplesmente sentindo falta de mixins, métodos de extensão, fechamentos verdadeiros e coisas em Java, é um grande passo que você precisa dar para conseguir isso. A sintaxe do Groovy está muito próxima do Java, que considera um ponto de venda real comparado ao Kotlin.

OlliP
fonte
4
Eu imploro para discordar sobre Scala ser acadêmico. Na verdade, é muito produtivo e útil, e atualmente em uso em muitas instituições financeiras, no Linkedin, Twitter e assim por diante. Na verdade, eu tentei o Scala e o Groovy aqui onde trabalho e nunca escolheria o Groovy para projetos acima de um leve limiar de complexidade.
Andrea
11
Na semana passada , surgiu um bug sério no modo compilado estaticamente do Groovy 2.1 . Você pode obter velocidade com bugs (por exemplo, Groovy estático) ou obter confiabilidade, mas slooooooow (por exemplo, Groovy compilado dinamicamente), mas não pode obter velocidade e confiabilidade. Linguagens de programação de efeito quântico não servem para ninguém.
Vorg van Geir
11
Groovy é uma linguagem colocada sobre Java (isto é, adiciona alguns recursos ao Java). Sistemas bastante complexos foram criados com Java. Portanto, não acho que você precise de uma linguagem muito sofisticada para escrever aplicativos complexos. Adicionei vários erros de compilador Groovy à base de erros do Groovy e acredito que o Scala tenha o compilador de melhor qualidade. Mas não acho que você precise do Scala porque o aplicativo é exigente. A solução está no design e na experiência do domínio do problema, não tanto no idioma.
OlliP