SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 ClassroomCynthia 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 ClassroomCynthia 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 PerspectiveMichael Marth
 
Introduction to Open Source
Introduction to Open SourceIntroduction to Open Source
Introduction to Open SourceEpic
 
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 meetupVijay 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 ZoneAmazon 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 organizationsReham 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 InDevOps.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 2017Michelle 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 ProjectSofiaCarter4
 
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 EvilIBM UrbanCode Products
 
Cp exam sectiona
Cp exam sectionaCp exam sectiona
Cp exam sectionaKim Fyson
 
OCR Media Studies A2 Section A
OCR Media Studies A2 Section AOCR Media Studies A2 Section A
OCR Media Studies A2 Section AKim 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 overviewDima 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 SDLCAbdul 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 LearningBruce Cronquist
 
Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014Eduserv Adobe ETLA webinar January 2014
Eduserv Adobe ETLA webinar January 2014Eduserv
 

Semelhante a 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
 

Mais de Edward Burns

Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career MasterplanEdward 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 advantageEdward Burns
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztEdward 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 AzureEdward Burns
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfEdward 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 HauseEdward Burns
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with AzureEdward 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 coveredEdward 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 CloudEdward Burns
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward 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 2015Edward 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 2015Edward 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 2015Edward 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 InfodeckEdward 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 InfodeckEdward Burns
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 

Mais de Edward Burns (20)

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
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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