SlideShare a Scribd company logo
1 of 29
EMPIRICAL
ANALYSIS
OF
PROGRAMMING
LANGUAGE
ADOPTION

Leo A. Meyerovich, UC
Berkeley
Ariel S. Rabkin, Princeton
October, 2013
Why Adoption?

2
Confession of a Language Salesman
[P. Coburn]

Change Function threshold to adopt:

perceived adoption need
perceived adoption pain

> 1

FP!!!
new language

3
Confession of a Language Salesman
“From now on, my goal in life
would be to also drive the
denominator down to zero”
- Erik Meijer
Confessions of a Used Programming Language
Salesman

4
Confession of a Language Salesman
[P. Coburn]

Change Function threshold to adopt:

perceived adoption need
perceived adoption pain

FP!!!
new language

> 1

FP!!
familiar language

5
Science?
Adoption literature
change function is switching costs

Data analysis
growth

decision
making

acquisition
6
Our Data Sets
Viral Campaign
[McIver]

2 year long web survey
13,271 respondents
[Patterson &
Fox]

1,142

massive open
online course
(MOOC)
survey
respondents

2 week web survey
1,679 respondents

software
repositorie
s

217,368 projects

7
Demographics
Age: ~30
Degree: ~BS in CS

Employment: ~programmer
8
How do languages grow?

9
Ecological model of adoption

Use language
in a niche

Grow libraries
and user base

Spread language to more niches
10
Popular Languages CDF (Ohloh data)
100%

90%
80%
70%
60%
50%

Cumulativ
40%
e
css
30%
Use
html

c
shell
java
javascript

20%
10%
0%

c++
python
make

php

bat
sql
rubyc#

Half the projects
use 5 languages

xml

Language
11
Popular Languages CDF (Ohloh data)
100%

90%
80%
70%
60%

DSLs
dominate

50%

Cumulativ
40%
e
css
30%
Use
html

c
shell
java
javascript

20%
10%
0%

c++
python
make

php

bat
sql
rubyc#

Half the projects
use 5 languages

xml

Language
12
Odds for Most Languages?
(PDF)

100.0000%

Java for
16% of projects

10.0000%

Long Tail!
Supports designing for
niches and then growing

Proportion
1.0000%
of
Projects for
Language
0.1000%

Processing for
0.09% of projects
0.0100%

1

10
Language Rank (Decreasing)

100
13
[PLATEAU 2013]

200K+

Projects (2000-2010)

14
Popularity Across Niches
60%
40%

blogging:
9%

Java

search:
29%

Popularity
20%
0%

Project categories (223)

4%
3%

Popularity

build tools:
1%

Scheme

2%
1%

0%

Project categories (223)
15
Popularity Across Niches
60%

low dispersion

40%

Popularity
20%
0%

Project categories (223)

4%
3%

high dispersion

Popularity
2%
1%

0%

Project categories (223)
16
Dispersion Decreases as Popularity
Increases
1

Java

0.1

C#
PL/SQL
Assembly

0.01

Fortran

Prolog

0.001

Scheme
VBScript

Popularity

Languages grow
niche by niche

0.0001
5

4

3
2
1
Dispersion across niches
(σ / μ)

0

17
How Do Programmers Pick
Languages?

18
P(L’ | L)

p(popular)
75%

Shows importance
of familiarity

p(repeat)
30%

19
How Do Languages Get Picked?
Development speed?

Performance?

strongly disagree

neutral

strongly agree

20
Relative Importance of Language Aspects (MedStrong)
0%
Open source libraries
Group legacy
Project legacy
Self familiarity
Team familiarity
Target platform
Performance
Tooling
Development speed
Hiring
Individual feature(s)
Correctness
Simplicity
Commercial libraries

10%

20%

30%

40%

50%

60%

70%

80%

Extrinsic niche-specific
factors dominate!
Intrinsics:
performance,
correctness,
…

Be Positive: Design Guides & Opportunities
Slashdot survey, Companies with 1-19 employees

21
Learning: Shelf Life of a Programmer?

“Baby Boomers and Gen Xers
tend to know C# and SQL.
Gen Y knows Python… and Hadoop”
Recruiter

22
Language Users are Age-Invariant
Mean # Langs. known

Languages are learned and forgotten
Programmers
have a working set
that they refresh!

8

6

4

2

know slightly
know well
0

20

30

40

Age

50

60
Median reported time required
to “learn a language well”
Time to learn is short compared to career

25
Probability of Knowing a Language

All

CS
Major

Not
CS
Major

Taught
in
school

Not
Taught
in
school

Functional
Scheme,
ML, ...

22%

24%

19%

40%

15%

Assembly
MIPS, …

14%

14%

14%

20%

10%

Mathematic
al
11% 10%
11%
31%
7%
Matlab, R,
CS degree unimportantbut coursework matters
…
26
Conclusions
Extrinsics dominate: Libraries and familiarity!
Model: Niche-by-niche growth
Intrinsics secondary:
Performance, semantics, IDEs
Fluidity = Hope: Programmers know few
languages but can refresh within 6 months.

27
Looking Ahead
Language Sociology
Programming is done by groups; big knowledge gaps

Streamline Empiricism
Surveys, experiments (mining already active)
Exploit MOOCs!
Social Language Design
Improve sharing and utilize networks
28
Socio-PLT
www.eecs.berkeley.edu/~lmeyerov

29

More Related Content

Viewers also liked

Initial ideas and feedback
Initial ideas and feedbackInitial ideas and feedback
Initial ideas and feedback
charliepawson
 
الموهوبون..
الموهوبون..الموهوبون..
الموهوبون..
anjo13
 

Viewers also liked (14)

Joyjoy
JoyjoyJoyjoy
Joyjoy
 
Towards a better life by sabry shaheen - summary
Towards a better life   by sabry shaheen -  summaryTowards a better life   by sabry shaheen -  summary
Towards a better life by sabry shaheen - summary
 
Gesture ppt
Gesture pptGesture ppt
Gesture ppt
 
Initial ideas and feedback
Initial ideas and feedbackInitial ideas and feedback
Initial ideas and feedback
 
Beamer Presentation
Beamer PresentationBeamer Presentation
Beamer Presentation
 
Workshop Social media: effectief & meetbaar
Workshop Social media: effectief & meetbaarWorkshop Social media: effectief & meetbaar
Workshop Social media: effectief & meetbaar
 
الموهوبون..
الموهوبون..الموهوبون..
الموهوبون..
 
Admit card
Admit cardAdmit card
Admit card
 
Boisik
BoisikBoisik
Boisik
 
Presentation5
Presentation5Presentation5
Presentation5
 
INFLUENCE OF OVERLAYERS ON DEPTH OF IMPLANTED-HETEROJUNCTION RECTIFIERS
INFLUENCE OF OVERLAYERS ON DEPTH OF IMPLANTED-HETEROJUNCTION RECTIFIERSINFLUENCE OF OVERLAYERS ON DEPTH OF IMPLANTED-HETEROJUNCTION RECTIFIERS
INFLUENCE OF OVERLAYERS ON DEPTH OF IMPLANTED-HETEROJUNCTION RECTIFIERS
 
Papercoding Final
Papercoding FinalPapercoding Final
Papercoding Final
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | BewarenModule 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
 

Similar to Empirical Analysis of Programming Language Adoption

[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
Digital Classicist Seminar Berlin
 
Resume_RogerCurtis
Resume_RogerCurtisResume_RogerCurtis
Resume_RogerCurtis
Roger Curtis
 
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
Heidi Nance
 
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEESUPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
Human Capital Media
 
Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)
merletenney
 

Similar to Empirical Analysis of Programming Language Adoption (20)

[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
[DCSB] Gregory Crane, Stella Dee, Maryam Foradi, Monica Lent, Maria Moritz (U...
 
clojure.pptx
clojure.pptxclojure.pptx
clojure.pptx
 
Free For All: Getting Started in Open Source
Free For All: Getting Started in Open SourceFree For All: Getting Started in Open Source
Free For All: Getting Started in Open Source
 
Survey on Common Strategies of Vocabulary Reuse in Linked Open Data Modeling ...
Survey on Common Strategies of Vocabulary Reuse in Linked Open Data Modeling ...Survey on Common Strategies of Vocabulary Reuse in Linked Open Data Modeling ...
Survey on Common Strategies of Vocabulary Reuse in Linked Open Data Modeling ...
 
Resume_RogerCurtis
Resume_RogerCurtisResume_RogerCurtis
Resume_RogerCurtis
 
SOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content DevelopmentSOAP2015 - Key Challenges in Global Content Development
SOAP2015 - Key Challenges in Global Content Development
 
Picture Dictionary
Picture DictionaryPicture Dictionary
Picture Dictionary
 
Critiquing CS Assessment from a CS for All lens: Dagstuhl Seminar Poster
Critiquing CS Assessment from a CS for All lens: Dagstuhl Seminar PosterCritiquing CS Assessment from a CS for All lens: Dagstuhl Seminar Poster
Critiquing CS Assessment from a CS for All lens: Dagstuhl Seminar Poster
 
A Preliminary Field Study of Game Programming on Mobile Devices
A Preliminary Field Study of Game Programming on Mobile DevicesA Preliminary Field Study of Game Programming on Mobile Devices
A Preliminary Field Study of Game Programming on Mobile Devices
 
K!ND
K!NDK!ND
K!ND
 
Users' evaluation of apps for Language Learning
Users' evaluation of apps for Language LearningUsers' evaluation of apps for Language Learning
Users' evaluation of apps for Language Learning
 
Forward3D Ecom Expo 2015 - Performance Linguistics
Forward3D Ecom Expo 2015 - Performance LinguisticsForward3D Ecom Expo 2015 - Performance Linguistics
Forward3D Ecom Expo 2015 - Performance Linguistics
 
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
Open Source Data Visualization for Resource Sharing: An Ivy Plus Libraries Pr...
 
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEESUPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
UPGRADING YOUR PROFESSIONAL DEVELOPMENT PLANS FOR TODAY’S GLOBAL EMPLOYEES
 
Architecting Your Global Digital Experience House - Nicole Uhlig and Derek Pa...
Architecting Your Global Digital Experience House - Nicole Uhlig and Derek Pa...Architecting Your Global Digital Experience House - Nicole Uhlig and Derek Pa...
Architecting Your Global Digital Experience House - Nicole Uhlig and Derek Pa...
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Cloud Services UX
Cloud Services UXCloud Services UX
Cloud Services UX
 
Caribbean Celebration of Women in Computing (Open Source)
Caribbean Celebration of Women in Computing (Open Source)Caribbean Celebration of Women in Computing (Open Source)
Caribbean Celebration of Women in Computing (Open Source)
 
Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)
 
Using NLP to understand textual content at scale
Using NLP to understand textual content at scaleUsing NLP to understand textual content at scale
Using NLP to understand textual content at scale
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Empirical Analysis of Programming Language Adoption

  • 1. EMPIRICAL ANALYSIS OF PROGRAMMING LANGUAGE ADOPTION Leo A. Meyerovich, UC Berkeley Ariel S. Rabkin, Princeton October, 2013
  • 3. Confession of a Language Salesman [P. Coburn] Change Function threshold to adopt: perceived adoption need perceived adoption pain > 1 FP!!! new language 3
  • 4. Confession of a Language Salesman “From now on, my goal in life would be to also drive the denominator down to zero” - Erik Meijer Confessions of a Used Programming Language Salesman 4
  • 5. Confession of a Language Salesman [P. Coburn] Change Function threshold to adopt: perceived adoption need perceived adoption pain FP!!! new language > 1 FP!! familiar language 5
  • 6. Science? Adoption literature change function is switching costs Data analysis growth decision making acquisition 6
  • 7. Our Data Sets Viral Campaign [McIver] 2 year long web survey 13,271 respondents [Patterson & Fox] 1,142 massive open online course (MOOC) survey respondents 2 week web survey 1,679 respondents software repositorie s 217,368 projects 7
  • 8. Demographics Age: ~30 Degree: ~BS in CS Employment: ~programmer 8
  • 10. Ecological model of adoption Use language in a niche Grow libraries and user base Spread language to more niches 10
  • 11. Popular Languages CDF (Ohloh data) 100% 90% 80% 70% 60% 50% Cumulativ 40% e css 30% Use html c shell java javascript 20% 10% 0% c++ python make php bat sql rubyc# Half the projects use 5 languages xml Language 11
  • 12. Popular Languages CDF (Ohloh data) 100% 90% 80% 70% 60% DSLs dominate 50% Cumulativ 40% e css 30% Use html c shell java javascript 20% 10% 0% c++ python make php bat sql rubyc# Half the projects use 5 languages xml Language 12
  • 13. Odds for Most Languages? (PDF) 100.0000% Java for 16% of projects 10.0000% Long Tail! Supports designing for niches and then growing Proportion 1.0000% of Projects for Language 0.1000% Processing for 0.09% of projects 0.0100% 1 10 Language Rank (Decreasing) 100 13
  • 15. Popularity Across Niches 60% 40% blogging: 9% Java search: 29% Popularity 20% 0% Project categories (223) 4% 3% Popularity build tools: 1% Scheme 2% 1% 0% Project categories (223) 15
  • 16. Popularity Across Niches 60% low dispersion 40% Popularity 20% 0% Project categories (223) 4% 3% high dispersion Popularity 2% 1% 0% Project categories (223) 16
  • 17. Dispersion Decreases as Popularity Increases 1 Java 0.1 C# PL/SQL Assembly 0.01 Fortran Prolog 0.001 Scheme VBScript Popularity Languages grow niche by niche 0.0001 5 4 3 2 1 Dispersion across niches (σ / μ) 0 17
  • 18. How Do Programmers Pick Languages? 18
  • 19. P(L’ | L) p(popular) 75% Shows importance of familiarity p(repeat) 30% 19
  • 20. How Do Languages Get Picked? Development speed? Performance? strongly disagree neutral strongly agree 20
  • 21. Relative Importance of Language Aspects (MedStrong) 0% Open source libraries Group legacy Project legacy Self familiarity Team familiarity Target platform Performance Tooling Development speed Hiring Individual feature(s) Correctness Simplicity Commercial libraries 10% 20% 30% 40% 50% 60% 70% 80% Extrinsic niche-specific factors dominate! Intrinsics: performance, correctness, … Be Positive: Design Guides & Opportunities Slashdot survey, Companies with 1-19 employees 21
  • 22. Learning: Shelf Life of a Programmer? “Baby Boomers and Gen Xers tend to know C# and SQL. Gen Y knows Python… and Hadoop” Recruiter 22
  • 23. Language Users are Age-Invariant
  • 24. Mean # Langs. known Languages are learned and forgotten Programmers have a working set that they refresh! 8 6 4 2 know slightly know well 0 20 30 40 Age 50 60
  • 25. Median reported time required to “learn a language well” Time to learn is short compared to career 25
  • 26. Probability of Knowing a Language All CS Major Not CS Major Taught in school Not Taught in school Functional Scheme, ML, ... 22% 24% 19% 40% 15% Assembly MIPS, … 14% 14% 14% 20% 10% Mathematic al 11% 10% 11% 31% 7% Matlab, R, CS degree unimportantbut coursework matters … 26
  • 27. Conclusions Extrinsics dominate: Libraries and familiarity! Model: Niche-by-niche growth Intrinsics secondary: Performance, semantics, IDEs Fluidity = Hope: Programmers know few languages but can refresh within 6 months. 27
  • 28. Looking Ahead Language Sociology Programming is done by groups; big knowledge gaps Streamline Empiricism Surveys, experiments (mining already active) Exploit MOOCs! Social Language Design Improve sharing and utilize networks 28

Editor's Notes

  1. David McIver
  2. http://www.dreamstime.com/royalty-free-stock-image-small-plant-breaking-rock-image13902286http://jessgibbsphotography.com/wp-content/uploads/2010/05/bright_green_flowering_plants_grow_on_rocks_along_foreshore.jpg
  3. http://www.theaustralian.com.au/technology/legacy-languages-prove-lucractive-for-dying-breed-of-programmers/story-e6frgakx-1225993874788http://bits.blogs.nytimes.com/2013/07/05/technology-workers-are-young-really-young/