GOTOchicago16 PythonHype BrianRay slideshare€¦ · Hi, I’m Brian Ray • Directive Years...

Preview:

Citation preview

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:brianhray@gmail.com orbrray@deloitte.com

https://www.linkedin.com/in/brianray

https://twitter.com/brianray

https://github.com/brianray

http://chipy.org