Kategorien
Erlang

Erlang Tutorial Windows

Für die professionelle Entwicklung mit Erlang stehen verschiedene Editoren und IDEs zur Verfügung: Übersicht siehe Punkt 7.7. Leider konnte mich das Eclipse Plugin nicht überzeugen und das Netbeans Plugin lies sich nicht installieren und Netbeans 7, weswegen ich Notepad++ benutze zum Entwickeln (siehe unten).

Die Vorteile der funktionalen Programmiersprache Erlang

  1. mathematische Korrektheitsbeweise sind einfach möglich
  2. sehr kurzer Quelltext
  3. für verteilte Anwendungen sehr geeignet
  4. der Datentyp INT ist nicht beschränkt, keine numerischen Effekte (Runden)
  5. keine Seiteneffekte

Bsp. Anwendungen in Erlang geschrieben:

  1. CouchDB
  2. SimpleDB
  3. Yaws – Webserver

Nachteile von Erlang

  1. schwierig zu Erlernen
  2. wenig Anwendung in der Praxis, aber unter den funktionalen Programmiersprachen die verbreiteteste
  3. akademische Sprache

Installation von Erlang unter Windows 7

  1. Download der Installation Datei von erlang.org (Achtung 32bit oder 64bit Version)
  2. Ausführen der exe und fertig

Erstes Programm mit Modul

Damit mit eigenen Modulen und Funktionen in Erlang gearbeitet werden kann, muss Erlang folgender Maßen gestartet werden über die Windows Konsole:

  1. Konsole starten: Zubehör/Eingabeaufforderung (oder Ausführen: cmd)
  2. cd C:\Erlang\MyProjekt\
  3. „C:\Program Files\erl5.9.2\bin\werl“

Damit starten Erlang und das Projekt kann in dem Verzeichnis C:\Erlang\MyProjekt\ angelegt werden.

In das Verzeichnis kann jetzt eine Datei quadrat.erl gelegt werden als erstes Testprojekt mit dem Inhalt:

-module(quadrat).
-compile(export_all).
quadrat(X)->X*X.

Danach kann man in Erlang das Projekt kompilieren

c(quadrat).

und die Funktion quadrat im Modul aufrufen mit Parameter 4:

quadrat:quadrat(4).
Erlang erster Funktionsaufruf

Als Editor verwende ich Notepad++ mit Erlang Highlighting Plugin.

Installation des Erlang Code Highlighting Plugin für Notepad++

  1. einfach downloaden der erlangSyntaxDefinition.zip
  2. importieren: Einstellungen->Import->Designs importieren->userDefineLang.xml auswählen
  3. Notepadd++ neustarten
  4. unter Menü: Sprache kann jetzt auf Erlang geswitcht werden
Code Highlighting in Notepad++

Beispiel: x-mal „Hello World“ ausgeben

hallo(X) when X == 0 -> fertig;
hallo(X)->io:fwrite("~s",["Hello World\n"]), hallo(X-1).

Beispiel: Das logische Und implemeniteren

und(X,Y) when X == Y->true;
und(X,Y)->false.

Beispiel Aufgabe und unterschiedliche Lösungsansätze

An diesem Beispiel will ich demonstrieren, wie man ein und dasselbe Problem auf verschiedene Arten unterschiedlich elegant lösen kann:

Aufgabe:

Wenn wir alle natürlich Zahlen unter 10 auflisten, die ein Vielfaches von 3 und 5 auflisten, bekommen 3,5,6,9. Die Summe dieser Vielfachen ist 23.
Schreiben Sie eine Funktion multiple, die für einen gegebenen Wert X alle Vielfachen von 3 und 5 findet und diese aufsummiert.

Lösung 1: der unelegante Weg (von mir):

multiple(X)-> multiple(1, X, 0).
multiple(X, MAX, SUM) when X == MAX -> SUM;
multiple(X, MAX, SUM) when (X rem 3) == 0 or (X rem 5) == 0 -> multiple(X + 1, MAX, SUM + X);
multiple(X, MAX, SUM)-> multiple(X + 1, MAX, SUM).

Lösung 2: der elegante Weg:

multiple2(X) when X=<0 -> 0;
multiple2(X) when ((X rem 3 ==0) or (X rem 5==0))
-> X + multiple2(X-1);
multiple2(X)-> multiple2(X-1).