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
Nobody Ever Got Fired for Picking Java
Search
Alex Payne
May 14, 2013
Programming
40k
21
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nobody Ever Got Fired for Picking Java
Evaluating emerging programming languages for business-critical applications.
Alex Payne
May 14, 2013
More Decks by Alex Payne
See All by Alex Payne
Reconsidering Startups
al3x
7
660
Other Decks in Programming
See All in Programming
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
0
110
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
110
ALB ログから Trace を気合で繋げる技術
fohte
7
860
ソフトウェアラスタライザ
fadis
1
780
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
290
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
130
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
自分的「カンファレンスの楽しみ方」
syumai
0
180
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
For a Future-Friendly Web
brad_frost
183
10k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
490
A Modern Web Designer's Workflow
chriscoyier
698
190k
New Earth Scene 8
popppiees
3
2.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Believing is Seeing
oripsolob
1
210
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
A better future with KSS
kneath
240
18k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
The Cult of Friendly URLs
andyhume
79
7k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
NOBODY EVER GOT FIRED FOR PICKING JAVA EVALUATING EMERGING PROGRAMMING
LANGUAGES FOR BUSINESS-CRITICAL SYSTEMS
None
THE PROBLEM: SO MUCH TO BUILD, SO MANY LANGUAGES TO
BUILD IT ALL IN
THE OLD GUARD: JAVA PYTHON PHP/ASP RUBY C/C++/OBJ-C/C# PERL VISUAL
BASIC HASKELL OCAML/F# ...
MO' LANGUAGES, MO' PROBLEMS: NEW LANGUAGES ARE COMING OUT FAST
AND FURIOUS
48 LANGUAGES PRESENTED AT @EMERGINGLANGS SINCE 2010
EVEN MORE PROBLEMATIC: LANGUAGE EVANGELISTS ARE AT YOUR DOOR
SO HOW DO WE CHOOSE?
CRAPPY SOLUTION #1: MAKE A TOTALLY ARBITRARY SELECTION
CRAPPY SOLUTION #2: MAKE IT A POPULARITY CONTEST
POPULARITY CONTEST, EX 1
POPULARITY CONTEST, EX 2
CRAPPY SOLUTION #3: DESIGN BY HACKER NEWS
CRAPPY SOLUTION #4: CROWDSOURCE YOUR DECISION
CROWDSOURCING
WHAT IF WE MADE AN EVIDENCE-BASED DECISION?
BEWARE SUBJECTIVE CRITERIA, AKA:
SUBJECTIVE CRITERIA: READABILITY TERSENESS PRODUCTIVITY AGILITY MINDSHARE POLA/POLS ...
PAPERS REFERENCING DISTRIBUTED SYSTEMS: ~3,810,000 PAPERS REFERENCING LANGUAGE ERGONOMICS: ~7,090
"[P]reliminary results confirm that unsupported claims have been around since
the inception of higher level programming in the 1950s. [T]his behavior is unacceptable for the health of the research community." – MARKSTRUM, 2010
POSITIVE SUBJECTIVE CRITERIA UNIQUE TO EMERGING LANGUAGES: DEVELOPER APPEAL STRATEGIC
NOVELTY HOMESTEADING MALLEABLE ROADMAP ACCESSIBLE COMMUNITY
OBJECTIVE CRITERIA
OBJECTIVE CRITERIA: PERFORMANCE LIBRARY BREADTH AVAILABLE PRIMITIVES STABILITY OF SYNTAX
SECURITY HISTORY DEVELOPMENT CYCLE ...
APPLY OBJECTIVE CRITERIA DIRECTLY TO DECISION THEORY
CAN WE MAKE OBJECTIVE DECISIONS ABOUT EMERGING LANGUAGES?
AT FIRST, NO.
EXAMPLE: GO VS RUST
EMERGING LANGUAGE ADOPTION STRATEGIES
STRATEGY #1: ACKNOWLEDGE RISK, HEDGE AGAINST IT
STRATEGY #2: MITIGATE RISK THROUGH COMMUNITY INVOLVEMENT
STRATEGY #3: PLAY TO YOUR PICK'S STRENGTHS, USE ANOTHER LANGUAGE
WHERE IT'S WEAK
FIN. QUESTIONS? THANKS FOR LISTENING!