Keneequa Brown Chris Duzan Navaid Khalfay
description
Transcript of Keneequa Brown Chris Duzan Navaid Khalfay
Keneequa BrownChris DuzanNavaid 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 developedInitial 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.
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.
1995
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 ExampleQuicksort Example
Erlang JavaFunctional
vs. Imperative
Servers & embedded systems
Erlang uses pattern matching which allows for more compact code
Imperative
Web Apps
Use virtual machines
Support multi-threading
Provide “garbage collection”
Don't have to worry about returning allocated space
BOTH
Facebook Chat service
Yahoo Social bookmarking service
T-Mobile SMS and authentication systems
Amazon Implement SimpleDB (database services)