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 Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

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/