Leonidas, du zeigst den selben Impuls, wie mein Bekannter, gleich die ganze Sprache lernen zu wollen. Warum? Scala ist kompliziert – unbestritten – und davor wegzulaufen, kann ich sehr gut nachvollziehen. Geht mir genauso
Doch ich sage mir, wenn man einfach eine Liste von möglichen Objekten, Klassen und Methoden bzw. Funktionen hat, ähnlich der Art wie ja auch die Python Dokumentation einfach nur aufzählt, was es so gibt, ist Scala nicht schwerer als Python. Man darf nur nicht den Fehler machen, in deren JavaDoc-Äquivalent zu gucken.
Ich befürchte aber, ich habe meinen ersten Satz falsch formuliert. Es ging mir nicht darum, Scala komplett zu lehren, sondern dass es nicht schwerer wäre, ein Subset von Scala, welches dem Umfang von Python entspricht, zu nehmen und damit Informatik-Grundlagen zu machen als wenn es Python wäre. Man stelle sich so Aufgaben wie in SICP vor.
Ich stimme Darii zu, dass die aktuelle Dokumentation von Scala dafür ungeeignet ist, auch wenn Scala by Example ja schon für ein Vorlesungsscript gedacht war – meine ich. Das erwähnte "to" muss man IMHO einfach als Syntax wie "if" oder "val" lernen. Genauso würde man sich in Python merken, dass man mit "for i in range(1, 49+1)" eine klassische for-next-Schleife bilden kann. Da ist auch egal, wo das range() nun genau her kommt.
BlackJack, die einfache Regel dafür, wann Typdeklarationen nötig sind, ist IMHO diese: Parameter von Methoden bzw. Funktionen haben immer Typen. Auch das Angeben des Typs für den Rückgabewert kann man einfach immer erzwingen. Oder man ergänzt als Ausnahme: Nicht-rekursive Funktionen, die ein return benötigen (am besten nur solche, die in eine Zeile passen), brauchen keinen Typ für den Rückgabewert.
metty, meine Studienzeit ist schon länger vorbei. Ich war an der Uni in Kiel.
Wie lunar sagt, wird Scala von einigen als Alternative bzw. Nachfolger von Java gehandelt. Das macht die Sprache interessant, denn Java ist denke ich im professionellen Umfeld etabliert und daher wichtig und wenn sich der Fokus auf Scala verschiebt, dann könnte die Sprache auch interessant bzw. interessanter für die Lehre werden. Gerade auch, weil man (sage ich mal so als Amateur, was den Lehrbetrieb angeht) ein Curriculum aufbauen könnte, welches immer wieder verschiedene Seiten von Scala beleuchtet. Mächtig genug, um alles mögliche abzudecken von Algorithmen und Datenstrukturen, Compilerbau, Automaten bis hin zur Nebenläufigkeit sowie Dinge wie Software-Entwicklung im Großen, wäre Scala in jedem Fall.
Ich könnte mir vorstellen, Studenten wollen keine (vermeintlich) toten Sprachen lernen und wären vielleicht sogar über Scala froh. Und wer schreiend davon läuft (ganz nach dem Motto von Fisherman's Friend) ist einfach nicht stark genug
Stefan