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
Search
Sau Sheong Chang
October 10, 2014
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Polyglot
How To Write A Web App in 6 Programming Languages
Sau Sheong Chang
October 10, 2014
More Decks by Sau Sheong Chang
See All by Sau Sheong Chang
Genetic Algorithms with Go
sausheong
0
190
Programming Complexity
sausheong
0
1.1k
Rollicking Ruby Robots Rule the World
sausheong
0
300
3 Things You May Not Know About The Go Template Engine
sausheong
0
390
Money, Sex and Evolution (v3)
sausheong
0
130
Developing Web Applications with Go
sausheong
7
850
Money, Sex and Evolution
sausheong
1
130
A Tale of Two Frameworks
sausheong
0
110
Ruby, Rock and Roll
sausheong
3
310
Other Decks in Technology
See All in Technology
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
310
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
220
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.2k
フロンティアAIのゲート化と地政学リスク
nagatsu
0
120
RAG を使わないという選択肢
tatsutaka
1
190
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
200
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
20
6.6k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
130
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
400
Designing Powerful Visuals for Engaging Learning
tmiket
1
410
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Discover your Explorer Soul
emna__ayadi
2
1.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Mind Mapping
helmedeiros
PRO
1
240
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Bash Introduction
62gerente
615
220k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Transcript
Polyglot Or How To Write A Web App in 6
Programming Languages Chang Sau Sheong Oct 2014 1
* http://spectrum.ieee.org/computing/software/top-‐10-‐programming-‐languages 2
*http://blog.codeeval.com/codeevalblog/2014 3
Programming language wars 4
Dependency hell 5
Polyglot 6
Build your web app with any language 7
All at once 8
Acceptor HTTP Responder Responder Responder POST/_/post Responder Responder Responder GET/_/posts
Acceptor HTTP Acceptor HTTP Broker ZMQ ZMQ Responder Responder Responder GET/_/post/new 9
10 Acceptor P
11 P Broker
12 Responder You need to write this
Simple responder require 'securerandom' require 'bundler' Bundler.require broker = "tcp://localhost:4321"
routeid = "GET/_/hello/ruby" identity = SecureRandom.uuid puts "#{routeid} - #{identity} responder ready." ctx = ZMQ::Context.new client = ctx.socket ZMQ::REQ client.identity = identity client.connect broker client.send_string routeid loop do request = String.new client.recv_string request response = [routeid, "200", "{\"Content-Type\": \"text/html\"}", "Hello World"] client.send_strings response end Define route ID and unique responder identity Connect to broker Register responder Receive request and process it Return with response 13
Distributed by default 14
15 Broker Acceptor Responder Responder Responder
Scale as you like it 16
17 Broker Acceptor Responder Responder Responder Acceptor Responder
Evolve your web app 18
19 Broker Acceptor Responder Responder Responder
Still Evolving (need your feedback and help) 20
http://github.com/sausheong/polyglot
[email protected]
@sausheong 21