Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Erlang (GeekTalks)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Oleg Zinchenko
October 08, 2015
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Erlang (GeekTalks)
Erlang talk at GeekTalks event
https://www.facebook.com/events/924154260964782/
Oleg Zinchenko
October 08, 2015
More Decks by Oleg Zinchenko
See All by Oleg Zinchenko
ORO Meetup #4
cystbear
0
87
Keep It Simple Security (Symfony Cafe 28-01-2016)
cystbear
0
140
Clojure basics
cystbear
0
90
Welcome to Erlang
cystbear
0
110
Erlang/N2O KNPMeetup
cystbear
0
170
Symfony Best Practices and beyond
cystbear
1
240
DDD on example of Symfony (SymfonyCamp UA 2014)
cystbear
3
930
MongoDB KNPLabs GeekTime
cystbear
1
96
DDD in PHP, on example of Symfony
cystbear
10
4.6k
Other Decks in Programming
See All in Programming
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
960
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
110
源内ハンズオン概要編
hideg
0
190
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
160
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.8k
テーブルをDELETEした
yuzneri
0
150
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
700
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
320
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
190
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
How STYLIGHT went responsive
nonsquared
100
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Prompt Engineering for Job Search
mfonobong
0
410
New Earth Scene 8
popppiees
3
2.5k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
For a Future-Friendly Web
brad_frost
183
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Transcript
None
Welcome to Erlang
cystbear Erlanger Symfony expert MongoDB adept OSS doer https://twitter.com/1cdecoder https://github.com/cystbear
http://trinity.ck.ua/
None
HOTCODE 2013 https://twitter.com/5ht https://synrc.com/ Maxim Sokhatskiy
Time to change something
History
History https://www.youtube.com/watch?
Specific use cases Non OOP paradigm Naive syntax No so
big community Lack of libs Pros / Cons https://www.erlang-solutions.com/ https://synrc.com/ https://github.com/tapsters https://github.com/erlangbureau
Low level thinking! Functional Fast Robust Expressive syntax Endless running
apps Update code on a fly Own Scheduler Processes based architecture Supervisor tree No shared memory Pros / Cons
Hey, did you heard about FP?
High order functions Lambda functions Separation data and functions Immutable
Lazy Tail recursion Algebraic data types Pattern matching Functional https://twitter.com/nikitonsky http://tonsky.me/talks/2015-frontendconf/ http://tonsky.me/talks/2015-codefest/
Performance http://slides.com/maximsokhatsky/n2o
Scheduler http://habrahabr.ru/post/128772/ http://habrahabr.ru/post/260065/
Basics Integer 42 Float 4.2 aka double Atom ok Binary
<<"Erlang-powa">> Reference #Ref<0.0.0.29> Pid <0.0.42> Port #Port<0.42> Fun #Fun<erl_eval.6.82930912>
Basics2 List [<<42,1,0,90>>, 1, ok] Tuple {<0.0.16>, 107, 42, ["madness",
true]} we can force lists type and typify turples named tuples =:= records
Example -module(fib). -export([fib/1]). fib(0) -> 0; fib(1) -> 1; fib(N)
-> fib(N - 1) + fib(N - 2).
Example -module(fib). -export([fib/1]). fib(N) when N > 0 -> fib(N,
1, 0, 1). fib(1, _, _, _) -> 1; fib(2, _, _, _) -> 1; fib(N, N, _, Prev) -> Prev; fib(N, C, Prev2, Prev) -> fib(N, C+1, Prev, Prev2+Prev).
Example QuickSort qsort([]) -> []; qsort([X|Xs]) -> qsort([Y || Y<-Xs,
Y <= X]) ++ [X] ++ qsort([Y || Y<-Xs, Y > X]).
Application Examples Web Sites Rest Services Video Streaming Chats RabbitMQ
Riak, CouchDB, Hibari, KAI, LeoFS, Mnesia ejabberd Cowboy Wings 3D PrivatBank Github Pages / Gist
Companies
Future
Cherkassy –> fprog https://www.facebook.com/groups/Cherkassy.fprog/
None