2. Elm
Die Konsole
Sie werden in diesem Kurs viel mit der Konsole arbeiten. Damit meine ich das hier:
Eine Windows-Konsole:
Eine Mac-Konsole:
Ähnlich wie im File-Explorer können Sie auf der Konsole durch den Verzeichnisbaum wandern. Meine
Beispiele beziehen sich hier auf die Windows-Konsole. Unter Linux oder Mac ist teilweise leicht
verschieden. Klicken Sie auf das Start-Symbol in der linken unteren Ecke, tippen cmd
ein und drücken Enter. Die Konsole sollte sich öffnen:
C:\>
Klicken Sie auf
Ihr Verzeichnis auf den Rechnern im Rechnerraum
Wenn Sie Ihren eigenen Laptop nutzen, können Sie diesen Abschnitt überspringen. Ansonsten: Öffnen Sie den File Explorer und betrachten Sie die verschiedenen Laufwerke:
Was ist der Unterschied zwischen C:\
, D:\
und H:\
?
Die Laufwerke C:\
und D:\
liegen auf dem Rechner, an dem Sie sitzen.
Das Laufwerk H:\
gehört Ihnen und liegt auf einem zentralen Server.
Konkret heißt das:
- Andere Nutzer, die sich später (morgen) auf dem gleichen Rechner einloggen, können die
Daten, die Sie auf
C:\
undD:\
gespeichert haben, sehen. Die Daten sind also "öffentlich". Sie liegen physisch auf dem Rechner, an dem Sie sitzen. -
Wenn Sie heute eine Datei auf
C:\
oderD:\
abspeichern und später sich auf einem anderen HSZG-Rechner einloggen, dann können Sie diese Datei nicht mehr finden. Sie liegt ja auf einem anderen Rechner. -
Wenn Sie eine Datei auf
H:\
abspeichern, dann- können andere Nutzer, die sich später auf dem gleichen Rechner einloggen, sie nicht sehen
- können Sie, wenn Sie sich morgen an einem anderen Rechner einloggen, sie immer noch sehen.
H:\
ist ein Netzwerklaufwerk. Es ist Ihnen persönlich zugeordnet und wird beim Start in den Rechner geladen, an dem Sie sitzen (gemountet).
H:\
und nichts auf C:\
. Passen Sie
auf,
denn die Datei-Speichern-Dialogfenster von Windows-Programmen führen Sie oft erst einmal nach
C:\
.
Ihr PP-Verzeichnis
Legen Sie für diese Veranstaltung ein Verzeichnis PP
(Abkürzung für
Programmierparadigmen) an.
Wen Sie auf einem HSZG-Rechner arbeiten, stellen Sie sicher, dass der auf dem Laufwerk
H:\
liegt.
Alle Dateien, die Sie im Laufe dieser Veranstaltung erstellen und herunterladen, speichern
Sie unter PP
oder in einem Unterverzeichnis ab.
(Falls Sie selbst schon ein Ordnungssystem haben, Ihre Dateien irgendwie zu organisieren, dürfen Sie
natürlich tun,
was Sie wollen; dieser Abschnitt ist eher als Hilfe für Neulinge gemeint.) Sie können
dann auf der Konsole in das Verzeichnis laufen, indem Sie folgende Befehle nacheinander eingeben.
Im folgenden Beispiel stellen die grauen Zeichen das dar, was die Konsole von sich aus druckt;
Ihre Eingaben sind in schwarz zu sehen.
C:\> H:\
H:\> cd PP
H:\PP\>
Elm auf Ihrem Rechner installieren
Sie finden in Netz ausgezeichnete Einführung in Elm, besonders, wenn Sie auch daran interessiert sind, Elm für die Entwicklung von Web-Applikationen zu verwenden (wofür es eigentlich ursprünglich gedacht ist).- Elm installieren
- elm-lang.org, die offizielle Webseite;
- elmprogramming.com, ein ausführliches Elm-Tutorial;
- cs.lmu.edu/~ray/notes/introelm/ von Ray Toal: für Ungeduldige. Konzentriert sich auf das Erstellen von Web-Anwendungen und Graphik mit Elm.
Im Rechnerraum sollte Elm bereits installiert sein. Wenn Sie an einem eigenen Rechner arbeiten, dann laden Sie sich den Elm-Installer herunter, öffnen Sie ihn und folgen den Schritten. Eventuell müssen Sie auch noch Node.js installieren.
Ein Elm-Projekt starten
Wir schreiben in dieser Vorlesung keine großen Software-Projekte. Dennoch besteht Elm darauf,
dass
Sie
Ihre Quelltext-Dateien im "richtigen" Ordner ablegen. Legen Sie sich auf Ihrem Rechner einen
Ordner
an, wo Sie die Elm-Programme für die Vorlesung Programmierparadigmen
speichern wollen. Legen Sie dafür unter H:\PP\
einen
Unterorder elm
an. Gehen Sie mit der Konsole in diesen Ordner und tippen Sie
elm init
. Schritt für Schritt heißt das:
C:\> H:\
H:\> cd PP\elm
H:\PP\>\elm\> elm init
Hello! Elm projects always start with an elm.json file. I can create them! Now you may be wondering, what will be in this file? How do I add Elm files to my project? How do I see it in the browser? How will my code grow? Do I need more directories? What about tests? Etc. Check out <https://elm-lang.org/0.19.1/init> for all the answers! Knowing all that, would you like me to create an elm.json file now? [Y/n]:
Geben Sie nun Y ein und drücken Enter. Es wird jetzt eine Datei
elm.json
und ein Verzeichnis src
erstellt.
Jetzt können Sie Elm im sogenannten Repl-Modus starten:
H:\PP\>\elm\> elm repl
---- Elm 0.19.1 ---------------------------------------------------------------- Say :help for help and :exit to exit! More at <https://elm-lang.org/0.19.1/repl> --------------------------------------------------------------------------------
1 + 1
2 : number
"guten" ++ " " ++ "tag"
"guten tag" : String
Im nächsten Teilkapitel werden wir all das, was wir in Kapitel 1 informell getan haben, nun formel in Elm programmieren.