SlideShare a Scribd company logo

pycon-2015-liza-daly

Liza Daly
Liza Daly
1 of 52
Download to read offline
June 2014
Tempe, AZ
Confidential
PyCon 2015
Liza Daly, CTO
@liza
Python learning in the wild:
lessons from Safari
2
3
4
5
=> SELECT SUM(pagecount) FROM nest_epubarchive ne
JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id
JOIN nest_subject s on s.id = nes.subject_id
WHERE s.name = 'Python';

sum
-------
70254
(1 row)
6

Recommended

Statistics Using Python | Statistics Python Tutorial | Python Certification T...
Statistics Using Python | Statistics Python Tutorial | Python Certification T...Statistics Using Python | Statistics Python Tutorial | Python Certification T...
Statistics Using Python | Statistics Python Tutorial | Python Certification T...Edureka!
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data AnalyticsEdureka!
 
Final presentation on python
Final presentation on pythonFinal presentation on python
Final presentation on pythonRaginiJain21
 
First python project
First python projectFirst python project
First python projectNeetu Jain
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming KrishnaMildain
 
R vs python. Which one is best for data science
R vs python. Which one is best for data scienceR vs python. Which one is best for data science
R vs python. Which one is best for data scienceStat Analytica
 
Python – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguagePython – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguageIRJET Journal
 
Python Projects For Beginners | Python Projects Examples | Python Tutorial | ...
Python Projects For Beginners | Python Projects Examples | Python Tutorial | ...Python Projects For Beginners | Python Projects Examples | Python Tutorial | ...
Python Projects For Beginners | Python Projects Examples | Python Tutorial | ...Edureka!
 

More Related Content

What's hot

5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...Edureka!
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Edureka!
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...pythoncharmers
 
Seminar report On Python
Seminar report On PythonSeminar report On Python
Seminar report On PythonShivam Gupta
 
Can Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaCan Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaEdureka!
 
Why Python?
Why Python?Why Python?
Why Python?Adam Pah
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginnersBenishchoco
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on pythonSANTOSHJAISWAL52
 
Python for the Mobile and Web
Python for the Mobile and WebPython for the Mobile and Web
Python for the Mobile and WebDerek Kiong
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To PythonVanessa Rene
 
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Edureka!
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on pythonShubham Yadav
 
A commercial open source project in Python
A commercial open source project in PythonA commercial open source project in Python
A commercial open source project in Pythonjbrendel
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu SharmaMayank Sharma
 
web programming Unit VIII complete about python by Bhavsingh Maloth
web programming Unit VIII complete about python  by Bhavsingh Malothweb programming Unit VIII complete about python  by Bhavsingh Maloth
web programming Unit VIII complete about python by Bhavsingh MalothBhavsingh Maloth
 
Python in real world.
Python in real world.Python in real world.
Python in real world.Alph@.M
 

What's hot (19)

5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
 
Seminar report On Python
Seminar report On PythonSeminar report On Python
Seminar report On Python
 
Can Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaCan Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | Edureka
 
Why Python?
Why Python?Why Python?
Why Python?
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginners
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python
 
Python for the Mobile and Web
Python for the Mobile and WebPython for the Mobile and Web
Python for the Mobile and Web
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Lets learn Python !
Lets learn Python !Lets learn Python !
Lets learn Python !
 
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on python
 
A commercial open source project in Python
A commercial open source project in PythonA commercial open source project in Python
A commercial open source project in Python
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu Sharma
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 
web programming Unit VIII complete about python by Bhavsingh Maloth
web programming Unit VIII complete about python  by Bhavsingh Malothweb programming Unit VIII complete about python  by Bhavsingh Maloth
web programming Unit VIII complete about python by Bhavsingh Maloth
 
Python in real world.
Python in real world.Python in real world.
Python in real world.
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 

Similar to pycon-2015-liza-daly

How Long To Learn Python To Get A Job_ (1).pptx
How Long To Learn Python To Get A Job_ (1).pptxHow Long To Learn Python To Get A Job_ (1).pptx
How Long To Learn Python To Get A Job_ (1).pptxcalltutors
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataGael Varoquaux
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonSpotle.ai
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdfrobin singh
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of PythonAsia Smith
 
Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn pythongrinu
 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonJen Stirrup
 
Python Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PunePython Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PuneEthan's Tech
 
Achieversit Training Institute in Bangalore 3
Achieversit Training Institute in Bangalore 3Achieversit Training Institute in Bangalore 3
Achieversit Training Institute in Bangalore 3MUDDUKRISHNA14
 
python programming.pptx
python programming.pptxpython programming.pptx
python programming.pptxKaviya452563
 
Why Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageWhy Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageEdureka!
 

Similar to pycon-2015-liza-daly (20)

How Long To Learn Python To Get A Job_ (1).pptx
How Long To Learn Python To Get A Job_ (1).pptxHow Long To Learn Python To Get A Job_ (1).pptx
How Long To Learn Python To Get A Job_ (1).pptx
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdf
 
python training.docx
python training.docxpython training.docx
python training.docx
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
 
05 python.pdf
05 python.pdf05 python.pdf
05 python.pdf
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Doing the Impossible
Doing the ImpossibleDoing the Impossible
Doing the Impossible
 
Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn python
 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and Python
 
Python Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PunePython Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech Pune
 
what is python ?
what is python ? what is python ?
what is python ?
 
Python content
Python contentPython content
Python content
 
Achieversit Training Institute in Bangalore 3
Achieversit Training Institute in Bangalore 3Achieversit Training Institute in Bangalore 3
Achieversit Training Institute in Bangalore 3
 
python programming.pptx
python programming.pptxpython programming.pptx
python programming.pptx
 
summer t.pdf
summer t.pdfsummer t.pdf
summer t.pdf
 
Learn Python in Pragmatic Way
Learn Python in Pragmatic WayLearn Python in Pragmatic Way
Learn Python in Pragmatic Way
 
Korean Word Network
Korean Word NetworkKorean Word Network
Korean Word Network
 
Why Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageWhy Python Should Be Your First Programming Language
Why Python Should Be Your First Programming Language
 

More from Liza Daly

liza-daly-cultivate-2015
liza-daly-cultivate-2015liza-daly-cultivate-2015
liza-daly-cultivate-2015Liza Daly
 
Streaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationStreaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationLiza Daly
 
EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3Liza Daly
 
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesBnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesLiza Daly
 
Networked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersNetworked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersLiza Daly
 
ePub: The open ebook format
ePub: The open ebook formatePub: The open ebook format
ePub: The open ebook formatLiza Daly
 
Survey Of Current E-Readers
Survey Of Current E-ReadersSurvey Of Current E-Readers
Survey Of Current E-ReadersLiza Daly
 
What publishers need to know about digitization
What publishers need to know about digitizationWhat publishers need to know about digitization
What publishers need to know about digitizationLiza Daly
 

More from Liza Daly (8)

liza-daly-cultivate-2015
liza-daly-cultivate-2015liza-daly-cultivate-2015
liza-daly-cultivate-2015
 
Streaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationStreaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentation
 
EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3
 
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesBnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
 
Networked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersNetworked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current Ereaders
 
ePub: The open ebook format
ePub: The open ebook formatePub: The open ebook format
ePub: The open ebook format
 
Survey Of Current E-Readers
Survey Of Current E-ReadersSurvey Of Current E-Readers
Survey Of Current E-Readers
 
What publishers need to know about digitization
What publishers need to know about digitizationWhat publishers need to know about digitization
What publishers need to know about digitization
 

pycon-2015-liza-daly

  • 1. June 2014 Tempe, AZ Confidential PyCon 2015 Liza Daly, CTO @liza Python learning in the wild: lessons from Safari
  • 2. 2
  • 3. 3
  • 4. 4
  • 5. 5 => SELECT SUM(pagecount) FROM nest_epubarchive ne JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id JOIN nest_subject s on s.id = nes.subject_id WHERE s.name = 'Python';
 sum ------- 70254 (1 row)
  • 6. 6
  • 8. 8 => SELECT SUM(duration_seconds) / 60 / 60 FROM nest_epubarchive ne JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id JOIN nest_subject s on s.id = nes.subject_id WHERE s.name = 'Python';
 hours ------- 87 (1 row)
  • 9. 9
  • 11. 11
  • 12. What are people writing? 12
  • 13. Python titles by publication year 13 28 23 16 9 8 7 6 6 5 4 4 4 2 2 2 2 2 1 1 1 1 1 1 1 1 201420122010200820062004200220001998
  • 14. …increasingly more advanced 14 Difficulty by publication_date 2010 2011 2012 2013 2014 Beginner Intermediate Advanced
  • 15. …and on more specific subjects 15 Type by publication_date 2010 2011 2012 2013 2014 General Topical
  • 16. More targeted titles than general ones… 16
  • 17. 17 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python…
  • 18. 18 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  • 19. Programming books are getting shorter 19 2007 2009 2011 2013 2015 400 390 479 380 348 288 224 269 240
  • 21. 21
  • 22. 22 select Python as a topic of interest 10%
  • 23. Popular co-occurring topics 23 Test-driven development Design patterns Google App Engine Raspberry Pi Math & Science Linux Security Analytics/R
  • 24. More women, pls 24 gender by New Recode of source table Python Java .NET C/C++ JavaScript Social Media Female Male
  • 26. Committed readers stay committed 26
  • 27. Committed readers stay committed 27
  • 33. 33 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  • 36. Popular advanced topics: NumPy arrays 36
  • 37. Popular advanced topics: Packet-sniffing 37
  • 38. Advanced topics may be underserved 38 ln(rank) by Difficulty Advanced Beginner Intermediate 0 1 2 3 4 5 6 7 8 9 10 11 12 ln(rank) by Difficulty Advanced Beginner
  • 40. Most-annotated 40 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 41. Most-annotated: web apps 41 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 42. Most-annotated: scientific & mathematical 42 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 43. Most-annotated 43 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 44. More Python 3 :( 44 “Two good guides are ‘Porting Python 2 Code to Python 3’ and ‘Porting to Python 3: An in-depth guide’” — High Performance Python “Note that for loops force results from range automatically in 3.X, so we don’t need to use a list wrapper here in 3.X (in 2.X we get a temporary list unless we call xrange instead).” — Learning Python “print is changing to a function in Python 3.0” — Core Python Programming “String templating or formatting is another important topic. The number of ways to do so has expanded with the advent of Python 3…” — Python for Data Analysis
 “Avoid any project that mentions ‘Python 3.’ That’ll only confuse you.” 
 — Learn Python the Hard Way
  • 45. 45 “Any time you are faced with the problem of incremental data processing, you should think of iterators and generators.” 
 — David Beazley & Brian K. Jones “…The core of programming is about ideas: specifically, successfully capturing those ideas in a program so that other people can use them.” — Anthony Briggs “Every programmer has to do these annoying, tedious tasks before they can do something cool.” — Zed A. Shaw
  • 47. Write more Python books! 47 There’s plenty of demand. There’s lots of engagement.
  • 48. Make more Python videos! 48 Good videos are very popular. Video is a great way to reach beginners.
  • 49. More advanced topics needed. 49 Lots of unmet demand for advanced material in algorithms, scientific and mathematical computing, and analytics.
  • 50. Python for ______. 50 Many people learning a programming language who are already experts in their domain. Teach programming without teaching down.
  • 51. Study from the greats 51 Read and watch the experts teach. We’re happy to help you identify good models.