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
200
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
53
Operations Innovation from Startup to Growth
jszmajda
0
110
Learning from FP: Simulated Annealing in Haskell and Ruby
jszmajda
2
770
Visualizing Agile
jszmajda
1
290
Rack-AMQP: Ditch HTTP inside SOA!
jszmajda
4
1.2k
Other Decks in Technology
See All in Technology
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
AGIについてChatGPTに聞いてみた
blueb
0
130
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
日経電子版のStoreKit2フルリニューアル
shimastripe
1
140
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
180
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
660
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
170
The Rise of LLMOps
asei
8
1.7k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
0
28
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Code Review Best Practice
trishagee
64
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Designing the Hi-DPI Web
ddemaree
280
34k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
It's Worth the Effort
3n
183
27k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Facilitating Awesome Meetings
lara
50
6.1k
Ruby is Unlike a Banana
tanoku
97
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!