Erste Schritte mit der Erlang-Programmierung unter FreeBSD
Einleitung
Erlang ist eine bei Ericsson entwickelte funktionale Programmiersprache, die auf hohe Skalierbarkeit, hohe Verfügbarkeit und Fehlertoleranz ausgelegt ist und es dir ermöglicht, Codemodule zur Laufzeit zu ändern. Die Stabilität von FreeBSD und die Robustheit von Erlang bilden ein perfektes Team.
Erlang gewinnt aufgrund seiner Robustheit und Fehlertoleranz immer mehr an Beliebtheit. Als Facebook im Januar 2014 WhatsApp kaufte, wurde öffentlich bekannt, dass WhatsApp auf FreeBSD- und Erlang-Technologie basiert, die 1.000.000 gleichzeitige Verbindungen mit nur einem Server bewältigen kann.
Auf Erlang basierende Software
Zu den bekanntesten Programmen, die auf Erlang basieren, gehören
Apache CouchDB, eine JSON-Datenbank
ejabberd, ein massiv skalierbarer XMPP-Server,
RabbitMQ, eine robuste Nachrichtenwarteschlange,
Riak, ein linear skalierbarer NoSQL-Schlüssel-Wert-Speicher,
WhatsApp, der erfolgreichste Instant-Messenger
Erlang unter FreeBSD
Typischerweise installiert man Software unter FreeBSD über einen Port oder ein Paket. Ich gehe davon aus, dass du das Paket mit dem Befehl pkg install erlang installierst, wodurch Erlang/OTP 18.2.x installiert wird. OTP steht für Open Telecom Platform und ist eine Sammlung von Komponenten, die Erlang so großartig machen. Wenn ich über Erlang schreibe, meine ich eigentlich Erlang/OTP.
Erste Schritte mit dem Interpreter
Du startest den Erlang-Interpreter, indem du erl aufrufst. Es öffnet sich eine Shell, die auf deine Eingabe wartet. Du kannst sie mit q() beenden. Der Punkt ist wichtig, da er das Ende deiner Eingabe markiert und Erlang daraufhin beginnt, deinen Code auszuführen.
Codepfade anzeigen
# erl
Erlang R16B03-1 (erts-5.10.4) [source] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.4 (abort with ^G)
1> code:get_path().
[".","/usr/local/lib/erlang/lib/kernel-2.16.4/ebin",
"/usr/local/lib/erlang/lib/stdlib-1.19.4/ebin",
"/usr/local/lib/erlang/lib/xmerl-1.3.6/ebin",
"/usr/local/lib/erlang/lib/wx-1.1.2/ebin",
"/usr/local/lib/erlang/lib/webtool-0.8.9.2/ebin",
"/usr/local/lib/erlang/lib/typer-0.9.5/ebin",
"/usr/local/lib/erlang/lib/tv-2.1.4.10/ebin",
"/usr/local/lib/erlang/lib/tools-2.6.13/ebin",
"/usr/local/lib/erlang/lib/toolbar-1.4.2.3/ebin",
"/usr/local/lib/erlang/lib/test_server-3.6.4/ebin",
"/usr/local/lib/erlang/lib/syntax_tools-1.6.13/ebin",
"/usr/local/lib/erlang/lib/ssl-5.3.3/ebin",
"/usr/local/lib/erlang/lib/ssh-3.0/ebin",
"/usr/local/lib/erlang/lib/snmp-4.25/ebin",
"/usr/local/lib/erlang/lib/sasl-2.3.4/ebin",
"/usr/local/lib/erlang/lib/runtime_tools-1.8.13/ebin",
"/usr/local/lib/erlang/lib/reltool-0.6.4.1/ebin",
"/usr/local/lib/erlang/lib/public_key-0.21/ebin",
"/usr/local/lib/erlang/lib/pman-2.7.1.4/ebin",
"/usr/local/lib/erlang/lib/percept-0.8.8.2/ebin",
"/usr/local/lib/erlang/lib/parsetools-2.0.10/ebin",
"/usr/local/lib/erlang/lib/otp_mibs-1.0.8/ebin",
"/usr/local/lib/erlang/lib/os_mon-2.2.14/ebin",
"/usr/local/lib/erlang/lib/orber-3.6.26.1/ebin",
"/usr/local/lib/erlang/lib/observer-1.3.1.2/ebin",
"/usr/local/lib/erlang/lib/mnesia-4.11/ebin",
[...]|...]
2>
Die Grundlagen
Weitere Links zur Erlang-Programmierung
Eine sehr gute Quelle für die Erlang-Programmierung ist Learn You Some Erlang for Great Good!



