Keneequa Brown Chris Duzan Navaid Khalfay

13
Keneequa Brown Chris Duzan Navaid Khalfay

description

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” - PowerPoint PPT Presentation

Transcript of Keneequa Brown Chris Duzan Navaid Khalfay

Page 1: Keneequa Brown Chris Duzan Navaid Khalfay

Keneequa BrownChris DuzanNavaid Khalfay

Page 2: 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

Page 3: Keneequa Brown Chris Duzan Navaid Khalfay

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

Page 4: Keneequa Brown Chris Duzan Navaid Khalfay

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.

Page 5: Keneequa Brown Chris Duzan Navaid Khalfay

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

Page 6: Keneequa Brown Chris Duzan Navaid Khalfay

Eight primitive data types: Integers Atoms Floats References Binaries Pids Ports Funs

Page 7: Keneequa Brown Chris Duzan Navaid Khalfay

Two compound data types Tuples Lists

Two forms of syntactic sugar Strings Records

Page 8: Keneequa Brown Chris Duzan Navaid Khalfay

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

Page 9: Keneequa Brown Chris Duzan Navaid Khalfay

Else → semicolon ( ; ) End if or 'function end' → period ( . ) Comment → percent sign ( % )

Page 10: Keneequa Brown Chris Duzan Navaid Khalfay
Page 11: Keneequa Brown Chris Duzan Navaid Khalfay

Quicksort ExampleQuicksort Example

Page 12: Keneequa Brown Chris Duzan Navaid Khalfay

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

Page 13: Keneequa Brown Chris Duzan Navaid Khalfay

Facebook Chat service

Yahoo Social bookmarking service

T-Mobile SMS and authentication systems

Amazon Implement SimpleDB (database services)