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
Polyglot Programming DC Intro
Search
Jess Szmajda
June 04, 2014
Technology
0
220
Polyglot Programming DC Intro
Why be a polyglot? This is why! :)
Jess Szmajda
June 04, 2014
Tweet
Share
More Decks by Jess Szmajda
See All by Jess Szmajda
Big Things Break
jszmajda
0
61
Operations Innovation from Startup to Growth
jszmajda
0
120
Learning from FP: Simulated Annealing in Haskell and Ruby
jszmajda
2
790
Visualizing Agile
jszmajda
1
300
Rack-AMQP: Ditch HTTP inside SOA!
jszmajda
4
1.2k
Other Decks in Technology
See All in Technology
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
型システムを知りたい人のための型検査器作成入門
mame
14
3.7k
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
200
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
140
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
130
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
140
Roo CodeとClaude Code比較してみた
pharma_x_tech
2
310
In Praise of "Normal" Engineers (LDX3)
charity
0
740
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
290
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
630
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A designer walks into a library…
pauljervisheath
206
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
KATA
mclloyd
29
14k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Transcript
DC Polyglot Programming Meetup Welcome!
Polyglot Programming Manifesto
-Neal Ford “Use the tool that’s most keenly shaped for
the problem you’re trying to solve”
Language Shapes Thought
None
Factorial n! = n * (n - 1) * (n
- 2) … 0! = 1
Factorial n! = n * (n - 1) * (n
- 2) … 0! = 1 1 public int factorial(int n) {! 2 int result = 1;! 3 for (int i = 1; i <= n; i++) {! 4 result = result * i;! 5 }! 6 return result;! 7 }
Factorial n! = n * (n - 1) * (n
- 2) … 0! = 1 1 def fact(n)! 2 return 1 if n == 0! 3 1.upto(n).inject(:*)! 4 end
Factorial n! = n * (n - 1) * (n
- 2) … 0! = 1 1 fact :: Int -> Int! 2 fact 0 = 1! 3 fact n = n * fact (n-1)
Game of Life
Game of Life
Game of Life 1 def survives(currently_alive, n_neigh)! 2 return true
if n_neigh == 3! 3 return true if currently_alive && n_neigh == 2! 4 false! 5 end
Game of Life 1 data Aliveness = Alive | Dead!
2 ! 3 survives :: Aliveness -> Int -> Aliveness! 4 survives _ 3 = Alive! 5 survives Alive 2 = Alive! 6 survives _ _ = Dead
(a vast understatement of) The World of Programming
None
A Horrible Classification System Procedural Object-Oriented Functional Logical Special Purpose
Esoteric
A Different, yet no less Horrible Classification System Stateful Concurrent
Domain-Specific Dynamically vs Statically Typed Proprietary vs. Open Source
–Me “Maybe I should use some other guy’s system”
http://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg
None
Goals Learn from each other Have fun Build better software
through sharing
Come Talk! Explain a language or framework Share what you
learned by trying something new Dig deep into something interesting Compare some things and share Share your favorite tools Anything else interesting to programmers!
I’m Josh Szmajda ! @jszmajda ! CTO at , home
of ! Passionate Polyglot! Thanks!