Nuove conoscenze che posso imparare dalla lingua Groovy

3

Mi rendo conto che, per un programmatore che viene dal mondo Java, Groovy contiene molte nuove idee e trucchi fantastici.

La mia situazione è diversa, poiché sto imparando Groovy proveniente da uno sfondo dinamico, principalmente Python e Javascript. Quando apprendo una nuova lingua, scopro che mi aiuta se conosco in anticipo quali sono le conoscenze più o meno vecchie in una nuova sintassi e quali sono veramente nuove, così posso concentrarmi su quest'ultima. Quindi vorrei sapere quali tratti distinguono Groovy tra i linguaggi dinamici.

Quali sono le idee e le intuizioni che un programmatore esperto di linguaggi dinamici dovrebbe prestare attenzione quando apprende Groovy?

    
posta Andrea 30.06.2012 - 18:01
fonte

2 risposte

5

Ecco un interessante confronto di Javascript e Groovy .

Per quanto riguarda le caratteristiche specifiche, provenienti da uno sfondo dinamico, avrai familiarità con:

  • Esecuzione sorgente in stile script
  • Digitazione dinamica
  • Chiusure
  • Sovraccarico dell'operatore
  • Sintassi nativa per dizionari
  • Espressioni regolari

Tuttavia, l'utente non ha visto:

  • Operatore di dereferenziazione sicura: potentiallyNullVariable?.methodOrField[()]
  • Supporto nativo per i linguaggi di markup tramite sintassi DOM in linea
  • Funzionalità di Programmazione orientata agli aspetti (anche se potresti averlo visto con JavaScript e Python). Dai un'occhiata a SpringSource .

Un elenco completo può essere trovato nella sezione delle caratteristiche dell'articolo di Wikipedia .

Tutto sommato, Groovy è semplicemente un altro linguaggio dinamico sulla Java VM piuttosto che sul proprio interprete nativo. Tuttavia, suggerirei di dare un'occhiata a Scala come il creatore di Groovy sembra favor it come prossimo successore di Java (e non in realtà Groovy):

I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy...

    
risposta data 30.06.2012 - 20:14
fonte
0

Non penso che ci sia molto di più a Groovy che a Python. Il principale elemento di differenziazione è che viene eseguito sulla JVM, quindi è più sulla piattaforma che sulla lingua stessa.

Le cose che verrebbero in mente senza troppo pensare troppo sono:

  • un enorme elenco di librerie e framework disponibili,
  • una vasta scelta di sistemi di compilazione,
  • miglioramenti regolari con gli aggiornamenti JVM, che di solito sono retrocompatibili (per il bene e il male, alcuni sostengono che l'interruzione di Python 3 sia vantaggiosa e sarebbe un approccio gradito per l'ecosistema Java, altri rimarrebbero strongmente contro di essa) ,
  • la programmazione multi-thread sarebbe molto più semplice.
risposta data 30.06.2012 - 20:14
fonte

Leggi altre domande sui tag