Transcript Erlang

Keneequa Brown
Chris Duzan
Navaid Khalfay


Originally developed in 1986 by Joe
Armstrong as a proprietary language
within Ericsson
Released as open source in 1998


Currently on release R15B03
The origin of it's name is not confirmed


An abbreviation of “Ericsson Language”
Named after Daish Mathematician Agner
Krarup Erlang


Designed as a control program for a
small telephone exchange
Designed to solve problems involving:




Telecommunication systems/applications,
Servers for internet applications, and
Database applications that require soft real-time
behavior.
Accidentally created in the process,
Ericsson didn't set out trying to make a
new language
1986
First developed
Initial version was
implemented in Prolog
and influenced by the
programming language
PLEX.
1995
Erlang went from lab
product to real
application following
the collapse of AXE-N.
1995
1998
Erlang was banned in
new Ericsson products,
causing Armstrong to
leave and Erlang
becoming open source
by the end of the year.
2006
Native symmetric
multiprocessing support
added to the runtime system
and virtual machine.

Eight primitive data types:








Integers
Atoms
Floats
References
Binaries
Pids
Ports
Funs

Two compound data types



Tuples
Lists
Two forms of syntactic sugar


Strings
Records

Integer arithmetic is exact




Only limited by available memory
Floats have a range of +/- 10308
Support for concurrency
Small but powerful set of primitives to
create processes and communicate
among them

Processes are the primary reason to structure
an Erlang project



Else → semicolon ( ; )
End if or 'function end' → period ( . )
Comment → percent sign ( % )
Quicksort Example
Java
Erlang
 Functional vs.
Imperative
 Servers &
embedded
systems
 Erlang uses
pattern
matching
which allows
for more
compact code
BOTH
 Use virtual machines
 Support multithreading
 Provide “garbage
collection”
 Don't have to worry
about returning
allocated space
 Imperative
 Web Apps

Facebook


Yahoo


Social bookmarking service
T-Mobile


Chat service
SMS and authentication systems
Amazon

Implement SimpleDB (database services)