Ein kurzer Ausflug in Scala
Verfasst: Montag 18. August 2008, 11:39
Servus!
Bei all den neuen Handies die nun auf dem Markt kommen wie Openmoko, iPhone und die Android-Sachen habe ich festgestellt, dass es doch nett wäre, beizeiten mein etwas betagtes 6230 zu ersetzen. Da ich aber bisher von keinem der Telefone besonders begeistert bin, dachte ich an ein Nokia Eseries um dann festzustellen, dass ich die Funktionen die die Teile so teuer machen nicht brauche - vollständige Tastatur ist nett, aber ich brauch etwas handlicheres, Word-Dateien auf dem Handy öffnen ist auch nichts was ich vermissen würde. Also wohl wieder 6xxx-Serie.
Moment! Was ist mit der Programmierung von den Teilen, so für lange Winterabende?
Auf das S60-Python würde ich wohl nicht setzen, Maemo ist warscheinlich praktisch, aber die Teile sind einfach zu groß. Also bleibt Java via MIDP. Aber direkt Java zu nutzen ist ja witzlos, daher habe ich mich etwas umgesehen: Jython läuft auf der Micro Edition nicht, JRuby wohl auch nicht, zu Clojure fand ich keine Informationen, Nice ist zu unbedeutend also bleibt Scala. Scala lässt sich auf CLDC-Systemen installieren.
Zu Scala: Um den Appetit anzuregen nehmen wir mal Make Scala Your Language for 2008 wo sie Java-Libraries via Scalas REPL verwenden. Das ist schon mal nett und zugegebenermaßen recht angenehm, jedoch für Python-Programmierer eher der Standard. Um aber Scala in Aktion zu sehen würde ich Scala the statically typed dynamic language empfehlen, wo sie "Structural Subtyping" vorstellen. Für eine statisch typisierte Sprache ist das recht cool, aber die Syntax finde ich recht kompliziert (und naja, im Vergleich zu dynamisch typisierten Sprachen ist es doch etwas komplizierter). Wohingegen mir die Chaining-Syntax durchaus gut gefällt:
Auch bietet Scala ihr Paketmanagement, wie easy_install, ASDF, Cabal, PLaneT; es nennt sich sbaz; nur dummerweise kann ich ``scala-cldc`` nicht installieren, weil danach die Scala-REPL nicht mehr funktioniert. Warum auch immer. Auch ist es unglücklich dass Java so wie es fast alle komplizierteren Konzepte seiner Vorgänger weggeworfen hat nun Scala kommt und ganz neue komplizierte Konzepte hinzufügt (wobei sich hier die Frage stellt inwieweit man sie nutzen/verstehen muss). Why not Scala? (Achtung, der Blog redirected zu einem anderen, in dem der Artikel aber nicht ist, also schnell Esc drücken) listet weitere Gründe warum Scala eben noch nicht das beste seit geschnittenem Brot ist.
Hat hier jemand Erfahrung mit Scala oder mag sich die Sprache ansehen um seine Meinung hier kundzugeben?
Bei all den neuen Handies die nun auf dem Markt kommen wie Openmoko, iPhone und die Android-Sachen habe ich festgestellt, dass es doch nett wäre, beizeiten mein etwas betagtes 6230 zu ersetzen. Da ich aber bisher von keinem der Telefone besonders begeistert bin, dachte ich an ein Nokia Eseries um dann festzustellen, dass ich die Funktionen die die Teile so teuer machen nicht brauche - vollständige Tastatur ist nett, aber ich brauch etwas handlicheres, Word-Dateien auf dem Handy öffnen ist auch nichts was ich vermissen würde. Also wohl wieder 6xxx-Serie.
Moment! Was ist mit der Programmierung von den Teilen, so für lange Winterabende?
Auf das S60-Python würde ich wohl nicht setzen, Maemo ist warscheinlich praktisch, aber die Teile sind einfach zu groß. Also bleibt Java via MIDP. Aber direkt Java zu nutzen ist ja witzlos, daher habe ich mich etwas umgesehen: Jython läuft auf der Micro Edition nicht, JRuby wohl auch nicht, zu Clojure fand ich keine Informationen, Nice ist zu unbedeutend also bleibt Scala. Scala lässt sich auf CLDC-Systemen installieren.
Zu Scala: Um den Appetit anzuregen nehmen wir mal Make Scala Your Language for 2008 wo sie Java-Libraries via Scalas REPL verwenden. Das ist schon mal nett und zugegebenermaßen recht angenehm, jedoch für Python-Programmierer eher der Standard. Um aber Scala in Aktion zu sehen würde ich Scala the statically typed dynamic language empfehlen, wo sie "Structural Subtyping" vorstellen. Für eine statisch typisierte Sprache ist das recht cool, aber die Syntax finde ich recht kompliziert (und naja, im Vergleich zu dynamisch typisierten Sprachen ist es doch etwas komplizierter). Wohingegen mir die Chaining-Syntax durchaus gut gefällt:
Code: Alles auswählen
scala> (1 to 10) filter ( x => x % 2 != 0 )
res0: Seq.Projection[Int] = RangeF(1, 3, 5, 7, 9)
Hat hier jemand Erfahrung mit Scala oder mag sich die Sprache ansehen um seine Meinung hier kundzugeben?