SlideShare a Scribd company logo
PROGRAMMING LANGUAGE
PLATFORM GROWTH
TABLE STAKES OR DEAL MAKES?
Edward Burns
@edburns
github.com/edburns
http://ridingthecrest.com
Slides at http://bit.ly/
Copyright © 2019 Ed Burns
MY PLAN FOR YOUR TIME
INVESTMENT
My Experience with programming
language platforms
Table Stakes and Deal Makes
Summary and Key Takeaways
Copyright © 2019 Ed Burns
SPEAKER QUALIFICATIONS
ED BURNS
Copyright © 2019 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
Platforms I’ve Known
Who is this guy anyway?
Why is he qualified to give such
an opinionated talk?
Copyright © 2019 Ed Burns
Platforms I’ve Known
Copyright © 2019 Ed Burns
Oil and Chemistry Building, home of Mosaic
Gratis and Free software
Built on prior work really well
Ubiquitous (closs platform)
Delivered something everyone
wanted
Easy to author: copy and paste
from view source!
Platforms I’ve Known
Copyright © 2019 Ed Burns
Oil and Chemistry Building, home of Mosaic
Gratis and Free software
Built on prior work really well
Ubiquitous (closs platform)
Delivered something everyone
wanted
Easy to author: copy and paste
from view source!
Platforms I’ve Known
Copyright © 2019 Ed Burns
Cobbles existing things together in
an exciting new way.
Simplicity: HTTP/1.0, TCP/IP
sockets
Anyone can add new servers, no
need to ask permission.
Leverages network effect
Platforms I’ve Known
Copyright © 2019 Ed Burns
Not the right time
Too hard to author for it, tools
helped, but they were proprietary
Did not have the easy re-use
feature for content
Platforms I’ve Known
Copyright © 2019 Ed Burns
Good variety of “good enough” tools
Created a component ecosystem
Lots of buzz around this space due to
“Web Framework Wars”
Platforms I’ve Known
Copyright © 2019 Ed Burns
Addressed shared pain points
Transparent development process
Spring rode the crest of vendor
marketing efforts, differentiated with
operational excellence
Platforms I’ve Known
Copyright © 2019 Ed Burns
Addressed shared pain points
Transparent development process
Spring rode the crest of vendor
marketing efforts, differentiated with
operational excellence
WHAT MAKES A LANGUAGE
PLATFORM SUCCESSFUL?
Copyright © 2019 Ed Burns
MODERN SECRET
WHY DID KUBERNETES EXPLODE IN
POPULARITY?
Copyright © 2019 Ed Burns
TABLE STAKES
https://www.urbandictionary.com/define.php?term=table%20stakes
The minimum amount required to play a hand of poker.
Copyright © 2019 Ed Burns
DEAL MAKES
A feature that “seals the deal”, causing you to choose one
platform over another.
Copyright © 2019 Ed Burns
TABLE STAKES
Core Language Features Fit Your
Problems
Production Concerns
Ø Build Lifecycle
Ø Facilitating Re-use and Distribution
Ø Testing
Tooling
Copyright © 2019 Ed Burns
TABLE STAKES
Core Language Features Fit Your
Problems
Production Concerns
Ø Build Lifecycle
Ø Facilitating Re-use and Distribution
Ø Testing
Tooling
Copyright © 2019 Ed Burns
DEAL MAKERS OR BREAKERS
Copyright © 2019 Ed Burns
Monetization
The Killer App
Stackoverflowability
Other considerations
Maintainability
Talent Pool
Breadth and Depth of Library Suport
Compatibility
CATEGORIES
James Gosling is wary of categorization
BEWARE OF CATEGORIZATION
Copyright © 2019 Ed Burns
CATEGORIES
BEWARE OF CATEGORIZATION
Copyright © 2019 Ed Burns
Language Type
Type System
Optionality
Encapsulation
Security
IO
UI
Memory Management
Verbosity/Expressiveness
Copyright © 2019 Ed Burns
TABLE STAKES:
CORE LANGUAGE FEATURES
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Thank you to the many contributions in the OpenJDK Community
Building JDK 11 together
2,468 JIRA issues marked as
fixed in JDK 11
Over 500 were contributed by
individuals and developers
working for other organizations
blogs.oracle.com/java-platform-group/building-jdk-11-together
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Enterprise long-term support
New simple Oracle JDK monthly subscription support offering for
desktop, server and cloud deployments (pay as you use)
You have a choice:
- Oracle support for specific releases
- Additional support options from other vendors
oracle.com/java/java-se-subscription
Low-cost, predictable pricing
- $25.00 (USD) per month per processor (server) or LESS
- $2.50 (USD) per month per user (desktop) or LESS
- Significant discount available for large deployment support
requirements (i.e. 50% discount for 10k-20K processor units)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
24
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
25
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
26
Download JDK 12 tonight!
java.oracle.com
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
27
Learn more!
CORE LANGUAGE
FEATURES
Copyright © 2019 Ed Burns
Lang Style OO Interpreted,
Optionally OO
Not OO Functional, Not
OO
OO
Type System Strong, Generics Dynamic, but
“type checker”
Inference,
Strong, no
generics
Dynamic, no
generics
Inference,
Strong,
Generics
Optionality? Yes No No “undefined” Yes, core
feature
Encapsulation Great support Poor Pretty good Poor Great
Security Very good Not seen as the
best
No big problems
yet
< Java No big problems
yet
IO Several styles C like, has non-
blocking
C like, use
goroutines
async
node fs Simple
UI Several styles None None Frameworks Yes
Mutability/State Yes, lots Yes, lots < Java Stateless
encouraged
Discouraged
Verbosity Very verbose Somewhat
verbose
Pretty terse < Java Just right
Platform stewards concern,
or not?
Multiple competing
alternatives? One clear
winner?
Plays well with state of the
art CI/CD? Cloud
deployment?
How mature is the solution?
Are the providers of the
solution monetized?
Copyright © 2019 Ed Burns
TABLE STAKES:
Production Concerns
Build Lifecycle
Re-use
Facilitation,
Distribution
Testing
TABLE STAKES:
Build Lifecycle
Copyright © 2019 Ed Burns
From Steward
or not?
No No Yes No Yes
Mutiple
competing
choices?
Maven is the winner,
but Gradle is
popular
No one clear
winner
No No, but lots of
parts, from
different vendors
No
Plays well with
cloud CI/CD?
Possible but tricky Pretty well. See
PyBuilder
Yes Well supported,
due to popularity
Yes, but Mac
hardware
required
How mature? Maven and Gradle
are both very mature
Not so mature,
but seems as
mature as it will
get
Yes Medium Medium
TABLE STAKES:
Reuse & Distribution
Copyright © 2019 Ed Burns
From Steward
or not?
Re-use: yes,
distribution: no
Yes, PyPi is
from PSF
Source code is
king
No Yes
Mutiple
competing
choices?
Maven central No No, dep is the
“official
experiment”
npmjs No
How mature? Very Yes No Since 2014 Yes
Repo
Monetized?
Yes No, PSF is non-
profit
Does not apply Yes Does not apply
Monetizable
by author?
No No No Yes No
How easy? Still evolving, even
after 22 years
Good enough Source code is
king
Yes Source code is
king
Distribute
learning
artifacts?
Yes No Does not apply No Does not apply
TABLE STAKES:
Reuse & Distribution
Copyright © 2019 Ed Burns
From Steward
or not?
Re-use: yes,
distribution: no
Yes, PyPi is
from PSF
Source code is
king
No Yes
Mutiple
competing
choices?
Maven central No No, dep is the
“official
experiment”
npmjs No
How mature? Very Yes No Since 2014 Yes
Repo
Monetized?
Yes No, PSF is non-
profit
Does not apply Yes Does not apply
Monetizable
by author?
No No No Yes No
How easy? Still evolving, even
after 22 years
Good enough Source code is
king
Yes Source code is
king
Distribute
learning
artifacts?
Yes No Does not apply No Does not apply
TABLE STAKES:
Reuse & Distribution
Copyright © 2019 Ed Burns
From Steward
or not?
Re-use: yes,
distribution: no
Yes, PyPi is
from PSF
Source code is
king
No Yes
Mutiple
competing
choices?
Maven central No No, dep is the
“official
experiment”
npmjs No
How mature? Very Yes No Since 2014 Yes
Repo
Monetized?
Yes No, PSF is non-
profit
Does not apply Yes Does not apply
Monetizable
by author?
No No No Yes No
How easy? Still evolving, even
after 22 years
Good enough Source code is
king
Yes Source code is
king
Distribute
learning
artifacts?
Yes No Does not apply No Does not apply
TABLE STAKES:
Testing
Copyright © 2019 Ed Burns
From Steward
or not?
Not at all Mix Yes No Yes
Mutiple
competing
choices?
Yes Yes, py.test
recommended
No Yes, mocha
recommended
No
Plays well with
cloud CI/CD?
Yes, with maven Ok Yes Good enough Yes
How mature? Very Very As mature as
language
Good enough As mature as
language
Vendor
monetized?
No No No No Yes
Testing in
language
DNA?
No, but has been
embraced by
steward
Good enough Meh No Yes
TDD support? Yes Yes Good enough Yes Yes
TABLE STAKES:
Testing
Copyright © 2019 Ed Burns
From Steward
or not?
Not at all Mix Yes No Yes
Mutiple
competing
choices?
Yes Yes, py.test
recommended
No Yes, mocha
recommended
No
Plays well with
cloud CI/CD?
Yes, with maven Ok Yes Good enough Yes
How mature? Very Very As mature as
language
Good enough As mature as
language
Testing in
language
DNA?
No, but has been
embraced by
steward
Good enough Meh No Yes
TDD support? Yes Yes Good enough Yes Yes
Copyright © 2019 Ed Burns
TABLE STAKES:
TOOLING
Code completion/intellisense
Refactoring
Source level debugging
Framework integration
TABLE STAKES:
Tooling
Copyright © 2019 Ed Burns
Code
completion &
Intellisense
Of course Somewhat Somewhat Not so much Yes
Refactoring Of course Possible, but not
common
Tools exist Tools exist Yes
Source level
debugging
Of course pdb, and IDE
plugins
Yes, VS Code Yes, node-
inspect, IDEs
Yes
Framework
integration
Of course Does not apply Does not apply Good enough Yes
DEAL MAKERS OR
BREAKERS
Copyright © 2019 Ed Burns
Factors that “seal the deal”
DEAL MAKERS OR BREAKERS
Copyright © 2019 Ed Burns
Monetization
The Killer App
Stackoverflowability
Maintainability
Other considerations
Talent Pool
Breadth and Depth of Library Suport
Compatibility
Get paid for code
Selling licenses
Consulting gigs
Reputation
Future opportunities
How easy is it to get paid to code in
that language?
Number of available jobs
How well paying are they relateive to
other languages?
Copyright © 2019 Ed Burns
DEAL MAKERS:
MONETIZATION
Seen as a safe bet.
Lots of jobs
Licensed Java software tends to be expensive
enterprise software
DEAL MAKERS:
MONETIZATION
Copyright © 2019 Ed Burns
Popular in many hot growth areas
Machine Learning
Data Science
DevOps
Relatively fewer jobs
Largest number of jobs
Smallest number of jobs
DEAL MAKERS:
MONETIZATION
Copyright © 2019 Ed Burns
DEAL MAKERS:
THE KILLER APP
Copyright © 2019 Ed Burns
Business apps. Cobol for the 21st century
Also Android
Machine Learning. Scientific computing
Suitability for the cloud
Web apps
iOS apps
DEAL MAKERS:
THE KILLER APP
Copyright © 2019 Ed Burns
Business apps. Cobol for the 21st century
Also Android
Machine Learning. Scientific computing
Suitability for the cloud
Web apps
iOS apps
DEAL MAKERS:
STACKOVERFLOWABILITY
Copyright © 2019 Ed Burns
Copyright © 2019 Ed Burns
THE PLATFORMS
stackoverflow trends
Copyright © 2019 Ed Burns
THE PLATFORMS: JAVA
0
20
40
60
80
100
120
140
0 5 10 15 20 25
Java: Top 20 Stackoverflow answerers, reputation*1k
Copyright © 2019 Ed Burns
THE PLATFORMS: PYTHON
0
20
40
60
80
100
120
0 5 10 15 20 25
Python: Top 20 Stackoverflow answerers, reputation *1k
Copyright © 2019 Ed Burns
THE PLATFORMS: GO
0
2
4
6
8
10
12
0 5 10 15 20 25
Golang: Top 20 Stackoverflow answerers, reputation *1k
Copyright © 2019 Ed Burns
THE PLATFORMS: Node.js
0
10
20
30
40
50
60
70
0 5 10 15 20 25
Node.js: Top 20 Stackoverflow answerers, reputation *1k
Copyright © 2019 Ed Burns
THE PLATFORMS: Swift
0
5
10
15
20
25
30
0 5 10 15 20 25
Swift: Top 20 Stackoverflow answerers, reputation *1k
DEAL MAKERS:
STACKOVERFLOWABILITY
Copyright © 2019 Ed Burns
High point
score
130k 110k 11k 60k 25k
Number of
questions, all
time
1.5M 1.1M 34k (lots end up
at issue tracker)
1.7M 224k
% unanswered 27.7% 25.5% 17.7% 28.5% 33.1%
New in last 30
days
15K 21,889 866 20k 3.8k
Other forums
beside
stackovervlow
Yes, IRC, Many
formus and websites
Yes, slack,
forums
#gonuts IRC
channel, Gopher
slack channel
So huge it is
hard to say.
Yes.
Yes
DEAL MAKERS:
STACKOVERFLOWABILITY
Copyright © 2019 Ed Burns
High point
score
130k 110k 11k 60k 25k
Number of
questions, all
time
1.5M 1.1M 34k (lots end up
at issue tracker)
1.7M 224k
% unanswered 27.7% 25.5% 17.7% 28.5% 33.1%
New in last 30
days
15K 21,889 866 20k 3.8k
Other forums
beside
stackovervlow
Yes, IRC, Many
formus and websites
Yes, slack,
forums
#gonuts IRC
channel, Gopher
slack channel
So huge it is
hard to say.
Yes.
Yes
Compatibility
History of Breakages?
Simultaneous different versions platform
versions deployed side-by-side?
Is it important that old code still run?
Talent Pool
How eays is it to hire/fire?
Are there jobs on freelance sites?
Library Support
Have the libs you need?
Well maintained and current?
Maintainability
How easy is it to write extremely
unmaintainable code?
Tools to aid understanding
Hot fix capability
Ethos of documentation?
Copyright © 2019 Ed Burns
DEAL MAKERS:
Other Considerations
Compatibility
Talent Pool
Library Support
Maintainability
Copyright © 2019 Ed Burns
Summary
These are all general purpose languages
Obviously, there is no one perfect fit
Question conventional wisdom regarding language choice
Business apps. Cobol for the 21st century
Also Android
Machine Learning. Scientific computing
Suitability for the cloud
Web apps
iOS apps
Copyright © 2019 Ed Burns
Key Takeaways
Key factors influencing platform choice, in decreasing importance
Team
Comfort level of team with the platform
How easy is it to make it easy to onboard people?
Community
Breadth, depth, and quality of library ecosystem
Community welcoming to newcomers
Language Steward
Commitment for keeping the platform current
Commitment to preserving backward compatibility
Prompt and thorough addressing of security problems

More Related Content

Similar to Programming Language Platform Growth: Table Stakes or Deal Makes?

Become a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual ClassroomBecome a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual Classroom
Cynthia Clay
 
Become a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual ClassroomBecome a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual Classroom
Cynthia Clay
 
Open Development - an Engineering Manager's Perspective
Open Development - an Engineering Manager's PerspectiveOpen Development - an Engineering Manager's Perspective
Open Development - an Engineering Manager's Perspective
Michael Marth
 
Introduction to Open Source
Introduction to Open SourceIntroduction to Open Source
Introduction to Open Source
Epic
 
BethClip Investors Pitch Deck (widescreen)
BethClip Investors Pitch Deck (widescreen)BethClip Investors Pitch Deck (widescreen)
BethClip Investors Pitch Deck (widescreen)
Rashid Aliyev
 
Dell Boomi Hyderabad meetup
Dell Boomi Hyderabad meetupDell Boomi Hyderabad meetup
Dell Boomi Hyderabad meetup
Vijay Reddy
 
Architecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing ZoneArchitecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing Zone
Amazon Web Services
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
Reham Maher El-Safarini
 
2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In
DevOps.com
 
Webinar 7 steps to launching yourself online fast may 30 2017
Webinar 7 steps to launching yourself online fast may 30 2017Webinar 7 steps to launching yourself online fast may 30 2017
Webinar 7 steps to launching yourself online fast may 30 2017
Michelle Castillo
 
11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project
SofiaCarter4
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
IBM UrbanCode Products
 
Cp exam sectiona
Cp exam sectionaCp exam sectiona
Cp exam sectiona
Kim Fyson
 
OCR Media Studies A2 Section A
OCR Media Studies A2 Section AOCR Media Studies A2 Section A
OCR Media Studies A2 Section A
Kim Fyson
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer
Ramy Hakam
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)
Salesforce Partners
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
Dima Maleev
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
Abdul Karim
 
ATD Puget Sound Workplace Learning Conference presentation on Blended Learning
ATD Puget Sound Workplace Learning Conference presentation on Blended LearningATD Puget Sound Workplace Learning Conference presentation on Blended Learning
ATD Puget Sound Workplace Learning Conference presentation on Blended Learning
Bruce Cronquist
 
Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014
Eduserv
 

Similar to Programming Language Platform Growth: Table Stakes or Deal Makes? (20)

Become a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual ClassroomBecome a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual Classroom
 
Become a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual ClassroomBecome a Jedi Master: Producing Webinars in the Virtual Classroom
Become a Jedi Master: Producing Webinars in the Virtual Classroom
 
Open Development - an Engineering Manager's Perspective
Open Development - an Engineering Manager's PerspectiveOpen Development - an Engineering Manager's Perspective
Open Development - an Engineering Manager's Perspective
 
Introduction to Open Source
Introduction to Open SourceIntroduction to Open Source
Introduction to Open Source
 
BethClip Investors Pitch Deck (widescreen)
BethClip Investors Pitch Deck (widescreen)BethClip Investors Pitch Deck (widescreen)
BethClip Investors Pitch Deck (widescreen)
 
Dell Boomi Hyderabad meetup
Dell Boomi Hyderabad meetupDell Boomi Hyderabad meetup
Dell Boomi Hyderabad meetup
 
Architecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing ZoneArchitecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing Zone
 
Security and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizationsSecurity and governance with aws control tower and aws organizations
Security and governance with aws control tower and aws organizations
 
2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In
 
Webinar 7 steps to launching yourself online fast may 30 2017
Webinar 7 steps to launching yourself online fast may 30 2017Webinar 7 steps to launching yourself online fast may 30 2017
Webinar 7 steps to launching yourself online fast may 30 2017
 
11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
Cp exam sectiona
Cp exam sectionaCp exam sectiona
Cp exam sectiona
 
OCR Media Studies A2 Section A
OCR Media Studies A2 Section AOCR Media Studies A2 Section A
OCR Media Studies A2 Section A
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
 
ATD Puget Sound Workplace Learning Conference presentation on Blended Learning
ATD Puget Sound Workplace Learning Conference presentation on Blended LearningATD Puget Sound Workplace Learning Conference presentation on Blended Learning
ATD Puget Sound Workplace Learning Conference presentation on Blended Learning
 
Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014
 

More from Edward Burns

DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11
Edward Burns
 
Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career Masterplan
Edward Burns
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
Edward Burns
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!
Edward Burns
 
How modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageHow modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantage
Edward Burns
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
Edward Burns
 
Practical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with AzurePractical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with Azure
Edward Burns
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdf
Edward Burns
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
Edward Burns
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Edward Burns
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
Edward Burns
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the Cloud
Edward Burns
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
Edward Burns
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
Edward Burns
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Edward Burns
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
Edward Burns
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Edward Burns
 

More from Edward Burns (20)

DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11
 
Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career Masterplan
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!
 
How modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageHow modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantage
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
 
Practical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with AzurePractical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with Azure
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdf
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the Cloud
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 

Recently uploaded

Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
chetankumar9855
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
The Evolution of Remote Server Management
The Evolution of Remote Server ManagementThe Evolution of Remote Server Management
The Evolution of Remote Server Management
Bert Blevins
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
paysquare consultancy
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 

Recently uploaded (20)

Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
The Evolution of Remote Server Management
The Evolution of Remote Server ManagementThe Evolution of Remote Server Management
The Evolution of Remote Server Management
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 

Programming Language Platform Growth: Table Stakes or Deal Makes?

  • 1. PROGRAMMING LANGUAGE PLATFORM GROWTH TABLE STAKES OR DEAL MAKES? Edward Burns @edburns github.com/edburns http://ridingthecrest.com Slides at http://bit.ly/ Copyright © 2019 Ed Burns
  • 2. MY PLAN FOR YOUR TIME INVESTMENT My Experience with programming language platforms Table Stakes and Deal Makes Summary and Key Takeaways Copyright © 2019 Ed Burns
  • 3. SPEAKER QUALIFICATIONS ED BURNS Copyright © 2019 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
  • 4. Platforms I’ve Known Who is this guy anyway? Why is he qualified to give such an opinionated talk? Copyright © 2019 Ed Burns
  • 5. Platforms I’ve Known Copyright © 2019 Ed Burns Oil and Chemistry Building, home of Mosaic Gratis and Free software Built on prior work really well Ubiquitous (closs platform) Delivered something everyone wanted Easy to author: copy and paste from view source!
  • 6. Platforms I’ve Known Copyright © 2019 Ed Burns Oil and Chemistry Building, home of Mosaic Gratis and Free software Built on prior work really well Ubiquitous (closs platform) Delivered something everyone wanted Easy to author: copy and paste from view source!
  • 7. Platforms I’ve Known Copyright © 2019 Ed Burns Cobbles existing things together in an exciting new way. Simplicity: HTTP/1.0, TCP/IP sockets Anyone can add new servers, no need to ask permission. Leverages network effect
  • 8. Platforms I’ve Known Copyright © 2019 Ed Burns Not the right time Too hard to author for it, tools helped, but they were proprietary Did not have the easy re-use feature for content
  • 9. Platforms I’ve Known Copyright © 2019 Ed Burns Good variety of “good enough” tools Created a component ecosystem Lots of buzz around this space due to “Web Framework Wars”
  • 10. Platforms I’ve Known Copyright © 2019 Ed Burns Addressed shared pain points Transparent development process Spring rode the crest of vendor marketing efforts, differentiated with operational excellence
  • 11. Platforms I’ve Known Copyright © 2019 Ed Burns Addressed shared pain points Transparent development process Spring rode the crest of vendor marketing efforts, differentiated with operational excellence
  • 12. WHAT MAKES A LANGUAGE PLATFORM SUCCESSFUL? Copyright © 2019 Ed Burns
  • 13. MODERN SECRET WHY DID KUBERNETES EXPLODE IN POPULARITY? Copyright © 2019 Ed Burns
  • 14. TABLE STAKES https://www.urbandictionary.com/define.php?term=table%20stakes The minimum amount required to play a hand of poker. Copyright © 2019 Ed Burns
  • 15. DEAL MAKES A feature that “seals the deal”, causing you to choose one platform over another. Copyright © 2019 Ed Burns
  • 16. TABLE STAKES Core Language Features Fit Your Problems Production Concerns Ø Build Lifecycle Ø Facilitating Re-use and Distribution Ø Testing Tooling Copyright © 2019 Ed Burns
  • 17. TABLE STAKES Core Language Features Fit Your Problems Production Concerns Ø Build Lifecycle Ø Facilitating Re-use and Distribution Ø Testing Tooling Copyright © 2019 Ed Burns
  • 18. DEAL MAKERS OR BREAKERS Copyright © 2019 Ed Burns Monetization The Killer App Stackoverflowability Other considerations Maintainability Talent Pool Breadth and Depth of Library Suport Compatibility
  • 19. CATEGORIES James Gosling is wary of categorization BEWARE OF CATEGORIZATION Copyright © 2019 Ed Burns
  • 21. Language Type Type System Optionality Encapsulation Security IO UI Memory Management Verbosity/Expressiveness Copyright © 2019 Ed Burns TABLE STAKES: CORE LANGUAGE FEATURES
  • 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Thank you to the many contributions in the OpenJDK Community Building JDK 11 together 2,468 JIRA issues marked as fixed in JDK 11 Over 500 were contributed by individuals and developers working for other organizations blogs.oracle.com/java-platform-group/building-jdk-11-together
  • 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Enterprise long-term support New simple Oracle JDK monthly subscription support offering for desktop, server and cloud deployments (pay as you use) You have a choice: - Oracle support for specific releases - Additional support options from other vendors oracle.com/java/java-se-subscription Low-cost, predictable pricing - $25.00 (USD) per month per processor (server) or LESS - $2.50 (USD) per month per user (desktop) or LESS - Significant discount available for large deployment support requirements (i.e. 50% discount for 10k-20K processor units)
  • 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 24
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 25
  • 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 26 Download JDK 12 tonight! java.oracle.com
  • 27. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 27 Learn more!
  • 28. CORE LANGUAGE FEATURES Copyright © 2019 Ed Burns Lang Style OO Interpreted, Optionally OO Not OO Functional, Not OO OO Type System Strong, Generics Dynamic, but “type checker” Inference, Strong, no generics Dynamic, no generics Inference, Strong, Generics Optionality? Yes No No “undefined” Yes, core feature Encapsulation Great support Poor Pretty good Poor Great Security Very good Not seen as the best No big problems yet < Java No big problems yet IO Several styles C like, has non- blocking C like, use goroutines async node fs Simple UI Several styles None None Frameworks Yes Mutability/State Yes, lots Yes, lots < Java Stateless encouraged Discouraged Verbosity Very verbose Somewhat verbose Pretty terse < Java Just right
  • 29. Platform stewards concern, or not? Multiple competing alternatives? One clear winner? Plays well with state of the art CI/CD? Cloud deployment? How mature is the solution? Are the providers of the solution monetized? Copyright © 2019 Ed Burns TABLE STAKES: Production Concerns Build Lifecycle Re-use Facilitation, Distribution Testing
  • 30. TABLE STAKES: Build Lifecycle Copyright © 2019 Ed Burns From Steward or not? No No Yes No Yes Mutiple competing choices? Maven is the winner, but Gradle is popular No one clear winner No No, but lots of parts, from different vendors No Plays well with cloud CI/CD? Possible but tricky Pretty well. See PyBuilder Yes Well supported, due to popularity Yes, but Mac hardware required How mature? Maven and Gradle are both very mature Not so mature, but seems as mature as it will get Yes Medium Medium
  • 31. TABLE STAKES: Reuse & Distribution Copyright © 2019 Ed Burns From Steward or not? Re-use: yes, distribution: no Yes, PyPi is from PSF Source code is king No Yes Mutiple competing choices? Maven central No No, dep is the “official experiment” npmjs No How mature? Very Yes No Since 2014 Yes Repo Monetized? Yes No, PSF is non- profit Does not apply Yes Does not apply Monetizable by author? No No No Yes No How easy? Still evolving, even after 22 years Good enough Source code is king Yes Source code is king Distribute learning artifacts? Yes No Does not apply No Does not apply
  • 32. TABLE STAKES: Reuse & Distribution Copyright © 2019 Ed Burns From Steward or not? Re-use: yes, distribution: no Yes, PyPi is from PSF Source code is king No Yes Mutiple competing choices? Maven central No No, dep is the “official experiment” npmjs No How mature? Very Yes No Since 2014 Yes Repo Monetized? Yes No, PSF is non- profit Does not apply Yes Does not apply Monetizable by author? No No No Yes No How easy? Still evolving, even after 22 years Good enough Source code is king Yes Source code is king Distribute learning artifacts? Yes No Does not apply No Does not apply
  • 33. TABLE STAKES: Reuse & Distribution Copyright © 2019 Ed Burns From Steward or not? Re-use: yes, distribution: no Yes, PyPi is from PSF Source code is king No Yes Mutiple competing choices? Maven central No No, dep is the “official experiment” npmjs No How mature? Very Yes No Since 2014 Yes Repo Monetized? Yes No, PSF is non- profit Does not apply Yes Does not apply Monetizable by author? No No No Yes No How easy? Still evolving, even after 22 years Good enough Source code is king Yes Source code is king Distribute learning artifacts? Yes No Does not apply No Does not apply
  • 34. TABLE STAKES: Testing Copyright © 2019 Ed Burns From Steward or not? Not at all Mix Yes No Yes Mutiple competing choices? Yes Yes, py.test recommended No Yes, mocha recommended No Plays well with cloud CI/CD? Yes, with maven Ok Yes Good enough Yes How mature? Very Very As mature as language Good enough As mature as language Vendor monetized? No No No No Yes Testing in language DNA? No, but has been embraced by steward Good enough Meh No Yes TDD support? Yes Yes Good enough Yes Yes
  • 35. TABLE STAKES: Testing Copyright © 2019 Ed Burns From Steward or not? Not at all Mix Yes No Yes Mutiple competing choices? Yes Yes, py.test recommended No Yes, mocha recommended No Plays well with cloud CI/CD? Yes, with maven Ok Yes Good enough Yes How mature? Very Very As mature as language Good enough As mature as language Testing in language DNA? No, but has been embraced by steward Good enough Meh No Yes TDD support? Yes Yes Good enough Yes Yes
  • 36. Copyright © 2019 Ed Burns TABLE STAKES: TOOLING Code completion/intellisense Refactoring Source level debugging Framework integration
  • 37. TABLE STAKES: Tooling Copyright © 2019 Ed Burns Code completion & Intellisense Of course Somewhat Somewhat Not so much Yes Refactoring Of course Possible, but not common Tools exist Tools exist Yes Source level debugging Of course pdb, and IDE plugins Yes, VS Code Yes, node- inspect, IDEs Yes Framework integration Of course Does not apply Does not apply Good enough Yes
  • 38. DEAL MAKERS OR BREAKERS Copyright © 2019 Ed Burns Factors that “seal the deal”
  • 39. DEAL MAKERS OR BREAKERS Copyright © 2019 Ed Burns Monetization The Killer App Stackoverflowability Maintainability Other considerations Talent Pool Breadth and Depth of Library Suport Compatibility
  • 40. Get paid for code Selling licenses Consulting gigs Reputation Future opportunities How easy is it to get paid to code in that language? Number of available jobs How well paying are they relateive to other languages? Copyright © 2019 Ed Burns DEAL MAKERS: MONETIZATION
  • 41. Seen as a safe bet. Lots of jobs Licensed Java software tends to be expensive enterprise software DEAL MAKERS: MONETIZATION Copyright © 2019 Ed Burns Popular in many hot growth areas Machine Learning Data Science DevOps
  • 42. Relatively fewer jobs Largest number of jobs Smallest number of jobs DEAL MAKERS: MONETIZATION Copyright © 2019 Ed Burns
  • 43. DEAL MAKERS: THE KILLER APP Copyright © 2019 Ed Burns Business apps. Cobol for the 21st century Also Android Machine Learning. Scientific computing Suitability for the cloud Web apps iOS apps
  • 44. DEAL MAKERS: THE KILLER APP Copyright © 2019 Ed Burns Business apps. Cobol for the 21st century Also Android Machine Learning. Scientific computing Suitability for the cloud Web apps iOS apps
  • 46. Copyright © 2019 Ed Burns THE PLATFORMS stackoverflow trends
  • 47. Copyright © 2019 Ed Burns THE PLATFORMS: JAVA 0 20 40 60 80 100 120 140 0 5 10 15 20 25 Java: Top 20 Stackoverflow answerers, reputation*1k
  • 48. Copyright © 2019 Ed Burns THE PLATFORMS: PYTHON 0 20 40 60 80 100 120 0 5 10 15 20 25 Python: Top 20 Stackoverflow answerers, reputation *1k
  • 49. Copyright © 2019 Ed Burns THE PLATFORMS: GO 0 2 4 6 8 10 12 0 5 10 15 20 25 Golang: Top 20 Stackoverflow answerers, reputation *1k
  • 50. Copyright © 2019 Ed Burns THE PLATFORMS: Node.js 0 10 20 30 40 50 60 70 0 5 10 15 20 25 Node.js: Top 20 Stackoverflow answerers, reputation *1k
  • 51. Copyright © 2019 Ed Burns THE PLATFORMS: Swift 0 5 10 15 20 25 30 0 5 10 15 20 25 Swift: Top 20 Stackoverflow answerers, reputation *1k
  • 52. DEAL MAKERS: STACKOVERFLOWABILITY Copyright © 2019 Ed Burns High point score 130k 110k 11k 60k 25k Number of questions, all time 1.5M 1.1M 34k (lots end up at issue tracker) 1.7M 224k % unanswered 27.7% 25.5% 17.7% 28.5% 33.1% New in last 30 days 15K 21,889 866 20k 3.8k Other forums beside stackovervlow Yes, IRC, Many formus and websites Yes, slack, forums #gonuts IRC channel, Gopher slack channel So huge it is hard to say. Yes. Yes
  • 53. DEAL MAKERS: STACKOVERFLOWABILITY Copyright © 2019 Ed Burns High point score 130k 110k 11k 60k 25k Number of questions, all time 1.5M 1.1M 34k (lots end up at issue tracker) 1.7M 224k % unanswered 27.7% 25.5% 17.7% 28.5% 33.1% New in last 30 days 15K 21,889 866 20k 3.8k Other forums beside stackovervlow Yes, IRC, Many formus and websites Yes, slack, forums #gonuts IRC channel, Gopher slack channel So huge it is hard to say. Yes. Yes
  • 54. Compatibility History of Breakages? Simultaneous different versions platform versions deployed side-by-side? Is it important that old code still run? Talent Pool How eays is it to hire/fire? Are there jobs on freelance sites? Library Support Have the libs you need? Well maintained and current? Maintainability How easy is it to write extremely unmaintainable code? Tools to aid understanding Hot fix capability Ethos of documentation? Copyright © 2019 Ed Burns DEAL MAKERS: Other Considerations Compatibility Talent Pool Library Support Maintainability
  • 55. Copyright © 2019 Ed Burns Summary These are all general purpose languages Obviously, there is no one perfect fit Question conventional wisdom regarding language choice Business apps. Cobol for the 21st century Also Android Machine Learning. Scientific computing Suitability for the cloud Web apps iOS apps
  • 56. Copyright © 2019 Ed Burns Key Takeaways Key factors influencing platform choice, in decreasing importance Team Comfort level of team with the platform How easy is it to make it easy to onboard people? Community Breadth, depth, and quality of library ecosystem Community welcoming to newcomers Language Steward Commitment for keeping the platform current Commitment to preserving backward compatibility Prompt and thorough addressing of security problems