Skip to content
This repository has been archived by the owner on May 25, 2021. It is now read-only.

Latest commit

 

History

History
199 lines (190 loc) · 5.89 KB

lecture_01.md

File metadata and controls

199 lines (190 loc) · 5.89 KB

class: center,middle

Hey, Erlang

Pre-alpha Kottans courses


class: center,middle

Erlang as a programming language

History and language usage.

Lecture 1.


class: center

Meet Joe the Otter

(and his powerful crab minions)

Joe and crab minions

--- class: center,middle

History of Erlang


History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;
  • was chosen for ATM exchange AXD at 95;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;
  • was chosen for ATM exchange AXD at 95;
  • received OTP framework at 96;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;
  • was chosen for ATM exchange AXD at 95;
  • received OTP framework at 96;
  • was banned in Ericsson at 98, this moved Erlang to opensource;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;
  • was chosen for ATM exchange AXD at 95;
  • received OTP framework at 96;
  • was banned in Ericsson at 98, this moved Erlang to opensource;
  • first conference started from 2002;

History of Erlang

  • was designed by Joe Armstrong, Robert Virding and Mike Williams;
  • appeared in Ericsson Laboratory at middle of 80th;
  • has influences from: Ada, Miranda, ML, Modula-2, Prolog;
  • received C-based virtual machine at 91;
  • first usage in commercial project at 92;
  • was chosen for ATM exchange AXD at 95;
  • received OTP framework at 96;
  • was banned in Ericsson at 98, this moved Erlang to opensource;
  • first conference started from 2002;
  • finally, Ericsson re-hired Joe Armstrong.

Summary of history

  • has corporate roots in telecom company

Summary of history

  • has corporate roots in telecom company
  • firstly was implemented in Prolog

Summary of history

  • has corporate roots in telecom company
  • firstly was implemented in Prolog
  • open-source

Summary of history

  • has corporate roots in telecom company
  • firstly was implemented in Prolog
  • open-source
  • have famous framework created for parallel processing

class: middle,center

Language philosophy


Language philosophy

Tasks to resolve

  • rapid development

Language philosophy

Tasks to resolve

  • rapid development
  • fault-tolerance

Language philosophy

Tasks to resolve

  • rapid development
  • fault-tolerance
  • on-the-fly updating

Language philosophy

Tasks to resolve

  • rapid development
  • fault-tolerance
  • on-the-fly updating

Developers philosophy

  • find the right methods - design by prototyping

Language philosophy

Tasks to resolve

  • rapid development
  • fault-tolerance
  • on-the-fly updating

Developers philosophy

  • find the right methods - design by prototyping
  • it is not good enough to have ideas, you must also be able to implement them and know they work

Language philosophy

Tasks to resolve

  • rapid development
  • fault-tolerance
  • on-the-fly updating

Developers philosophy

  • find the right methods - design by prototyping
  • it is not good enough to have ideas, you must also be able to implement them and know they work
  • make mistakes on small scale, not in production project

class: middle,center

Language features


Language features

  • declarative development and pattern matching

Language features

  • declarative development and pattern matching
  • parallel calculations (actor model)

Language features

  • declarative development and pattern matching
  • parallel calculations (actor model)
  • distributed calculations

Language features

  • declarative development and pattern matching
  • parallel calculations (actor model)
  • distributed calculations
  • soft real-time (due to GC and memory control per process)

Language features

  • declarative development and pattern matching
  • parallel calculations (actor model)
  • distributed calculations
  • soft real-time (due to GC and memory control per process)
  • code hot swap

class: center,middle

End of Lecture 1

Subject of next lecture: Erlang shell


class: center,middle

Bye, folks!

Joe with notebook