Python Hype?Brian Ray
Hi,I’mBrianRay• DirectiveYears
1998-2003
• EngineeringYears2003-2006
• LeadershipYears2009-2010
• IndyConsultingYears2010-2013
TakeninChinaMay20th,2016
• BigFourConsulting2013-current
Why“PythonHype”?
Inthelast10years,weareseeingPythonhaving(selectone):A. Slowandsteadygrowth.B. Spikedandnowondecline.C. Spiked+Declinednowstabilized.D. Livesinindependentdomain.E. We(Pythonfans)liveinabubble.
Whatmeasure?
• HypeCycle• TIOBEIndex• OnGithub• PYPL• Someother
Don’ttellmetherearen’ttrends
Programminglanguage“popularity”ishardtomeasure.
Lensestohelpmeasure:1. Learned:wastaughtPythonincourse2. Migrated:fromlanguagetolanguage3. Addressed:problemclasstosolve4. Platform-ed:ecosystemoftools5. Retained:stickingwithPython6. Promoted:Promoted
OURSURVEY236respondentsbrokenupinto3groups
Who
1
2
3
Groups
Themissinggroup4:Thosewhodidn’ttakethesurvey
UserDistribution
249%
129%
322%
Treatmentofgroups
• CurveQuestions
• Retained• Promoted
• Addressed• Platform-ed
• Learned• Migrated
1 2
all3
Group1:Learned/Migrated
• 60%heardofpythonWordofmouth• 56%hadverypositivefirstimpression,31%hadpositive,lessthan13%neutralorless.
• Net-promotertorecommend
Group1:Learned/Migrated
Group1:Learned/Migrated
“Python isNowtheMostPopular IntroductoryTeachingLanguageatTopU.S.Universities”ByPhilipGuoJuly7,2014
Group2:addressed/platformed
• 63%verypositive1st impression(3%higherthanGroup1)
• 77.5%verypositive2nd impression(aftermonths)
• 71%verypositive3rd impression
Hypecurve-esk?
Group2:addressed/platformedDislikes:• Poordocumentation• Don’tlikewhitespace• Slow• Preferstaticallytyped• Threading• RuntimenotasubiquitousasJava• GIL• Modelsnotpipinstallable• Inheritancecanbeconfusing• LackofMobiledev support• Thatit’snotLisp• Python2or3choice• PackagesupportforPython3• Python2vs 3• DependencyManagement• InstallationIssues• Smarmyattitude
Likes:• Flexibility,simplicity, transparency• Legibility• Easytolearn• Approachable• Community• “Batteries included”• Corrector“pythonic” way• Standardlibrary• Onlineresources• Scientific libraries• Versatile• Thirdpartylibraries• Onlinecommunities• Concise• Easytogetstarted• NotJava8• Garbagecollection• Greatdepth• Complextimesincluded
Group3:Retainer/Promoter
Group1 Group3
• 53%thinkPythonVeryhighquality,39%High, lessthen9%Naturalorbelow
Group3:Retainer/Promoter
Group1
Group3
Group3:Retainer/PromoterSmalldrawbacks:• 45%Speed• 44%GIL• 30%easytoducktype/monkeypatch
BigDrawbacks:• 9%GIL• 15%UnicodeSupport
Critical:• 5%UnicodeSupport
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%
Group3:third-party
• Surveyed58mostdownloadedpypi packages• 53%marked“Used”• 24%marked“longtimeuser”• 14%marked“planonlongtime”• 7%marked“stop”
Group3:third-party
TopPlanonlongtime:pip kid virtualenvipython pep8 requests pandas django celeryreportlab
TopStopped:plone pylons pycurl twissted zopenose pyramid
AllGroups
• Hype
AllGroups• TIOBE
WhendidPythonPeak:• 2007:1%• 2010:28%• Never:46%• Other:23%
Other:• 2011:whengoogle recruitedfor• Science/webleadtosecond
wave• 2011-2012• 2014• Peakisstillcoming• BigDatawillleadtofuturepeak
AllGroups
• Github
2008-2009 2014+2010-2013
Github TopPythonProjects
Howforked
0,0
10,0
20,0
30,0
40,0
50,0
60,0
before2010 2013-2014 after2014
JavaScript Ruby
PHP Python
Objective-C C
C++ Java
Shell CoffeeScript
0,01,02,03,04,05,06,07,08,0 PHP
Python
Objective-C
C
C++
Java
Shell
Activity,basedoncount:watched+forked
AllGroups
• PYPLWhyseeingSteadyupwardLine?
• Hasbroaderrangeofuses,unlikeRuby (railsanddevops)
• MirrorsDataScienceUsage• MirrorsBigDataUsage• Steadygrowth
OTHERFACTORSSomeother“Popularity”Metrics
Alocalapproach
• Jobs• Meetups
CorporateSuite
• Python(andR)compatibilitywithCommercialvendors:Datameer,IBM,MicrosoftAzure,Oracle,Platfora,SAP,Tableau,TeradataandTibco Software.
AdoptioninDataScience
• KDNuggets reportingthat49%ofanalyticsanddataminingdevelopershaveusedR,and35%haveusedPython
GooglehiringPython
Itallgotstarted,Ibelieve,becausetheveryearliestGooglers (Sergey,Larry,Craig,...)madeagoodengineeringdecision:"Pythonwherewecan,C++wherewemust”- AlexMartelli
Python'sgrowthandacceptanceinitsmanyrolesjusthasn'tfollowedanyups-and-downscurveasmodelswouldpredict-- it'sbeenprettysteadily,graduallyupwardsinstead.
HIGHLIGHTSSomeinterpretationofresults…
Revisitingourquestion
A. Slowandsteadygrowth.B. Spikedandnowondecline.C. Spiked+Declinednowstabilized.D. Livesinindependentdomain.E. We(Pythonfans)liveinabubble.
Slowandsteadygrowth.Supports:• Strongfirstimpressionsfrom
Group1,2,3• Strongretentioningroup2• Spikesnot
measuresaslarge
• 30%ofhardcoreusershaveswitchedtoPython 3+50%ofthetimeormore
• BecauseAlexMartellisaysso
Negates:• 20%nodisruptive• 5%increaseinwatchers+forkers on
github• Wedid
measuresomespikes
Spikedandnowondecline.Supports:• Somedomain-specificlanguages,
pushdown?• Lackofmobilesupport• Smallamountofdegative:2/3
support, swarmy
Negates:• Lackofsignificantdatashowingdeclinein
Python popularity• Verylowactivityscoresconfirmingdecline• Notmuchnegativepress• 46%sayneverpeaked
Spiked+DeclinednowstabilizedSupports:• 30%DataSciencemarketuses
Python• ¼surveyedseeasinreached
Productivity/maturity• TOIBEshowssomespike-ish
around2010- 28%surveyedagree
Negates:• Hardtomeasuremarketpenetration,isit
20%• Ofthirdpartypackages,only14%planon
usingwhattheyusenowforalongtime
LivesinindependentdomainSupports:• Python remainedsomeoneon
effectedonthePYPLIndexwhereclearlyotherlanguagesebbedandflowed
Negates:• GoogleandotherssiteusingPythonwith
other languages• Consideredgood-glue• Commercialsoftwarevendorsadding
Python support
We(Pythonfans)liveinabubbleSupports:• Nearly90%approvalratingis
insane,andthat’swhotookthesurvey
• 45%ofusersfoundPython fromWordofMouth
Negates:• Python livesintwomanydifferent
independent domainstobeblindsided
SOMECLOSINGTHOUGHTSInmyownwords
TheFutureofPython
• A goodchoicetolearn• Notgoingaway(anytimesoon)• Getinvolvedwithyourlocalcommunity• Contributeinyourareaofinterest• PythonAdditionHelpline• Opennessallowsselffulfillingprophecy• Still,don’tliveinavacuum,learnotherlanguages!
THANK YOU!
BrianRayEmail:[email protected] [email protected]
https://www.linkedin.com/in/brianray
https://twitter.com/brianray
https://github.com/brianray
http://chipy.org