2009-03-18 19 views

risposta

4

Il mio preferito è Jython e lo utilizzo incorporando un interprete Jython nella mia applicazione Java. Viene utilizzato in progetti commerciali e consente di personalizzare facilmente l'applicazione in base alle esigenze dei clienti senza dover compilare nulla. Basta inviare loro la sceneggiatura, e basta. Alcuni clienti potrebbero persino personalizzare la loro applicazione da soli.

3

Potrei preferire Scala, ma non posso dire, ancora imparando. Al momento utilizzando Groovy per scrivere piccoli programmi di utilità. Non ho provato nemmeno Groovy su Grails. Ho ascoltato molto bene anche su Lift Framework for Scala.

+0

Ero un fan della Scala per un po '(non inteso come un insulto, è diretto a me stesso, non a te) ma mi sono trovato infastidito dalla sua pedanteria sui tipi e la sua sintassi alquanto complessa. Sembra una lingua con troppi lavandini imbullonati. Ho trovato Clojure più confortevole. Naturalmente, il chilometraggio di ognuno può variare. –

3

JavaScript Rhino ha un vantaggio interessante: è included with the JDK. Detto questo, le versioni successive di Rhino rispetto a quella con Java 6 hanno funzioni interessanti come generators, array comprehensions, and destructuring assignment.

Preferisco utilizzarlo ogni volta che la cerimonia di gestione delle eccezioni Java ingombra il codice senza alcun reale beneficio. Lo uso anche quando voglio scrivere un semplice script da riga di comando che sfrutta le librerie Java.

4

Ho utilizzato con successo Groovy in un progetto commerciale. Io preferisco linguaggi di scripting a causa della battitura anatra e chiusure:

def results = [] 
def min = 5 
db.select(sql) { row -> 
    if (row.value > min) 
     results << row; 
} 

Traduzione: Eseguire una query SQL sul database e aggiungere tutte le righe in cui la colonna "valore" è maggiore di "min" a "risultato". Nota con quanta facilità puoi passare i dati al "loop" interno o ottenere risultati da esso. E sì, mi rendo conto che avrei potuto ottenere lo stesso con SQL:

def results = [] 
def min = 5 
db.select(sql, min) { row -> 
    results << row; 
} 

(solo immaginare che la stringa in "sql" ha un al posto giusto "?").

IMHO, l'utilizzo di un DB con una lingua che non offre operazioni con elenchi ricchi (ordinamento, filtro, trasformazione) e chiusure serve solo come esempio non lo fa.

Mi piacerebbe usare Jython di più ma il lavoro su Jython 2.5 è iniziato solo di recente e Python 2.2 è troppo vecchio per i miei scopi.

+0

Non solo si potrebbe ottenere lo stesso con SQL, sarebbe più efficiente e più facile da leggere se lo facessi ... –

+1

... e non avrei un semplice esempio che si adatterebbe in cinque righe e che tutti qui potrebbero capire senza 10 righe di spiegazione. Attenti all'intenzione, signore. –

3

Java. Sul serio. È un linguaggio potente, facile da usare (se un po 'verboso) che tutti conoscono. L'integrazione con Java è grande.

1

La società che lavoro per incorporare Groovy in un sito Web Java/Spring, che viene distribuito su un numero di siti. Gli script sono archiviati esternamente al file WAR compilato e ci consentono di manipolare parte della logica del sito senza dover distribuire nuovi WAR in ogni sito. Finora, questo approccio ha funzionato molto elegantemente per noi.

Una caratteristica particolarmente piacevole di Groovy è che può essere simile al codice Java, il che rende molto facile il porting di classi Java esistenti.

1

E SISC (Secondo interprete del codice di schema)?

REF: http://sisc-scheme.org/

+0

+1 per indicare questa lingua. Sembra molto bello, soprattutto se sei uno specialista di Scheme stagionato che non vuole passare a Clojure. –

6

Per me, Clojure vince a mani basse.Essendo un Lisp, è conciso e digitato in modo dinamico, ha un'enorme potenza espressiva, quindi posso scrivere molte funzionalità in poche righe. E la sua integrazione con Java è insuperabile – Sto solo scherzando in parte quando dico che Clojure è più compatibile con Java che Java stesso. Di conseguenza, l'intera gamma di librerie Java, sia di JDK che di terze parti, è completamente utilizzabile.

Infine, con un po 'di attenzione, il codice Clojure può essere veloce quanto il codice Java, quindi non sto nemmeno perdendo le prestazioni.

+2

+1 - come ha sottolineato Stuart Halloway: Clojure è un Java migliore di Java. – wlangstroth

Problemi correlati