Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Nobody Ever Got Fired for Picking Java
Alex Payne
May 14, 2013
Programming
21
39k
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
610
Other Decks in Programming
See All in Programming
設計ナイト2022 トランザクションスクリプト
shinpeim
11
2.1k
Amazon ECSのネットワーク関連コストの話
msato
0
660
engineer
spacemarket
0
4.7k
GoogleI/O2022 LT報告会資料
shinsukefujita1126
0
400
Modern Android Developer ~ 안내서
pluu
1
660
Let's keep Commodore 64 alive for the next 40 years
mehowte
1
110
Why Airflow? & What's new in Airflow 2.3?
kaxil
0
120
CakePHPの内部実装 から理解するPSR-7
boro1234
0
260
Vite でお手軽 Vue.js の環境構築
azuki
2
190
Android Compose Component - mapping.
taehwandev
0
140
ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher
iwasiman
7
3.6k
「混ぜるな危険」を推進する設計
minodriven
8
2.1k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
56
6.4k
Designing for humans not robots
tammielis
241
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
GitHub's CSS Performance
jonrohan
1020
420k
The Art of Programming - Codeland 2020
erikaheidi
32
11k
Building Your Own Lightsaber
phodgson
94
4.6k
Documentation Writing (for coders)
carmenhchung
48
2.6k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Designing for Performance
lara
597
63k
Navigating Team Friction
lara
175
11k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
A designer walks into a library…
pauljervisheath
196
16k
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!