CRE082 Erlang

Die Programmiersprache für Gleichzeitiges, Robustes und Verteiltes
Die Programmiersprache Erlang nimmt eine Sonderrolle unter den Programmiersprachen ein, weil sie sich von Beginn an auf Disziplinen spezialisiert hat, deren Eigenschaften zunächst auf die Steuerung von Telefonanlagen ausgerichtet waren, aber heutzutage zunehmen auch Anwendung bei Internetanwendungen findet, die sich durch eine besondere Skalierbarkeit und Robustheit auszeichnen müssen. Ben Fuhrmannek stellt im Gespräch mit Tim Pritlove die Eigenschaften und Vorzüge von Erlang vor.
- Ben "bef" Fuhrmannek
- Tim Pritlove
- Max Merz
Shownotes
- Intro
Erlang: The Movie
- “Hello Mike.” (Joe) “Hello Joe. System working?” (Mike) “Seems to be.” (Joe) “Okay, fine.” (Mike)
- CRE Intro
- Begrüßung
Kölner Dom
Bürgerhaus Stollwerck
Easterhegg
CCC
Chaos Communication Congress
Easterhegg 2008
Erlang
Ben "bef" Fuhrmannek
Vortrag von Ben
Wissenswertes über Erlangen
Max Goldt
- Hackcenter
- Freifunker
- Origami-Workshop
Phone Operation Center (POC)
- Programmiersprache Erlang
Agner Krarup Erlang
- Computer Science Laboratory
Ericsson
- “Ericsson Language”
Telefonanlage
Phone Operation Center (POC)
DECT
- Anforderungen einer Telefonanlage
Asterisk
FreeSwitch
Yate
YXA
Lisp
- “Lisp gab’s schon immer!” (Tim)
C
Pascal
Prolog
Funktionale Programmierung
Prozedurale Programmierung
Programmierparadigma
Erlang (Einheit)
Erlang-Verteilung
- Fehlerbehandlung
Verteiltheit
Hebdrehwähler
Nebenstellenanlage
Dienstgüte
- Geschichte von Erlang
- Seit 1998 ist Erlang Open Source
Erlang: The Movie
CTV068 Erlang – Declarative Real Time Programming Now!
- Software in Erlang
ejabberd
jabber.org
jabber.ccc.de
Jabber (XMPP)
- Nebenläufigkeit
Nebenläufigkeit
Threads
Betriebssystem
Prozess
Interprozesskommunikation
Shared Memory
Semaphore
- “Das braucht man in Telefonanlagen und was man in Telefonanlagen braucht, das braucht man auch sonst im Leben.” (Tim)
spawn
!-Operator
- Ben und Tim spielen Erlang Prozesse
Locks
Deadlock
- Message Queue
Queue
Pattern Matching
- Geschwindigkeit
Freizeichen
BASIC
Stresstest
Tsung
- erlang-projects.org
- Ruby on Rails
CRE072 Moderne Webentwicklung
ErlyWeb
ErlyWeb
Yaws
Apache HTTP Server
lighttpd
Word Wide Web
Twitter
Twitter Ausfälle
- Erlang ist für Serverprozesse
- Zuverlässigkeit
Exception Management
Pointer
- Erlang und das Betriebssystem
Mehrkernprozessor
- Erlang SMP Support
SMP
- Erlang Transportprotokoll
Endianness
Skriptsprache
Kompilierung
Bytecode
- Erlang VM
Java
escript (Stand-Alone Erlang)
Runtime
- Verteiltheit
DNS
- Speicherverwaltung
mnesia
SQL
Erlang List Comprehensions
- Datentypen
- Liste
Tupel
Integer
Float
- Strings sind Listen
Python
XML
- Übertragung eines objektorientierten Programms in Erlang
Smalltalk
- Datenbanken
CRE078 Zope und Plone
Zope
Plone
Objektdatenbank
- mnesia ist auch verteilt
XSLT
- Einsatzgebiete
- ejabberd
- POC
BSD
- Verteilte Anwendungen im Asterisk
Amazon Web Services
Amazon SimpleDB
Amazon S3
- Open Telecom Platform
OTP
- Erlang Behaviours
Interfaces
Mehrfachvererbung
Templates
- Empfehlungen
Joe Armstrong: Programming Erlang
Manpages
erlang.org
- “Richtige Menschen sozusagen benutzen das auch, nicht nur diese Zombies aus dem Video.” (Tim)
- “Die müssen inzwischen auch ziemlich alt sein.” (Ben)
Erlang: The Movie
- “Es ist eine Erfrischung für das Gehirn.” (Ben)
Wings 3D
- "Es gibt ja immer so Leute, die meinen: ‘Wann haben wir denn mal endlich die Programmiersprache, die alle Probleme löst?’" (Tim) "Und jetzt haben wir sie gefunden, so einfach ist das!" (Ben) "Zumindest wenn alle Probleme sich mit ‘Muss sich verhalten wie eine Telefonanlage’ zusammenfassen lassen." (Tim)
Erlang Dokumentation
Trapexit Erlang Community
Bens eMail-Adresse
erlang-questions
- Abschluss
- Danke an Ben
- Tim verlangt nach Feedback
- CRE Outro
- Max Goldt: Wissenswertes über Erlangen