Upload
pamela-morgan-stevens
View
215
Download
0
Embed Size (px)
Citation preview
therightabstractions.com
Today we’re gonna talk about…
therightabstractions.com
What’s the best programming language?
therightabstractions.com
What’s the best __________________?
X vs Y
therightabstractions.com
ITDEPENDS
therightabstractions.com
A Simplified Model“System-ish” Programming Application Programming
Operating SystemsDriversBrowsersVirtualizationLow-level Resource Management
CRUD / Line of Business AppsReportsWebsitesRESTful APIsMobile Apps
therightabstractions.com
What’s the best programming language for what I’m trying to do?
most appropriate
therightabstractions.com
Qualitative Considerations
• Context• Features• Total Cost• Longevity• Community• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features• Total Cost• Longevity• Community• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost• Longevity• Community• Substitutability• Leadership
therightabstractions.com
Expressive power examplehttp://www.tutorialspoint.com/codingground.htm
therightabstractions.com
Ease of starting
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost• Longevity• Community• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost – Price over the long term of owning and maintaining the
codebase• Longevity• Community• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost – Price over the long term of owning and maintaining the
codebase• Longevity – How long will this language / library be maintained for?• Community• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost – Price over the long term of owning and maintaining the
codebase• Longevity – How long will this language / library be maintained for?• Community – Size, knowledge, culture, and energy of community that
use this language• Substitutability• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost – Price over the long term of owning and maintaining the
codebase• Longevity – How long will this language / library be maintained for?• Community – Size, knowledge, culture, and energy of community that
use this language• Substitutability – Do you have a way out if things go wrong?• Leadership
therightabstractions.com
Qualitative Considerations
• Context – Expertise, codebase, external constraints• Features – Expressive power, ease of starting, tool chain, etc.• Total Cost – Price over the long term of owning and maintaining the
codebase• Longevity – How long will this language / library be maintained for?• Community – Size, knowledge, culture, and energy of community that
use this language• Substitutability – Do you have a way out if things go wrong?• Leadership – Making things work.
therightabstractions.com
C#Unavoidable Tier
therightabstractions.com
C#
JavaScript
Unavoidable Tier
therightabstractions.com
C#
JavaScript
Top Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Top Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Almost Top Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
PHP
Almost Top Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
PHP
Up And Coming Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Up And Coming Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Non-mainstream Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Groovy
Scala
F#
Non-mainstream Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Groovy
Scala
F#
Rarely Used Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Groovy
Scala
F#
Erlang
OCaml
Clojure
Haskell
Rarely Used Tier
therightabstractions.com
C#
JavaScript
C#Java
PythonRuby
Swift
Go
PHP
Groovy
Scala
F#
Erlang
OCaml
Clojure
Haskell
OmissionsC / C++Better JavaScript – TypeScript, CoffeeScript, etc.Objective-C “Academicy” Languages – Ada, Idris, CoqToo obscure – Elm, ElixirRacket, Common LispOthers