Your SlideShare is downloading. ×
Why erlang
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Why erlang

245
views

Published on

First Erlang Silicon Valley meetup. Discussing Why we should learn and use Erlang.

First Erlang Silicon Valley meetup. Discussing Why we should learn and use Erlang.


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
245
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ERLANG SILICON VALLEY MEETUP April 14, 2014
  • 2. AGENDA 6:30 - Doors open 6:45 - Introduction / Announcements 7:00 - Why Erlang? 7:45 - Meetup Organization 8:15 - Erlang Intro 9:00 - Doors close
  • 3. INTRODUCTION AND ANNOUNCEMENTS
  • 4. DOUG GOLDIE Freelance developer, architect, consultant Ruby, Rails stack Boatbound, V.me at Visa, Paynearme doug@codecauldron.com
  • 5. WHY ERLANG? by Doug Goldie
  • 6. WHATSAPP • 465M monthly users • 19B messages in & 40B out per day • Small team (~10 on Erlang), handle development and ops • ~ 550 servers + standby gear • > 11,000 cores
  • 7. A YEAR AGO… • I took the summer off…. • “Why Erlang?” • Challenges of SOA • Curious about Erlang. • Learn a functional language again.
  • 8. ERICSSON
  • 9. TELECOM NEEDED • Concurrency • Distribution • Fault Tolerance • Soft real-time • Hot code upgrade • Incremental code loading • External interfaces
  • 10. ERLANG
  • 11. CONCURRENCY • Isolated processes • Asynchronous messaging passing • Actor model
  • 12. Distributed
  • 13. FAULT TOLERANCE Reliability Redundancy Nine nines 99.9999999%
  • 14. SOFT REAL-TIME
  • 15. Deadlines Soft allows some slip SOFT REAL-TIME Lightweight processes. Garbage collection
  • 16. HOT CODE UPGRAD E
  • 17. INCREMENTAL CODE LOADING
  • 18. EXTERNAL INTERFACES
  • 19. –Robert Virding, OTP class, 2014 “It’s about building Systems.”
  • 20. ERLANG LANGUAGE
  • 21. FUNCTIONAL fac(N) when N == 0 -> 1; fac(N) when N > 0 -> N*fac(N-1). Recursion double([H|T]) -> [2*H|double(T)]; double([]) -> []. Pattern matching
  • 22. MODULES, ETC. • Modules • Behaviours
  • 23. ERLANG/OTP
  • 24. OTP• Library of Design Patterns • Supervision Tree • Workers and supervisors • Behaviours
  • 25. CLIENT SERVER gen_server
  • 26. FINITE STATE MACHINE gen_fsm
  • 27. ELIXIR • Jose Valim • Light layer of syntactic sugar • Pipes • Macros
  • 28. THE WEB
  • 29. THE WEB • Concurrent • Soft real-time • Asynchronous • Omnipresent • Internet of Things
  • 30. REFERENCES • Erlang and the Web http://ninenines.eu/docs/en/cowboy/HEAD/guide/erlang_web/ • Concurrency Oriented Programming in Erlang http://www.guug.de/veranstaltungen/ffg2003/papers/ffg2003-armstrong.pdf • Why OO Sucks http://www.sics.se/~joe/bluetail/vol1/v1_oo.html • Erlang Central https://erlangcentral.org/ • Erlang History http://www.erlang.org/faq/academic.html • WhatsApp presentation http://www.erlang-factory.com/conference/show/conference-6/home/#rick-reed
  • 31. DOUG GOLDIE doug@codecauldron.com