SlideShare a Scribd company logo
Python Hype?
Brian Ray
Hi, I’m Brian Ray
• Directive Years
1998-2003
• Engineering Years
2003-2006
• Leadership Years
2009-2010
• Indy Consulting Years
2010-2013
Taken in China
May 20th, 2016
• Big Four Consulting
2013-current
Why “Python Hype”?
In the last 10 years, we are seeing Python having
(select one):
A. Slow and steady growth.
B. Spiked and now on decline.
C. Spiked + Declined now stabilized.
D. Lives in independent domain.
E. We (Python fans) live in a bubble.
What measure?
• Hype Cycle
• TIOBE Index
• On Github
• PYPL
• Some other
Don’t tell me there aren’t trends
Programming language “popularity” is
hard to measure.
Lenses to help measure:
1. Learned: was taught Python in course
2. Migrated: from language to language
3. Addressed: problem class to solve
4. Platform-ed: ecosystem of tools
5. Retained: sticking with Python
6. Promoted: Promoted
OUR SURVEY
236 respondents broken up into 3 groups
Who
1
2
3
Groups
The missing group 4: Those who didn’t take the survey
User Distribution
2
49 %
1
29%
3
22%
Treatment of groups
• Curve
Questions
• Retained
• Promoted
• Addressed
• Platform-ed
• Learned
• Migrated
1 2
all3
Group 1: Learned/Migrated
• 60% heard of python Word of mouth
• 56% had very positive first impression, 31%
had positive, less than 13% neutral or less.
• Net-promoter to recommend
Group 1: Learned/Migrated
Group 1: Learned/Migrated
“Python is Now the Most
Popular Introductory
Teaching Language at
Top U.S. Universities”
By Philip Guo
July 7, 2014
Group 2: addressed / platformed
• 63% very positive 1st impression
(3% higher than Group 1)
• 77.5% very positive 2nd impression
(after months)
• 71 % very positive 3rd impression
Hype curve-esk?
Group 2: addressed / platformed
Dislikes:
• Poor documentation
• Don’t like whitespace
• Slow
• Prefer statically typed
• Threading
• Runtime not as ubiquitous as Java
• GIL
• Models not pip installable
• Inheritance can be confusing
• Lack of Mobile dev support
• That it’s not Lisp
• Python 2 or 3 choice
• Package support for Python 3
• Python 2 vs 3
• Dependency Management
• Installation Issues
• Smarmy attitude
Likes:
• Flexibility, simplicity, transparency
• Legibility
• Easy to learn
• Approachable
• Community
• “Batteries included”
• Correct or “pythonic” way
• Standard library
• Online resources
• Scientific libraries
• Versatile
• Third party libraries
• Online communities
• Concise
• Easy to get started
• Not Java 8
• Garbage collection
• Great depth
• Complex times included
Group 3: Retainer / Promoter
Group 1 Group 3
• 53% think Python Very high quality, 39% High, less then 9%
Natural or below
Group 3: Retainer / Promoter
Group 1
Group 3: Retainer / Promoter
Small drawbacks:
• 45% Speed
• 44% GIL
• 30% easy to duck type / monkey patch
Big Drawbacks:
• 9% GIL
• 15% Unicode Support
Critical:
• 5% Unicode Support
25%– 50%– 100%––
Python 2 (before 2.7) 10.64% 12.77% 2.13%
Python 2.7 - 2.x 16.67% 30.30% 43.94%
Python 3+ 22.03% 32.20% 23.73%
PyPy 14.89% 0.00% 2.13%
Jython 4.44% 4.44% 0.00%
Group 3: third-party
• Surveyed 58 most downloaded pypi packages
• 53% marked “Used”
• 24% marked “long time user”
• 14% marked “plan on long time”
• 7% marked “stop”
Group 3: third-party
Top Plan on long time: pip kid virtualenv
ipython pep8 requests pandas django celery
reportlab
Top Stopped: plone pylons pycurl twissted zope
nose pyramid
All Groups
• Hype
All Groups
• TIOBE
When did Python Peak:
• 2007: 1%
• 2010: 28%
• Never: 46%
• Other: 23%
Other:
• 2011: when google recruited for
• Science/web lead to second
wave
• 2011-2012
• 2014
• Peak is still coming
• Big Data will lead to future peak
All Groups
• Github
2008-2009 2014+2010-2013
Github Top Python Projects
How forked
0.0
10.0
20.0
30.0
40.0
50.0
60.0
before 2010 2013-2014 after 2014
JavaScript Ruby
PHP Python
Objective-C C
C++ Java
Shell CoffeeScript
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
PHP
Python
Objective-C
C
C++
Java
Shell
Activity, based on count: watched + forked
All Groups
• PYPL
Why seeing
Steady upward
Line?
• Has broader range of uses, unlike Ruby (rails and
devops)
• Mirrors Data Science Usage
• Mirrors Big Data Usage
• Steady growth
OTHER FACTORS
Some other “Popularity” Metrics
A local approach
• Jobs
• Meetups
Corporate Suite
• Python (and R) compatibility with Commercial
vendors: Datameer, IBM, Microsoft Azure,
Oracle, Platfora, SAP, Tableau, Teradata and
Tibco Software.
Adoption in Data Science
• KDNuggets reporting that 49% of analytics
and data mining developers have used R, and
35% have used Python
Google hiring Python
It all got started, I believe, because the very earliest
Googlers (Sergey, Larry, Craig, ...) made a good
engineering decision: "Python where we can, C++
where we must” - Alex Martelli
Python's growth and acceptance in its many roles
just hasn't followed any ups-and-downs curve as
models would predict -- it's been pretty steadily,
gradually upwards instead.
HIGHLIGHTS
Some interpretation of results…
Revisiting our question
A. Slow and steady growth.
B. Spiked and now on decline.
C. Spiked + Declined now stabilized.
D. Lives in independent domain.
E. We (Python fans) live in a bubble.
Slow and steady growth.
Supports:
• Strong first impressions from
Group 1, 2, 3
• Strong retention in group 2
• Spikes not
measures as
large
• 30% of hardcore
users have switched
to Python 3+
50% of the time
or more
• Because Alex Martelli
says so
Negates:
• 20% no disruptive
• 5% increase in watchers+forkers on
github
• We did
measure
some spikes
Spiked and now on decline.
Supports:
• Some domain-specific languages,
push down?
• Lack of mobile support
• Small amount of degative: 2/3
support, swarmy
Negates:
• Lack of significant data showing decline in
Python popularity
• Very low activity scores confirming decline
• Not much negative press
• 46% say never peaked
Spiked + Declined now stabilized
Supports:
• 30% Data Science market uses
Python
• ¼ surveyed see as in reached
Productivity/maturity
• TOIBE shows some spike-ish
around 2010- 28% surveyed agree
Negates:
• Hard to measure market penetration, is it
20%
• Of third party packages, only 14% plan on
using what they use now for a long time
Lives in independent domain
Supports:
• Python remained someone on
effected on the PYPL Index where
clearly other languages ebbed and
flowed
Negates:
• Google and others site using Python with
other languages
• Considered good-glue
• Commercial software vendors adding
Python support
We (Python fans) live in a bubble
Supports:
• Nearly 90% approval rating is
insane, and that’s who took the
survey
• 45% of users found Python from
Word of Mouth
Negates:
• Python lives in two many different
independent domains to be blind sided
SOME CLOSING THOUGHTS
In my own words
The Future of Python
• A good choice to learn
• Not going away (anytime soon)
• Get involved with your local community
• Contribute in your area of interest
• Python Addition Helpline
• Openness allows self fulfilling prophecy
• Still, don’t live in a vacuum, learn other
languages!
THANK YOU!
Brian Ray
Email: brianhray@gmail.com or brray@deloitte.com
https://www.linkedin.com/in/brianray
https://twitter.com/brianray
https://github.com/brianray
http://chipy.org
Python Hype?
Ad

More Related Content

Viewers also liked (20)

Intro to Python
Intro to PythonIntro to Python
Intro to Python
Tarek Abdul-Kader , Android Developer
 
Java OOP Programming language (Part 1) - Introduction to Java
Java OOP Programming language (Part 1) - Introduction to JavaJava OOP Programming language (Part 1) - Introduction to Java
Java OOP Programming language (Part 1) - Introduction to Java
OUM SAOKOSAL
 
Python - Lecture 1
Python - Lecture 1Python - Lecture 1
Python - Lecture 1
Ravi Kiran Khareedi
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en python
Arthur Lutz
 
Learning notes of r for python programmer (Temp1)
Learning notes of r for python programmer (Temp1)Learning notes of r for python programmer (Temp1)
Learning notes of r for python programmer (Temp1)
Chia-Chi Chang
 
Introduction to Advanced Javascript
Introduction to Advanced JavascriptIntroduction to Advanced Javascript
Introduction to Advanced Javascript
Collaboration Technologies
 
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Matt Harrison
 
PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and More
Matt Harrison
 
Operator Overloading
Operator Overloading  Operator Overloading
Operator Overloading
Sardar Alam
 
Python for All
Python for All Python for All
Python for All
Pragya Goyal
 
Installing Python on Mac
Installing Python on MacInstalling Python on Mac
Installing Python on Mac
Wei-Wen Hsu
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
Yi-Fan Chu
 
Lesson1 python an introduction
Lesson1 python an introductionLesson1 python an introduction
Lesson1 python an introduction
Arulalan T
 
Python master class part 1
Python master class part 1Python master class part 1
Python master class part 1
Chathuranga Bandara
 
Introduction to Python - Running Notes
Introduction to Python - Running NotesIntroduction to Python - Running Notes
Introduction to Python - Running Notes
RajKumar Rampelli
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
Yi-Fan Chu
 
Lec02 structures (2)
Lec02 structures (2)Lec02 structures (2)
Lec02 structures (2)
Khuder Altangerel
 
Mastering python lesson2
Mastering python lesson2Mastering python lesson2
Mastering python lesson2
Ruth Marvin
 
Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Introduction to facebook javascript sdk
Introduction to facebook javascript sdk
Yi-Fan Chu
 
Running openCV project on Mac OS
Running openCV project on Mac OSRunning openCV project on Mac OS
Running openCV project on Mac OS
Wei-Wen Hsu
 
Java OOP Programming language (Part 1) - Introduction to Java
Java OOP Programming language (Part 1) - Introduction to JavaJava OOP Programming language (Part 1) - Introduction to Java
Java OOP Programming language (Part 1) - Introduction to Java
OUM SAOKOSAL
 
Meetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en pythonMeetup Python Nantes - les tests en python
Meetup Python Nantes - les tests en python
Arthur Lutz
 
Learning notes of r for python programmer (Temp1)
Learning notes of r for python programmer (Temp1)Learning notes of r for python programmer (Temp1)
Learning notes of r for python programmer (Temp1)
Chia-Chi Chang
 
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Matt Harrison
 
PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and More
Matt Harrison
 
Operator Overloading
Operator Overloading  Operator Overloading
Operator Overloading
Sardar Alam
 
Installing Python on Mac
Installing Python on MacInstalling Python on Mac
Installing Python on Mac
Wei-Wen Hsu
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
Yi-Fan Chu
 
Lesson1 python an introduction
Lesson1 python an introductionLesson1 python an introduction
Lesson1 python an introduction
Arulalan T
 
Introduction to Python - Running Notes
Introduction to Python - Running NotesIntroduction to Python - Running Notes
Introduction to Python - Running Notes
RajKumar Rampelli
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
Yi-Fan Chu
 
Mastering python lesson2
Mastering python lesson2Mastering python lesson2
Mastering python lesson2
Ruth Marvin
 
Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Introduction to facebook javascript sdk
Introduction to facebook javascript sdk
Yi-Fan Chu
 
Running openCV project on Mac OS
Running openCV project on Mac OSRunning openCV project on Mac OS
Running openCV project on Mac OS
Wei-Wen Hsu
 

Similar to Python Hype? (20)

the complete python bootcamp + 100 real world application
the complete python bootcamp + 100 real world applicationthe complete python bootcamp + 100 real world application
the complete python bootcamp + 100 real world application
Neamatullah
 
Programming for data science in python
Programming for data science in pythonProgramming for data science in python
Programming for data science in python
UmmeSalmaM1
 
The PSF and You
The PSF and YouThe PSF and You
The PSF and You
Jeffrey Clark
 
Foundation Comparison
Foundation ComparisonFoundation Comparison
Foundation Comparison
Jody Garnett
 
Intro slides
Intro slidesIntro slides
Intro slides
rekhawankhede1
 
Intro Data science_pandas_Daslides .pptx
Intro Data science_pandas_Daslides .pptxIntro Data science_pandas_Daslides .pptx
Intro Data science_pandas_Daslides .pptx
aashammariaziz
 
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Richard Haeser
 
Presentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Presentation Yoast SEO for TYPO3 - Meet TYPO3 ViennaPresentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Presentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Richard Haeser
 
AUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event TalksAUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event Talks
AUGNYC
 
Time travel: Let’s learn from the history of Python packaging!
Time travel: Let’s learn from the history of Python packaging!Time travel: Let’s learn from the history of Python packaging!
Time travel: Let’s learn from the history of Python packaging!
Kir Chou
 
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
Dominopoint - Italian Lotus User Group
 
2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones
Steve Lee
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Chris Aniszczyk
 
#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research
Georgia Bullen
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
Ernesto Baschny
 
Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...
M M Nair
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
JAX London
 
2021 05-08 building ai product - experience
2021 05-08 building ai product - experience2021 05-08 building ai product - experience
2021 05-08 building ai product - experience
Kien Le
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
Ben VanEvery
 
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew WeinbergHow to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
Atlassian
 
the complete python bootcamp + 100 real world application
the complete python bootcamp + 100 real world applicationthe complete python bootcamp + 100 real world application
the complete python bootcamp + 100 real world application
Neamatullah
 
Programming for data science in python
Programming for data science in pythonProgramming for data science in python
Programming for data science in python
UmmeSalmaM1
 
Foundation Comparison
Foundation ComparisonFoundation Comparison
Foundation Comparison
Jody Garnett
 
Intro Data science_pandas_Daslides .pptx
Intro Data science_pandas_Daslides .pptxIntro Data science_pandas_Daslides .pptx
Intro Data science_pandas_Daslides .pptx
aashammariaziz
 
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Yoast SEO for TYPO3 - TYPO3 Developer Days 2017
Richard Haeser
 
Presentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Presentation Yoast SEO for TYPO3 - Meet TYPO3 ViennaPresentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Presentation Yoast SEO for TYPO3 - Meet TYPO3 Vienna
Richard Haeser
 
AUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event TalksAUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event Talks
AUGNYC
 
Time travel: Let’s learn from the history of Python packaging!
Time travel: Let’s learn from the history of Python packaging!Time travel: Let’s learn from the history of Python packaging!
Time travel: Let’s learn from the history of Python packaging!
Kir Chou
 
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
#dd12 Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from Ope...
Dominopoint - Italian Lotus User Group
 
2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones
Steve Lee
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Chris Aniszczyk
 
#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research
Georgia Bullen
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
Ernesto Baschny
 
Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...Future of Python Certified Professionals in Data Science and Artificial Intel...
Future of Python Certified Professionals in Data Science and Artificial Intel...
M M Nair
 
Why FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
JAX London
 
2021 05-08 building ai product - experience
2021 05-08 building ai product - experience2021 05-08 building ai product - experience
2021 05-08 building ai product - experience
Kien Le
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
Ben VanEvery
 
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew WeinbergHow to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
How to Use HipChat to Collaborate and Build Culture - Matthew Weinberg
Atlassian
 
Ad

Recently uploaded (20)

The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
Smart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptxSmart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptx
rushikeshnavghare94
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Smart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptxSmart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptx
rushikeshnavghare94
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Ad

Python Hype?

  • 2. Hi, I’m Brian Ray • Directive Years 1998-2003 • Engineering Years 2003-2006 • Leadership Years 2009-2010 • Indy Consulting Years 2010-2013 Taken in China May 20th, 2016 • Big Four Consulting 2013-current
  • 3. Why “Python Hype”? In the last 10 years, we are seeing Python having (select one): A. Slow and steady growth. B. Spiked and now on decline. C. Spiked + Declined now stabilized. D. Lives in independent domain. E. We (Python fans) live in a bubble.
  • 4. What measure? • Hype Cycle • TIOBE Index • On Github • PYPL • Some other
  • 5. Don’t tell me there aren’t trends
  • 6. Programming language “popularity” is hard to measure. Lenses to help measure: 1. Learned: was taught Python in course 2. Migrated: from language to language 3. Addressed: problem class to solve 4. Platform-ed: ecosystem of tools 5. Retained: sticking with Python 6. Promoted: Promoted
  • 7. OUR SURVEY 236 respondents broken up into 3 groups
  • 8. Who 1 2 3 Groups The missing group 4: Those who didn’t take the survey
  • 10. Treatment of groups • Curve Questions • Retained • Promoted • Addressed • Platform-ed • Learned • Migrated 1 2 all3
  • 11. Group 1: Learned/Migrated • 60% heard of python Word of mouth • 56% had very positive first impression, 31% had positive, less than 13% neutral or less. • Net-promoter to recommend
  • 13. Group 1: Learned/Migrated “Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities” By Philip Guo July 7, 2014
  • 14. Group 2: addressed / platformed • 63% very positive 1st impression (3% higher than Group 1) • 77.5% very positive 2nd impression (after months) • 71 % very positive 3rd impression Hype curve-esk?
  • 15. Group 2: addressed / platformed Dislikes: • Poor documentation • Don’t like whitespace • Slow • Prefer statically typed • Threading • Runtime not as ubiquitous as Java • GIL • Models not pip installable • Inheritance can be confusing • Lack of Mobile dev support • That it’s not Lisp • Python 2 or 3 choice • Package support for Python 3 • Python 2 vs 3 • Dependency Management • Installation Issues • Smarmy attitude Likes: • Flexibility, simplicity, transparency • Legibility • Easy to learn • Approachable • Community • “Batteries included” • Correct or “pythonic” way • Standard library • Online resources • Scientific libraries • Versatile • Third party libraries • Online communities • Concise • Easy to get started • Not Java 8 • Garbage collection • Great depth • Complex times included
  • 16. Group 3: Retainer / Promoter Group 1 Group 3 • 53% think Python Very high quality, 39% High, less then 9% Natural or below
  • 17. Group 3: Retainer / Promoter Group 1
  • 18. Group 3: Retainer / Promoter Small drawbacks: • 45% Speed • 44% GIL • 30% easy to duck type / monkey patch Big Drawbacks: • 9% GIL • 15% Unicode Support Critical: • 5% Unicode Support 25%– 50%– 100%–– Python 2 (before 2.7) 10.64% 12.77% 2.13% Python 2.7 - 2.x 16.67% 30.30% 43.94% Python 3+ 22.03% 32.20% 23.73% PyPy 14.89% 0.00% 2.13% Jython 4.44% 4.44% 0.00%
  • 19. Group 3: third-party • Surveyed 58 most downloaded pypi packages • 53% marked “Used” • 24% marked “long time user” • 14% marked “plan on long time” • 7% marked “stop”
  • 20. Group 3: third-party Top Plan on long time: pip kid virtualenv ipython pep8 requests pandas django celery reportlab Top Stopped: plone pylons pycurl twissted zope nose pyramid
  • 22. All Groups • TIOBE When did Python Peak: • 2007: 1% • 2010: 28% • Never: 46% • Other: 23% Other: • 2011: when google recruited for • Science/web lead to second wave • 2011-2012 • 2014 • Peak is still coming • Big Data will lead to future peak
  • 24. Github Top Python Projects How forked 0.0 10.0 20.0 30.0 40.0 50.0 60.0 before 2010 2013-2014 after 2014 JavaScript Ruby PHP Python Objective-C C C++ Java Shell CoffeeScript 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 PHP Python Objective-C C C++ Java Shell Activity, based on count: watched + forked
  • 25. All Groups • PYPL Why seeing Steady upward Line? • Has broader range of uses, unlike Ruby (rails and devops) • Mirrors Data Science Usage • Mirrors Big Data Usage • Steady growth
  • 26. OTHER FACTORS Some other “Popularity” Metrics
  • 27. A local approach • Jobs • Meetups
  • 28. Corporate Suite • Python (and R) compatibility with Commercial vendors: Datameer, IBM, Microsoft Azure, Oracle, Platfora, SAP, Tableau, Teradata and Tibco Software.
  • 29. Adoption in Data Science • KDNuggets reporting that 49% of analytics and data mining developers have used R, and 35% have used Python
  • 30. Google hiring Python It all got started, I believe, because the very earliest Googlers (Sergey, Larry, Craig, ...) made a good engineering decision: "Python where we can, C++ where we must” - Alex Martelli Python's growth and acceptance in its many roles just hasn't followed any ups-and-downs curve as models would predict -- it's been pretty steadily, gradually upwards instead.
  • 32. Revisiting our question A. Slow and steady growth. B. Spiked and now on decline. C. Spiked + Declined now stabilized. D. Lives in independent domain. E. We (Python fans) live in a bubble.
  • 33. Slow and steady growth. Supports: • Strong first impressions from Group 1, 2, 3 • Strong retention in group 2 • Spikes not measures as large • 30% of hardcore users have switched to Python 3+ 50% of the time or more • Because Alex Martelli says so Negates: • 20% no disruptive • 5% increase in watchers+forkers on github • We did measure some spikes
  • 34. Spiked and now on decline. Supports: • Some domain-specific languages, push down? • Lack of mobile support • Small amount of degative: 2/3 support, swarmy Negates: • Lack of significant data showing decline in Python popularity • Very low activity scores confirming decline • Not much negative press • 46% say never peaked
  • 35. Spiked + Declined now stabilized Supports: • 30% Data Science market uses Python • ¼ surveyed see as in reached Productivity/maturity • TOIBE shows some spike-ish around 2010- 28% surveyed agree Negates: • Hard to measure market penetration, is it 20% • Of third party packages, only 14% plan on using what they use now for a long time
  • 36. Lives in independent domain Supports: • Python remained someone on effected on the PYPL Index where clearly other languages ebbed and flowed Negates: • Google and others site using Python with other languages • Considered good-glue • Commercial software vendors adding Python support
  • 37. We (Python fans) live in a bubble Supports: • Nearly 90% approval rating is insane, and that’s who took the survey • 45% of users found Python from Word of Mouth Negates: • Python lives in two many different independent domains to be blind sided
  • 38. SOME CLOSING THOUGHTS In my own words
  • 39. The Future of Python • A good choice to learn • Not going away (anytime soon) • Get involved with your local community • Contribute in your area of interest • Python Addition Helpline • Openness allows self fulfilling prophecy • Still, don’t live in a vacuum, learn other languages!
  • 40. THANK YOU! Brian Ray Email: [email protected] or [email protected] https://www.linkedin.com/in/brianray https://twitter.com/brianray https://github.com/brianray http://chipy.org