Devi conoscere Java prima di provare Scala


15

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

La mia domanda è: devi conoscere Java per capire / apprezzare il modo in cui le cose funzionano in Scala? È meglio prima prendere un colpo a Java e poi provare Scala o puoi iniziare Scala senza assolutamente java backround?


5
Hai bisogno di un biface per apprezzare come funzionano le seghe? : D
back2dos

lol, voterei questa risposta.
gizgok,

Risposte:


17

Scala è la sua lingua e di per sé non richiede la conoscenza di alcuna lingua esistente. Se lo desideri, potresti imparare Scala come prima lingua. Nella pagina Learning Scala del loro sito Web , ci sono punti di ingresso al tutorial per diversi livelli di esperienza, che vanno dai programmatori principianti ai ricercatori del linguaggio di programmazione agli esperti di programmazione funzionale.

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


4
Thomas ha perfettamente ragione. Voglio solo aggiungere che parte del fascino di Scala è che puoi riutilizzare l'intera libreria di grandi standard di clacson di Java. Questo può essere o non essere importante nel tuo caso, ma se lo è, la precedente esperienza con Java sarà ovviamente molto utile, perché non puoi fare a meno di aver imparato molto sulla libreria standard.
Kilian Foth,

@Kilian Ci ho pensato. Sto ancora imparando Scala e in realtà non ho ancora fatto nulla di significativo, ma non sono sicuro di quanto sia importante conoscere Java per poter usare una libreria Java in Scala. Non è come cadere nella sintassi / stile Java per chiamare un JAR precompilato da Scala.
Thomas Owens

1
Per quasi tutte le piattaforme moderne ci vuole molto più tempo per imparare la libreria standard che per imparare la sintassi della lingua. Quindi c'è un vantaggio nel conoscere le librerie Java se stai cercando di imparare Scala.
Jeremy,

16

Java significa due cose diverse:

  1. il linguaggio Java - questo include il linguaggio, con la sua sintassi, regole, caratteristiche e semantica generale
  2. la piattaforma Java: include il runtime (JVM), l'intera libreria standard e una serie di framework / librerie popolari. Nota che ci sono anche altri "runtime" di Java come l'esecuzione come JavaScript dopo la compilazione incrociata tramite GWT o Java su Android, anch'esso eseguito in un runtime diverso

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

L'analogia con .NET di questa domanda sarebbe:

Devi conoscere C # / VB.NET prima di provare F #?

In entrambi i casi, la risposta è piuttosto "No".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.