Devi conoscere Java prima di provare Scala

15

Sono interessato ad imparare Scala. Ne ho letto molto, ma molte persone lo apprezzano perché ha un modello di attore che è migliore per la concorrenza, gestisce xml in un modo molto migliore, risolve il problema delle funzioni di prima classe.

La mia domanda è: hai bisogno di sapere Java per capire / apprezzare il modo in cui le cose funzionano in Scala? È meglio prima prendere una pugnalata su Java e poi provare Scala o puoi avviare Scala con assolutamente nessun java backround?

    
posta gizgok 21.11.2011 - 12:12
fonte

2 risposte

17

Scala è la sua lingua e, di per sé, non richiede la conoscenza di alcuna lingua esistente. Se lo volessi, potresti imparare Scala come prima lingua. Nella pagina Learning Scala del loro sito web , ci sono punti di accesso al tutorial per diversi livelli di esperienza, che vanno da programmatori per la prima volta alla programmazione di ricercatori linguistici per esperti di programmazione funzionale.

La maggior parte della documentazione è incentrata su persone che sanno programmare, sfortunatamente, ma in realtà ho lavorato su alcuni tutorial di Scala. Non è così male. Ci si aspetta che tu capisca alcuni concetti di base, però.

    
risposta data 21.11.2011 - 12:15
fonte
16

Java significa due cose diverse:

  1. il linguaggio Java - questo include la lingua, con la sua sintassi, regole, caratteristiche e semantica generale
  2. la piattaforma Java - questo include il runtime (JVM), l'intera libreria standard e un certo numero di framework / librerie popolari. Nota ci sono anche altri "runtime" di Java come l'esecuzione come JavaScript dopo la crosscompilation tramite GWT, o Java su Android, che viene eseguito anche in un runtime differente

Il linguaggio Java e Scala funzionano entrambi sulla stessa piattaforma. AFAIK Scala può chiamare abbastanza facilmente il codice Java, quindi se c'è alcun reale interesse nell'apprendimento di Java per capire / sfruttare Scala, allora è capire come funziona e come utilizzare al meglio il codice Java dall'app di Scala. Come linguaggio, è improbabile che Java ti insegni tutto ciò che C # non ti avrebbe insegnato (suppongo che dal tuo profilo tu abbia qualche esperienza in C #).

L'analogia .NET di questa domanda sarebbe:

Do you need to know C# / VB.NET before trying F#?

In entrambi i casi, la risposta è abbastanza strong "No".

    
risposta data 21.11.2011 - 16:28
fonte

Leggi altre domande sui tag