"Erlang ist eine nebenläufige und verteilte funktionale Sprache." [Sahlin 1996]
Die native Unterstützung dieser drei Paradigmen durch einfache und leicht erlernsowie
anwendbare Sprachstrukturen machen die Programmiersprache Erlang zu
einem äußerst mächtigen Werkzeug wenn es darum geht, verteilte Anwendungen, die
durch viele leichtgewichtige Prozesse abbildbar sind, unkompliziert und sicher zu
realisieren.
Die Eigenschaft der Zustandsfreiheit, der prinzipielle Verzicht auf geteilten Speicher
und die Behandlung von Fehlern, die mittels Verbinden von Prozessen behandelt
werden können, stellen Funktionen zur Verfügung, welche die geforderte Sicherheit
verteilter Softwaresysteme auf relativ einfache Weise garantieren können.
Besonders im Hinblick darauf, dass Leistungszuwächse von Rechnern neuer
Generationen nicht auf schnellere einzelne Prozessoren sondern auf die Verteilung
der Rechenlast auf mehrere Prozessoren zurückzuführen sein wird, kann davon
ausgegangen werden, dass dieser Programmiersprache in naher Zukunft noch
bedeutende Relevanz zukommen wird.
Inhaltsverzeichnis
1 Kurzfassung
2 Begriffsdefinitionen
3 Einleitung
4 Syntax
4.1 Ausdrücke
4.2 Variablen
4.3 Atome
4.4 Tupel
4.5 Listen
4.6 Module und Funktionen
4.7 Error Handling
5 verfügbare Programmierumgebungen
5.1 Standard-Programmierumgebung
5.2 Erlide
6 Unterschiede zu weitverbreiteten Sprachen
7 Paradigmen in Erlang
7.1 Ausgewählte Programmierparadigmen
7.2 Realisierung von Paradigmen in Erlang
7.3 In Erlang nicht realisierte Paradigmen
8 Allgemeiner Nutzen von Erlang
Zielsetzung & Themen
Die vorliegende Arbeit untersucht die Programmiersprache Erlang unter besonderer Berücksichtigung der Umsetzung funktionaler, verteilter und nebenläufiger Programmierparadigmen, um deren Eignung für moderne Softwaresysteme zu bewerten.
- Einführung in die Syntax und grundlegende Sprachkonstrukte von Erlang
- Analyse der Paradigmen der funktionalen, nebenläufigen und verteilten Programmierung
- Vergleich der theoretischen Anforderungen mit der praktischen Umsetzung in Erlang
- Bewertung des allgemeinen Nutzens und der Anwendungsmöglichkeiten im Kontext verteilter Systeme
Auszug aus dem Buch
4.2 Variablen
Variablennamen beginnen in Erlang stets mit einem Großbuchstaben und darauf folgend optional beliebig viele alphanumerischen Zeichen inklusive "_" und "@". Beispiele für gültige Variablennamen wären somit: Variable1, Meine_Zweite_Variable und Email@server_com.
Der erste wichtige Unterschied einer funktionalen Programmiersprache wie Erlang gegenüber konventionellen Programmiersprachen wie Java oder C++ wird bei den Variablen sichtbar. In Erlang können Variablen nur einmal mit einem Wert belegt werden. Ist der Wert einer Variable einmal festgelegt, kann er nicht mehr geändert werden. Dies hat den großen Vorteil, dass es keine Seiteneffekte durch veränderbare Variablen gibt, und sich Erlang Programme sehr einfach, parallel und über mehrere Systeme verteilt, ausführen lassen.
Eine Variable kann sich in den Zuständen ungebunden (noch kein Wert zugewiesen) und gebunden (bereits ein Wert zugewiesen) befinden. Alle Variablen sind anfangs in einem ungebundenem Zustand. Mittels Pattern Matching Operator "=" kann einer Variable ein Wert zugewiesen werden.
Zusammenfassung der Kapitel
1 Kurzfassung: Bietet einen Überblick über Erlang als nebenläufige, verteilte funktionale Sprache und deren Relevanz für moderne, rechenlastintensive Systeme.
2 Begriffsdefinitionen: Definiert zentrale Konzepte wie Endrekursion und referenzielle Transparenz für das Verständnis der Arbeit.
3 Einleitung: Beschreibt das Ziel der Arbeit, die Umsetzung der genannten Paradigmen in Erlang theoretisch und praktisch zu beleuchten.
4 Syntax: Führt in die Grundlagen der Erlang-Syntax ein, einschließlich Ausdrücken, Variablen, Datenstrukturen und der Funktionsweise von Modulen.
5 verfügbare Programmierumgebungen: Gibt eine Übersicht über Standard-Tools und IDE-Projekte wie Erlide zur Entwicklung in Erlang.
6 Unterschiede zu weitverbreiteten Sprachen: Kontrastiert Erlang mit Sprachen wie C++ oder Java hinsichtlich Variablenkonstanz, Schleifenemulation und Bit-Operationen.
7 Paradigmen in Erlang: Analysiert die theoretischen Grundlagen der funktionalen, nebenläufigen und verteilten Programmierung und deren Implementierung in Erlang.
8 Allgemeiner Nutzen von Erlang: Resümiert die Eignung der Sprache für verteilte Client-Server-Anwendungen und diskutiert die Herausforderungen für objektorientiert geschulte Entwickler.
Schlüsselwörter
Erlang, funktionale Programmierung, Nebenläufigkeit, verteilte Systeme, Pattern Matching, Prozess-Modell, Single Assignment, Rekursion, Client-Server-Architektur, Zustandsfreiheit, Modulsystem, Fehlerbehandlung, parallele Prozesse, Informatik, Software Engineering
Häufig gestellte Fragen
Worum geht es in der Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Programmiersprache Erlang und analysiert, wie diese die drei Hauptparadigmen der funktionalen, nebenläufigen und verteilten Programmierung technisch umsetzt.
Was sind die zentralen Themenfelder?
Im Zentrum stehen die Syntax von Erlang, die theoretische Klassifizierung von Programmierparadigmen sowie die praktische Anwendung von Erlang in verteilten Systemen und bei der Prozessverwaltung.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist es, aufzuzeigen, wie Erlang durch seine spezifischen Eigenschaften die Anforderungen an Sicherheit und Skalierbarkeit in verteilten Systemen erfüllt.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit kombiniert eine theoretische Literaturanalyse mit der praktischen Demonstration von Sprachkonstrukten anhand von Codebeispielen und kleinen Fallstudien.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in eine Einführung in die Syntax, eine Analyse verfügbarer Entwicklungsumgebungen, den Vergleich mit konventionellen Sprachen sowie eine detaillierte Diskussion der Programmierparadigmen in Erlang.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Erlang, funktionale Programmierung, Nebenläufigkeit, verteilte Systeme, Pattern Matching und Prozess-Modell charakterisiert.
Wie unterscheidet sich die Variablenbehandlung in Erlang von C++ oder Java?
Im Gegensatz zu imperativen Sprachen wie C++ oder Java sind Erlang-Variablen „Single Assignment Variables“, das heißt, sie können nur einmal an einen Wert gebunden werden, was Seiteneffekte ausschließt.
Warum ist das Worker-Supervisor-Modell in Erlang besonders effizient?
Aufgrund der leichten Erstellbarkeit und Zerstörbarkeit von Prozessen auf Ebene der Programmiersprache lassen sich hierarchische Überwachungsstrukturen sehr robust und sicher implementieren.
Eignet sich Erlang für objektorientierte Programmierung?
Erlang eignet sich nicht für objektorientierte Programmierung im klassischen Sinne, da das funktionale Paradigma Konzepte wie Kapselung von Objekten oder veränderbare Zustände zugunsten von Fehlerresistenz und Konsistenz ausschließt.
- Quote paper
- Christoph Pernsteiner (Author), Holger Kreisel (Author), 2008, Programmierparadigmen in Erlang, Munich, GRIN Verlag, https://www.grin.com/document/141456