Scala hat in den letzten Monaten/Jahren immer mehr an Popularität gewonnen. Seine hybride Natur, sowohl eine imperative als auch eine funktionale Sprache zu sein, zieht sowohl die Java-Welt als auch funktionale Fundamentalisten an, die aus der Welt kommen, in der Aussagen wie x=x+1 mit völligem Unglauben betrachtet werden. Es wurde gesagt, dass Scala 'Java, wie es hätte sein sollen' ist, aber es gibt auch zahlreiche Beschwerden über die Sprache und ihre Eigenschaften (wie z.B. dass sie nicht frei von Seiteneffekten ist, zu komplex, zu viel von allem, zu viel Abstraktion, eine seltsame Syntax usw.). Letzteres könnte sogar ein Beweis für ihre Beliebtheit sein, denn die Leute scheinen die Sprache tatsächlich zu benutzen, anstatt sie nur kurz anzuschauen und müde, aber glücklich aufzuhören, nachdem sie "Hallo Welt" damit geschrieben haben. In diesem Blogbeitrag gebe ich Ihnen einige (hoffentlich) nützliche Tipps, wie Sie am besten anfangen, wenn Sie diese Sprache lernen wollen, die einer der Kandidaten ist, um "unsere nächste große Sprache" zu werden und Java in dieser Hinsicht zu übertreffen.
Wählen Sie eine IDE, oder nicht
Das erste Problem, auf das Sie stoßen könnten, ist, dass die verschiedenen Scala-IDE-Plugins noch nicht die Reife der Java-Unterstützung erreicht haben, an die Sie vielleicht gewöhnt sind. Es wird zwar hart daran gearbeitet, aber es kann sein, dass Ihre Lieblings-IDE immer noch Probleme macht und einfriert (so wie ich). Im Moment scheint das Netbeans-Plugin am stabilsten zu sein (dies ist die IDE, die David Pollak, der Schöpfer von Lift, zu verwenden scheint). Wenn Sie Eclipse verwenden, werden Sie wahrscheinlich die Nightly-Build-Version des Scala-Plugins benötigen, da dies die einzige Version ist, die aktiv entwickelt wird. Das bedeutet jedoch, dass Sie den Scala-Stamm benötigen, um damit zu arbeiten.
Es gibt auch reichlich Unterstützung für Nicht-IDEs, und kürzlich habe ich versucht, wieder zu Emacs zu wechseln. Für einige weckt das Erinnerungen an die gute alte Universitätszeit, für andere ist es der reinste Horror. Ich muss sagen, dass es für mich nach Jahren der Entwicklung mit Eclipse eine eher beruhigende Erfahrung war. Sie müssen ein paar Vorbereitungen treffen, um ein gutes Scala-Erlebnis zu haben. Einen ausgezeichneten Blogbeitrag, in dem beschrieben wird, wie Sie Ihre Emacs-Umgebung für Scala mit Yasnippet, exuberant ctags und maven einrichten, finden Sie hier.
Probieren Sie den Stamm aus
Die letzte veröffentlichte Version von Scala ist 2.7.5. Die nächste Version wird 2.8.0 sein, aber ihr Veröffentlichungsdatum ist noch nicht bekannt. Der unschätzbare Paul Philips hat jedoch viele Fehlerkorrekturen und Verbesserungen am Scala-Compiler und an der REPL vorgenommen, die alle im Trunk aushängen. Um die Vorteile voll auszuschöpfen, sollten Sie sich die Quellen ansehen und sie bauen. Beachten Sie, dass die Scala Collections API im Trunk neu gestaltet wurde und sich von der Version 2.7.5 unterscheidet. Um ein gutes Verständnis für das neue Design und die API im Allgemeinen zu bekommen, sollten Sie den neuen SIP (Scala improvement proposal) für Sammlungen lesen.
Das Standardwerk ist Programming in Scala, mitverfasst von Martin Odersky (dem Erfinder von Scala) selbst. Dieses Buch ist sehr umfangreich, aber sehr gründlich und enthält viele Beispiele. Ein weiteres Buch, das das Licht der Welt erblickt hat, ist Beginning Scala von David Pollak (bereits erwähnt). Ich habe es nicht gelesen, aber die Rezensionen deuten darauf hin, dass es ebenfalls ein ausgezeichneter Einstieg ist. Weitere Bücher werden in diesem Jahr auf den Markt kommen.
Informieren Sie sich über Lift
Es ist durchaus möglich, dass Ihnen Scala gefällt und Sie es in Ihrem Unternehmen einsetzen möchten. Lift ist das erste in Scala geschriebene Web-Framework, das von David Pollak entwickelt wurde. Das Herunterladen und Erstellen einer einfachen Webanwendung ist ein Kinderspiel. Die Distribution enthält eine Vielzahl von Maven-Archetypen, mit denen Sie in weniger als fünf Minuten eine einfache Webanwendung erstellen können. Lift hat sein eigenes Datenbank-Mapping-Framework, aber es gibt auch JPA-Unterstützung, wenn Sie das mögen. An der JTA-Integration wird ebenfalls gearbeitet.
Lesen Sie einige Artikel
Es gibt jede Menge (sowohl akademische als auch etwas weniger akademische) Artikel über Scala. Wenn Sie z.B. wissen wollen, welche Überlegungen hinter dem Design der Scala-Akteursbibliothek stehen, lesen Sie die scala
- Daniel Spiewak Viele nützliche Scala-Beispiele.
- Tony Morris. Er ist der Schöpfer von
funktionalem Java und vonScalaz . Aber Vorsicht, wenn Sie sich das ansehen, könnten Sie in den tiefen funktionalen Gewässern landen, in denen Monaden herrschen. - Jonas BonerErhat eine Menge Erfahrung mit der Verwendung von Scala in der realen Welt, über die er zum Teil ausführlich gebloggt hat. Die Lektüre lohnt sich.
- Planet Scala Vielleicht brauchen Sie nicht einmal mehr als dies. Hier werden zahlreiche Blogbeiträge (einschließlich des oben erwähnten) über Scala gesammelt.
IRC beitreten
Scala hat einen IRC-Kanal, den Sie hier finden. Wenn Sie bei einem Problem nicht weiterkommen, gibt es immer noch die Mailinglisten, aber im IRC-Kanal tummeln sich täglich viele kompetente Leute. Verwenden Sie lodgeit, um den Code zu zeigen, bei dem Sie nicht weiterkommen, und Sie werden in kürzester Zeit eine Antwort erhalten.
Fangen Sie an zu programmieren.
Lift könnte die richtige Wahl sein, wenn Sie wirklich einige nützliche, praktische Webanwendungen für die reale Welt schreiben wollen. Wenn Sie so unpraktisch sind wie ich, wählen Sie ein paar Probleme aus dem
Verfasst von
Arjan Blokzijl
Contact



