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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Alex Payne
May 14, 2013
Programming
21
40k
Nobody Ever Got Fired for Picking Java
Evaluating emerging programming languages for business-critical applications.
Alex Payne
May 14, 2013
Tweet
Share
More Decks by Alex Payne
See All by Alex Payne
Reconsidering Startups
al3x
7
650
Other Decks in Programming
See All in Programming
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.3k
AI 開発合宿を通して得た学び
niftycorp
PRO
0
150
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
150
OTP を自動で入力する裏技
megabitsenmzq
0
120
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
230
CSC307 Lecture 14
javiergs
PRO
0
480
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
460
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.3k
WENDY [Excerpt]
tessaabrams
9
36k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
The untapped power of vector embeddings
frankvandijk
2
1.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
The Invisible Side of Design
smashingmag
302
51k
Technical Leadership for Architectural Decision Making
baasie
3
300
Why Our Code Smells
bkeepers
PRO
340
58k
エンジニアに許された特別な時間の終わり
watany
106
240k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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!