Soll ich studieren Scala?

Ich bin ein erfahrener C++ - Programmierer mit durchschnittlichen Python-Fähigkeiten. Die Gründe, die ich studierte Python in den ersten Platz waren:

  • um eine andere Perspektive auf die Programmierung (statisch vs dynamisch, interpretiert vs. kompiliert, etc.)
  • erhöhen die Bandbreite der Projekte, an denen ich arbeiten kann (Python ermöglicht es mir zu tun, web-Entwicklung, Entwicklung für Symbian-Handys oder knock-up-quick-system-administration-scripts)
  • zu ergänzen, um meine C++ - Fähigkeiten.

Ich denke, dass Python ist toll und ich glaube, dass ich erreicht haben, die oben genannten Ziele zu erreichen. Ich werde weiterhin verwenden Sie es für kleine Projekte, Skripte und web-Entwicklung.

Ich bezweifle, dass ich es verwenden können, für mittelgroße bis große Projekte, obwohl. Während die dynamische Typisierung ist bequemer, es erlaubt eine gewisse Klasse von Fehlern, die finde ich verstörend. Unit-Tests und linting kann dieses problem gelöst werden, aber statische Typisierung vollständig eliminiert es.

Nachdem man einige Programmiersprachen, denke ich, dass Scala sieht aus wie ein guter Kandidat:
Ich mag die Typ-Inferenz und es läuft auf der JVM, so sollte es überall dort verfügbar, wo die JVM verfügbar ist. Ich kann auch lernen, mehr über die funktionale Programmierung, wenn Sie es verwenden.

Aber... ich habe auch einige Zweifel, und das ist, wo ich hoffe, dass die Stack-Overflow-community können helfen:

  • Portabilität: Windows und Linux, zumindest hoffe ich das. Was ist mit Handys, ist es möglich, um es zu bekommen, dort zu laufen?
  • C++ - Kompatibilität: kann ich mischen C++ - code mit Scala? (JNI?)
  • Programmier-Paradigma: ich fühle mich nicht wohl mit dem Wechsel zu funktionale Programmierung (FP) in dieser Zeit. Kann ich mit dem Objekt-orientierten und prozeduralen mit einigen FP auf den ersten und dann ändern sich die Proportionen, wie ich lernen?
  • Tool-chain maturity: was ist Ihre Erfahrung mit IDEs und Debuggern? Ich bin mit Eclipse gerade jetzt, und es scheint OK.
  • Lernen, Geschwindigkeit: in Anbetracht meiner Erfahrungen, wie schnell, denkst du, dass ich erreichen kann, eine praktikable Ebene mit Scala?
  • Bereitstellung: wie genau stellen Sie ein Scala-Programm? Ist es ein jar, ist es eine ausführbare Datei?

Endlich, was denkst du, was sind einige der Scalas-und Nachteile?

  • Buch: Programming in Scala, Martin Odersky et al., Artima, 2007
  • Danke Euch allen für Eure Antworten und Empfehlungen. Ich habe beschlossen, einen genaueren Blick auf Scala.
  • Das beste Buch für mich war "Scala" für die Ungeduldigen" von Cay Horstmann. Die ersten 9 Kapitel sind frei verfügbar.
InformationsquelleAutor rpg | 2009-07-10
Schreibe einen Kommentar