Slide 1

Slide 1 text

NOBODY EVER GOT FIRED FOR PICKING JAVA EVALUATING EMERGING PROGRAMMING LANGUAGES FOR BUSINESS-CRITICAL SYSTEMS

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

THE PROBLEM: SO MUCH TO BUILD, SO MANY LANGUAGES TO BUILD IT ALL IN

Slide 4

Slide 4 text

THE OLD GUARD: JAVA PYTHON PHP/ASP RUBY C/C++/OBJ-C/C# PERL VISUAL BASIC HASKELL OCAML/F# ...

Slide 5

Slide 5 text

MO' LANGUAGES, MO' PROBLEMS: NEW LANGUAGES ARE COMING OUT FAST AND FURIOUS

Slide 6

Slide 6 text

48 LANGUAGES PRESENTED AT @EMERGINGLANGS SINCE 2010

Slide 7

Slide 7 text

EVEN MORE PROBLEMATIC: LANGUAGE EVANGELISTS ARE AT YOUR DOOR

Slide 8

Slide 8 text

SO HOW DO WE CHOOSE?

Slide 9

Slide 9 text

CRAPPY SOLUTION #1: MAKE A TOTALLY ARBITRARY SELECTION

Slide 10

Slide 10 text

CRAPPY SOLUTION #2: MAKE IT A POPULARITY CONTEST

Slide 11

Slide 11 text

POPULARITY CONTEST, EX 1

Slide 12

Slide 12 text

POPULARITY CONTEST, EX 2

Slide 13

Slide 13 text

CRAPPY SOLUTION #3: DESIGN BY HACKER NEWS

Slide 14

Slide 14 text

CRAPPY SOLUTION #4: CROWDSOURCE YOUR DECISION

Slide 15

Slide 15 text

CROWDSOURCING

Slide 16

Slide 16 text

WHAT IF WE MADE AN EVIDENCE-BASED DECISION?

Slide 17

Slide 17 text

BEWARE SUBJECTIVE CRITERIA, AKA:

Slide 18

Slide 18 text

SUBJECTIVE CRITERIA: READABILITY TERSENESS PRODUCTIVITY AGILITY MINDSHARE POLA/POLS ...

Slide 19

Slide 19 text

PAPERS REFERENCING DISTRIBUTED SYSTEMS: ~3,810,000 PAPERS REFERENCING LANGUAGE ERGONOMICS: ~7,090

Slide 20

Slide 20 text

"[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

Slide 21

Slide 21 text

POSITIVE SUBJECTIVE CRITERIA UNIQUE TO EMERGING LANGUAGES: DEVELOPER APPEAL STRATEGIC NOVELTY HOMESTEADING MALLEABLE ROADMAP ACCESSIBLE COMMUNITY

Slide 22

Slide 22 text

OBJECTIVE CRITERIA

Slide 23

Slide 23 text

OBJECTIVE CRITERIA: PERFORMANCE LIBRARY BREADTH AVAILABLE PRIMITIVES STABILITY OF SYNTAX SECURITY HISTORY DEVELOPMENT CYCLE ...

Slide 24

Slide 24 text

APPLY OBJECTIVE CRITERIA DIRECTLY TO DECISION THEORY

Slide 25

Slide 25 text

CAN WE MAKE OBJECTIVE DECISIONS ABOUT EMERGING LANGUAGES?

Slide 26

Slide 26 text

AT FIRST, NO.

Slide 27

Slide 27 text

EXAMPLE: GO VS RUST

Slide 28

Slide 28 text

EMERGING LANGUAGE ADOPTION STRATEGIES

Slide 29

Slide 29 text

STRATEGY #1: ACKNOWLEDGE RISK, HEDGE AGAINST IT

Slide 30

Slide 30 text

STRATEGY #2: MITIGATE RISK THROUGH COMMUNITY INVOLVEMENT

Slide 31

Slide 31 text

STRATEGY #3: PLAY TO YOUR PICK'S STRENGTHS, USE ANOTHER LANGUAGE WHERE IT'S WEAK

Slide 32

Slide 32 text

FIN. QUESTIONS? THANKS FOR LISTENING!