Successfully reported this slideshow.
Your SlideShare is downloading. ×

pycon-2015-liza-daly

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 52 Ad

More Related Content

Slideshows for you (20)

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

Advertisement

pycon-2015-liza-daly

  1. 1. June 2014 Tempe, AZ Confidential PyCon 2015 Liza Daly, CTO @liza Python learning in the wild: lessons from Safari
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 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. 6
  7. 7. 7 20%
  8. 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. 9
  10. 10. 11
  11. 11. What are people writing? 12
  12. 12. 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
  13. 13. …increasingly more advanced 14 Difficulty by publication_date 2010 2011 2012 2013 2014 Beginner Intermediate Advanced
  14. 14. …and on more specific subjects 15 Type by publication_date 2010 2011 2012 2013 2014 General Topical
  15. 15. More targeted titles than general ones… 16
  16. 16. 17 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python…
  17. 17. 18 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  18. 18. Programming books are getting shorter 19 2007 2009 2011 2013 2015 400 390 479 380 348 288 224 269 240
  19. 19. 20 https://flic.kr/p/ci4hX What are we reading?
  20. 20. 21
  21. 21. 22 select Python as a topic of interest 10%
  22. 22. Popular co-occurring topics 23 Test-driven development Design patterns Google App Engine Raspberry Pi Math & Science Linux Security Analytics/R
  23. 23. More women, pls 24 gender by New Recode of source table Python Java .NET C/C++ JavaScript Social Media Female Male
  24. 24. Beginners lose faith early 25
  25. 25. Committed readers stay committed 26
  26. 26. Committed readers stay committed 27
  27. 27. Beginners struggle with classes 28
  28. 28. 29 Beginners struggle with classes
  29. 29. 30 Beginners struggle with classes
  30. 30. Unexpectedly popular :( 31
  31. 31. Unexpectedly popular :( 32 (2010)
  32. 32. 33 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  33. 33. Advanced topics 34
  34. 34. Popular advanced topics: Celery 35
  35. 35. Popular advanced topics: NumPy arrays 36
  36. 36. Popular advanced topics: Packet-sniffing 37
  37. 37. 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
  38. 38. Annotations 39
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. Takeaways 46
  46. 46. Write more Python books! 47 There’s plenty of demand. There’s lots of engagement.
  47. 47. Make more Python videos! 48 Good videos are very popular. Video is a great way to reach beginners.
  48. 48. More advanced topics needed. 49 Lots of unmet demand for advanced material in algorithms, scientific and mathematical computing, and analytics.
  49. 49. Python for ______. 50 Many people learning a programming language who are already experts in their domain. Teach programming without teaching down.
  50. 50. Study from the greats 51 Read and watch the experts teach. We’re happy to help you identify good models.
  51. 51. SAFARIBOOKSONLINE.COM Liza Daly @liza liza@safaribooksonline.com Thank you!

×