WikiDer > Erlang (Programmiersprache)

Erlang (programmeertaal)
Erlang
Erlang
Paradigmafunktional, verteilt
erschien1987
Entworfen vonEricsson
Entwickelt vonEricsson
Aktuelle VersionR21.3
Typensystemdynamisch, stark
Beeinflusst vonProlog
Einfluss aufReichweite, Elixier
BetriebssystemMultiplattform
LizenzBenutzerdefiniert MPL
Webseitewww.erlang.org/
Portal  Portalsymbol  Informatik

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

Externe Links