PROGRAMMING LANGUAGE
PLATFORM GROWTH
TABLE STAKES OR DEAL MAKES?
Edward Burns
@edburns
github.com/edburns
http://ridingthecrest.com
Copyright © 2018 Ed Burns
MY PLAN FOR YOUR TIME
INVESTMENT
Preamble: Establish Credentials
Introduction: What makes a
Programming Language Platform?
The Programming Language Platforms
Summary and Key Takeaways
Copyright © 2018 Ed Burns
ESTABLISH CREDENTIALS
Who is this guy anyway?
Why is he qualified to give such
an opinionated talk?
Copyright © 2018 Ed Burns
SPEAKER QUALIFICATIONS
ED BURNS
Copyright © 2018 Ed Burns
25 years software development experience
Java EE Spec Lead for JSF and Servlet
Frequent conference speaker and workshop leader
Author of four IT books for McGraw-Hill
WHAT MAKES A LANGUAGE
PLATFORM SUCCESSFUL?
Copyright © 2018 Ed Burns
TABLE STAKES
https://www.urbandictionary.com/define.php?term=table%20stakes
The minimum amount required to play a hand of poker.
Also, the minimum amount of effort your lazy ass needs to
expend to compete at work, in relationships and basically
all facets of life.
Copyright © 2018 Ed Burns
6
TABLE STAKES
Core Language Features
Build Lifecycle
Facilitating Re-use and Distribution
Testing
Tooling
Copyright © 2018 Ed Burns
TABLE STAKES:
CORE LANGUAGE FEATURES
Copyright © 2018 Ed Burns
8
CATEGORIES
James Gosling is wary of categorization
Copyright © 2018 Ed Burns
CATEGORIES
Copyright © 2018 Ed Burns
CATEGORIES
James Gosling is wary of categorization
Copyright © 2018 Ed Burns
TABLE STAKES:
BUILD LIFECYCLE
Copyright © 2018 Ed Burns
13
TABLE STAKES:
REUSE AND DISTRIBUTION
Copyright © 2018 Ed Burns
15
TABLE STAKES:
TESTING
Copyright © 2018 Ed Burns
17
TABLE STAKES:
TOOLING
Copyright © 2018 Ed Burns
19
DEAL MAKERS OR
BREAKERS
Copyright © 2018 Ed Burns
21
Factors that “seal the deal”
DEAL MAKERS OR BREAKERS
Copyright © 2018 Ed Burns
22
Monetization
The Killer App
Stackoverflowability
Maintainability
Talent Pool
Compatibility Story
DEAL MAKERS:
MONETIZATION
Copyright © 2018 Ed Burns
23
DEAL MAKERS:
THE KILLER APP
Copyright © 2018 Ed Burns
25
DEAL MAKERS:
STACKOVERFLOWABILITY
Copyright © 2018 Ed Burns
26
DEAL MAKERS:
MAINTAINABILITY
Copyright © 2018 Ed Burns
28
DEAL MAKERS:
TALENT POOL
Copyright © 2018 Ed Burns
30
DEAL MAKERS:
COMPATIBILITY STORY
Copyright © 2018 Ed Burns
32
DEAL MAKERS:
LIBRARY SUPPORT
Copyright © 2018 Ed Burns
34
The Orders of Ignorance
Phillip Armour, October 2000 CACM
0
th
Order Ignorance: Lack of Ignorance
1
st
Order Ignorance: Lack of Knowledge
2
nd
Order Ignorance: Lack of Awareness
3
rd
Order Ignorance: Lack of a Suitably Efficient
process to get to 2OI
4
th
Order Ignorance: Meta-Ignorance
Copyright © 2018 Ed Burns
Copyright © 2018 Ed Burns
36
THE PLATFORMS
Copyright © 2018 Ed Burns
37
THE PLATFORMS
stackoverflow trends
Copyright © 2018 Ed Burns
38
THE PLATFORMS: JAVA
Copyright © 2018 Ed Burns
39
THE PLATFORMS: JAVA
0
20
40
60
80
100
120
140
0 5 10 15 20 25
Java: Top 20 Stackoverflow answerers, answers*1k
Copyright © 2018 Ed Burns
40
THE PLATFORMS: PYTHON
Copyright © 2018 Ed Burns
41
THE PLATFORMS: PYTHON
0
20
40
60
80
100
120
0 5 10 15 20 25
Python: Top 20 Stackoverflow answerers, answers
*1k
Copyright © 2018 Ed Burns
42
THE PLATFORMS: GO
Copyright © 2018 Ed Burns
43
THE PLATFORMS: GO
0
2
4
6
8
10
12
0 5 10 15 20 25
Golang: Top 20 Stackoverflow answerers, answers *1k
MODERN SECRET
Look at an existing trend and
ask why it happened: Kubernetes
Copyright © 2018 Ed Burns
MODERN SECRET
Copyright © 2018 Ed Burns
MODERN SECRET
Kubernetes could be seen as an
evolution of the app server.
Advice for app server
developers moving to Kubernetes
and the cloud?
Copyright © 2018 Ed Burns
MODERN SECRET
Copyright © 2018 Ed Burns
Copyright © 2018 Ed Burns
48
THE PLATFORMS: NODE.JS
Copyright © 2018 Ed Burns
49
THE PLATFORMS: NODE.JS
0
10
20
30
40
50
60
70
0 5 10 15 20 25
Node.js: Top 20 Stackoverflow answerers, answers *1k
ANCIENT SECRET
Growing your community?
Gravitate to small communities
Copyright © 2018 Ed Burns
ANCIENT SECRET
Copyright © 2018 Ed Burns
Copyright © 2018 Ed Burns
52
THE PLATFORMS: RUBY
Copyright © 2018 Ed Burns
53
THE PLATFORMS: RUBY
0
1
2
3
4
5
6
7
8
9
0 5 10 15 20 25
Rails: Top 20 Stackoverflow answerers,
answers *1k
• Table Stakes
• A platform simply must have all of
these things to be successful
• Core language features
• Build Lifecycle
• Testing
• Tooling
• Deal Makers or Breakers
• The things that really make the
difference
• Ability to make money
• Killer App
• Stackoverflowability
• Maintainability
• Talent Pool
• Compatibility
• Libraries
• You have to sweat the small
stuff: es muß ausgefeilt werden
• Respect that the developer’s
time is more important than
yours
Copyright © 2018 Ed Burns
54
SUMMARY AND
KEY TAKEAWAYS

Programming Language Platform Growth: Table Stakes or Deal Makes?