WikiDer > Erlang (Programmiersprache)
Erlang | ||||
| Paradigma | funktional, verteilt | |||
| erschien | 1987 | |||
| Entworfen von | Ericsson | |||
| Entwickelt von | Ericsson | |||
| Aktuelle Version | R21.3 | |||
| Typensystem | dynamisch, stark | |||
| Beeinflusst von | Prolog | |||
| Einfluss auf | Reichweite, Elixier | |||
| Betriebssystem | Multiplattform | |||
| Lizenz | Benutzerdefiniert MPL | |||
| Webseite | www.erlang.org/ | |||
| ||||
Erlang ist ein Wettbewerber, deklarativProgrammiersprache und Laufzeitsystem für alle Anwendungen geeignet. Die sequentielle Teilmenge von Erlang ist a funktionale Programmiersprache mit strenge Bewertung, unveränderliche Datenstrukturen und dynamisches Tippen. Erlang wurde entwickelt von Ericsson für den Einsatz in Telekommunikationshardware und wurde entwickelt, um verteilte, fehlertolerante Software bereitzustellenEchtzeit- und Non-Stop-Anwendungen.
Der Name leitet sich ab von Agner Erlang, ein dänisch Ingenieur an wen auch immer die Einheit erlang wurde erwähnt. Außerdem ist es die Abkürzung von ähmicsson langeuage (Ericsson-Sprache).
Funktionale Sprache
Code in Erlang sieht so aus:
-Modul(Tatsache).-Export([Gesicht/1]).Gesicht(0)->1;Gesicht(Nein)woNein>0->Nein*Gesicht(Nein-1).Unten ist ein Beispiel für schnelle Sorte:
%% Schnellsortierung(Liste)%% Sortieren einer Liste von Elementen-Modul(schnelle Sorte).-Export([qsort/1]).qsort([])->[];qsort([Drehpunkt|Sich ausruhen])->qsort([X||X<-Sich ausruhen,X<Drehpunkt])[Drehpunkt]qsort([Ja||Ja<-Sich ausruhen,Ja>=Drehpunkt]).Das obige Beispiel ruft die Funktion qsort rekursiv, bis nichts mehr zu sortieren ist. Der Ausdruck [ X || X <- Ruhe, X < Drehpunkt] kann als "Alles auswählen" gelesen werden X wahr X ist ein Element von Sich ausruhen und X ist weniger als Drehpunkt". Dies führt zu einer sehr einfachen Handhabung von Listen. Da jeder boolesche Ausdruck zwischen zwei verschiedenen Datentypen ausgewertet werden kann, ist die Auswertung klar - 1 < a wird zum Beispiel wahr Ausbeute.
Dennoch kann eine Vergleichsfunktion verwendet werden, wenn die Reihenfolge, auf der Erlang seinen Antwortwert (wahr oder falsch), sollte geändert werden. Wenn wir beispielsweise eine geordnete Liste wünschen, in der a > 1 als Wert wahr ergibt.
Nebenläufigkeitsorientierte Sprache
Erlangs größte Stärke ist die Unterstützung für Gleichzeitigkeit. Die Sprache verfügt über einen kleinen, aber mächtigen Satz von Primitiven zum Erstellen von Prozessen und zum Kommunizieren zwischen diesen Prozessen. Die Position des Prozesses ist transparent (dies kann sich im selben laufenden Systemprozess oder auf einem anderen Computer befinden).
Beispielcode:pid=laichen(mod,Funktion,args)% Funktion Func als neuen Erlang-Prozess ausführenpid!eine Nachricht% Nachricht an Verarbeitung senden (asynchron)erhalten% an diesen Prozess gesendete Nachricht erhalteneine Nachricht->etwas tunEnde.Erlang beinhaltet Mechanismen, um Fehlermeldungen zu behandeln und eine hohe Verfügbarkeit des Gesamtsystems zu gewährleisten. Dynamische Codeersetzung (Hot-Swapping) wird ebenfalls unterstützt.
Verteilung
Erlang wurde veröffentlicht als Open Source nicht mehr von einer Quelle abhängig zu sein und die Sprache bekannter zu machen. Das Paket, das die Sprache zusammen mit Bibliotheken und einer verteilten Echtzeitdatenbank enthält, ist bekannt als Offene Telekommunikationsplattform, OTP. Ericsson bietet kommerziellen Support für Erlang.
Seit der Veröffentlichung der Open-Source-Version im Jahr 1998 haben Unternehmen auf der ganzen Welt begonnen, Erlang zu verwenden, wie z Nortel und T-Mobile. Trotzdem hat sich die Sprache noch nicht zu einer weit verbreiteten und wichtigen Programmiersprache entwickelt.
Von 2005 Erlang befindet sich in aktiver Entwicklung und es werden regelmäßig neue Versionen veröffentlicht. Die Sprache ist für mehrere verfügbar Unix-Varianten und Fenster.
Leistungen
- Parallelität wird unterstützt (das Erstellen von Hunderten oder sogar Tausenden von Prozessen ist kein Problem).
- Hohe Programmierproduktivität (eine Studie von Ericsson behauptet, dass die Produktivität viermal höher ist als bei C).
- Leicht zu erlernen: Erlang ist keine akademische Programmiersprache, sondern eine praktische Sprache, die für Programmierer bei Ericsson entwickelt wurde.
- Skalierbarkeit: Große Systeme mit Millionen von Codezeilen wurden bereits in Erlang geschrieben.
Nachteile
- Mangel statisches Tippen: Viele Fehler werden oft erst bemerkt, wenn die Anwendung läuft.
- Da es sich nicht um eine vorherrschende Programmiersprache handelt, gibt es nicht viele Tools, Bücher, Bibliotheken und erfahrene Entwickler. So unterstützt man grafische Benutzeroberflächen noch im Anfangsstadium.
Siehe auch
- ejabberd ist ein Jabber/XMPP-Server in Erlang geschrieben.
- Flügel 3D ist ein 3D-Modellierer in Erlang geschrieben.
- Frambösie ist ein Webserver in Erlang geschrieben.
- tsung ist ein in Erlang geschriebenes Benchmark-Programm.
- couchDB ist ein dokumentenbasiertes Open-Source-Datenbanksystem. Der Kern ist in Erlang geschrieben.
- Liste der Programmiersprachen
Externe Links
- (und) Open-Source-Implementierung
- Ein Portal für die Erlanger Community
- (und) Lizenzierte und unterstützte Bereitstellung.
| Programmiersprachen |
|---|
ABAP ·ABC ·ActionScript ·ada ·algol ·APL ·Assemblersprachen ·AWK ·B ·BASIC ·BCPL ·C ·C ·C♯ ·sauber ·Schermaschine ·COBOL ·COMAL ·Curry ·d ·Eiffel ·Erlang ·F♯ ·her ·fortran ·gehen ·Haskell ·Symbol ·J ·Java ·Kotlin ·lispeln ·Logo ·lua ·m4 ·ML ·Modula-2 ·Oberon ·Objekt Pascal ·Ziel c ·Ocamli ·Unze ·Pascal ·perl ·PHP ·PL/I ·PL/SQL ·Prolog ·Prova ·Python ·Rexx ·Rollenspiel ·Rubin ·Frieden ·SAS ·Reichweite ·planen ·Selbst ·Simula ·Smalltalk ·Schnell ·TCL ·Typoskript ·vala ·Visual Basic |