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?

More Related Content

Viewers also liked

Intro to Python
Intro to PythonIntro to Python
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
 

Viewers also liked (20)

Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
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
 
Python - Lecture 1
Python - Lecture 1Python - Lecture 1
Python - Lecture 1
 
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
 
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)
 
Introduction to Advanced Javascript
Introduction to Advanced JavascriptIntroduction to Advanced Javascript
Introduction to Advanced Javascript
 
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...
 
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
 
Operator Overloading
Operator Overloading  Operator Overloading
Operator Overloading
 
Python for All
Python for All Python for All
Python for All
 
Installing Python on Mac
Installing Python on MacInstalling Python on Mac
Installing Python on Mac
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Lesson1 python an introduction
Lesson1 python an introductionLesson1 python an introduction
Lesson1 python an introduction
 
Python master class part 1
Python master class part 1Python master class part 1
Python master class part 1
 
Introduction to Python - Running Notes
Introduction to Python - Running NotesIntroduction to Python - Running Notes
Introduction to Python - Running Notes
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
 
Lec02 structures (2)
Lec02 structures (2)Lec02 structures (2)
Lec02 structures (2)
 
Mastering python lesson2
Mastering python lesson2Mastering python lesson2
Mastering python lesson2
 
Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Introduction to facebook javascript sdk
Introduction to facebook javascript sdk
 
Running openCV project on Mac OS
Running openCV project on Mac OSRunning openCV project on Mac OS
Running openCV project on Mac OS
 

Similar to Python Hype?

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
 
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
 
AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)
Amazon Web Services
 
#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
 

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
 
Programming for data science in python
Programming for data science in pythonProgramming for data science in python
Programming for data science in python
 
The PSF and You
The PSF and YouThe PSF and You
The PSF and You
 
Foundation Comparison
Foundation ComparisonFoundation Comparison
Foundation Comparison
 
Intro slides
Intro slidesIntro slides
Intro slides
 
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
 
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
 
AUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event TalksAUGNYC - Feb22 2018 Event Talks
AUGNYC - Feb22 2018 Event Talks
 
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!
 
#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...
 
2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones2017 09-14 AAATE SteppingStones
2017 09-14 AAATE SteppingStones
 
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
 
AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)
 
#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research#AMC2013 Participatory Social Impact Research
#AMC2013 Participatory Social Impact Research
 
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
 
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...
 
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
 
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
 
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
 
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
 

Recently uploaded

NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
Addu25809
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
PreethaV16
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Transcat
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
AnasAhmadNoor
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
q30122000
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
AI-Based Home Security System : Home security
AI-Based Home Security System : Home securityAI-Based Home Security System : Home security
AI-Based Home Security System : Home security
AIRCC Publishing Corporation
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
b0754201
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 

Recently uploaded (20)

NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
AI-Based Home Security System : Home security
AI-Based Home Security System : Home securityAI-Based Home Security System : Home security
AI-Based Home Security System : Home security
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 

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: brianhray@gmail.com or brray@deloitte.com https://www.linkedin.com/in/brianray https://twitter.com/brianray https://github.com/brianray http://chipy.org