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

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 - summarySabry Shaheen
 
Initial ideas and feedback
Initial ideas and feedbackInitial ideas and feedback
Initial ideas and feedbackcharliepawson
 
Workshop Social media: effectief & meetbaar
Workshop Social media: effectief & meetbaarWorkshop Social media: effectief & meetbaar
Workshop Social media: effectief & meetbaarRefreshed
 
الموهوبون..
الموهوبون..الموهوبون..
الموهوبون..anjo13
 
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 RECTIFIERSZac Darcy
 
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 | BewarenPACKED vzw
 

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
 
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 SourceAli King
 
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 ...JohannWanja
 
Resume_RogerCurtis
Resume_RogerCurtisResume_RogerCurtis
Resume_RogerCurtisRoger Curtis
 
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 DevelopmentPiotr Peszko
 
Picture Dictionary
Picture DictionaryPicture Dictionary
Picture DictionarySigortam.net
 
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 PosterMark Guzdial
 
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 DevicesTao Xie
 
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 LearningFernando Rosell-Aguilar
 
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 EMPLOYEESHuman Capital Media
 
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...SDL
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
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)Rosario (Rose) Robinson, MSc
 
Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)Tenney--LinkedIn Globalization (July 2008)
Tenney--LinkedIn Globalization (July 2008)merletenney
 
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 scaleParsa Ghaffari
 
Quality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyQuality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyAnkica Barisic
 

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
 
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
 
Quality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyQuality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case study
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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/