SlideShare a Scribd company logo
Why learn python in 2017?
by Karolis Ramanauskas
Q: WHICH ONE DO I CHOOSE???
I (NOT SO) HUMBLY SUGGEST PYTHON :)
TOP U.S. Universities choosing
python as intro language
Resource - http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext
Companies using Python
So what’s the big
deal about Python?
Easy to learn
Clean syntax
Comprehensive standard
library
Excellent documentation
Immediacy of writing and
running a script
General purpose
List comprehensions
Hello, world!
But python is
slow…*
* can use Cython, Jython, Numba for performance which
compiles to native C, C++, Java code
Most of the time it
doesn’t matter
Python boosts
developer time
and that’s what
matters most
Python (130 lines) vs. C++ (1580 lines)
90% THERE
Python is a 90% language, it will help you get almost any
task done in 90% of the cases
“Python where we can, C++ where we must” - first Googlers
(Sergey Brin, Larry Page, Craig Silverstein)
Application
areas
Scientific computing
The “third pillar of science”, standing right next to
theoretical analysis and experiments for scientific
discovery.
Python is most widely used for the purpose.
Packages:
● SciPy - solves common science and engineering
tasks;
● NumPy - multi-dimensional arrays and matrices;
● Matplotlib - plotting library;
● Pandas - high-performance, easy-to-use data
structures and data analysis tools;
● SymPy - symbolic mathematics library.
Data Science
Data Science is a BIG buzzword. Nevertheless,
Python plays a crucial role there.
Machine Learning:
● Scikit-learn
● TensorFlow
Data Engineering:
● PySpark
Data Analysis:
● NumPy
● Pandas
Data Mining:
● PySpyder
● Scrapy
Data Visualization:
● Matplotlib
Web development
Frameworks:
● Django
● Pyramid
● Flask
● Sanic
● Zope
In-built support for Internet protocols:
● HTML and XML
● JSON
● E-mail processing
● FTP, IMAP
● Socket interface
Task runners:
● Celery
Other widely used libraries:
● Requests - HTTP client library.
● BeautifulSoup - HTML parser.
● Feedparser- RSS/Atom feeds parsing.
Computer vision
Computer vision is concerned with the automatic
extraction, analysis and understanding of useful
information from a single image or a sequence of
images.
Packages:
● SimpleCV
● OpenCV
● Scikit-image
● PCV
GAME DEVELOPMENT
● Blender
● Turtle (great for beginner learners)
● Pyglet
● Pygame
● Kivy
● Panda3D
● Python-ogre
Some examples of famous games:
● Eve Online
● Pirates of the Caribbean
● Mount and Blade
● Battlefield 2 (server logic)
EMBEDDED PROGRAMMING
~95% of embedded system code is C++.
Python is starting to get used more and more.
Microcontrollers / microcomputers:
● Micro:bit
● RaspberryPi
● Arduino
● Adafruit
Python subsets optimized for microcontrollers:
● MicroPython
● PyMite
Others
● Shell scripting
○ sh
● Embedded scripting
○ Vim
○ Maya
○ Ableton Live
● Language processing
○ NLTK
○ spaCy
● System administration
○ OpenStack
○ Ansible
○ SaltStack
○ Graphite
● Desktop GUI
○ TkGUI
○ wxWidgets
○ Qt via PyQt or PySide
● Probably dozens more application areas
CAVEAT
● For each of the application areas listed in the previous
slide, there is probably an even better language.
● For scaling, Java would do better. For Computer Vision,
Machine Learning, C++ would be the best. For Game
Development lots of choices that are better than Python.
● However, Python will get you 90% in any scenario.
● Development speed and flexibility as a feature!
● Ability to “mix and match”:
○ Django, pandas and scikit-learn all in the same project;
○ OpenCV combined with PyGame, and so on.
FUTURE OF PYTHON
TIOBE INDEX
TIOBE counts hits of search queries containing “<language>
programming”.
Python staying quite stable over the years with some recent growth.
PYPL (Popularity of language) INDEX
PYPL is based on Google Trends and measures keyword “<language>
tutorial”
Python grew the most in the last 5 years (7.6%)
Redmonk ranking
RedMonk focuses on comparing language discussion through StackOverflow
(tags) and usage through GitHub (projects). Python is 5th.
* live updates at http://langpop.corger.nl/
IEEE spectrum ranking
Most comprehensive ranking of all. Tracks Google Search, Google Trends,
Twitter, GitHub, StackOverflow, Reddit, Hacker News, CareerBuilder,
Dice. Python is 3rd.
Future of python
● Python moving from version 2 to 3.
○ Transition done. Python 2 can be regarded as legacy Python and Python
3 as just Python.
● Type annotations in Guido’s plan. Currently, can use MyPy
for the purpose.
○ Type annotations will enable more robust, faster development.
● Async programming paradigm.
● Starting to get used as enterprise software as myths
about Python are being debunked and knowledge improves.
So, who should learn Python?
● Beginners learning programming
○ I hope children in Lithuania start learning it at school!
● Professionals in area <X> wanting to speed their
development process;
○ Embedded systems;
○ Computer Vision;
○ Data Science;
○ Web Developers;
○ General Software Engineers;
○ System administrators;
○ Lots of others...
● People who have nothing better to do but learn new
programming languages (just kidding);
Best resources for
learning python
Read “Fluent Python” by Luciano
Ramalha
Solve programming challenges at
codewars.com
Listen to talkpython.fm on your
commute
Go to Python meetups
Best of all, think of a cool
project and make it happen!
Thanks for your time!
See you on the NEXT MEETUPS.
We need speakers!
get in touch at
Info @vilniuspy.lt

More Related Content

PPT
Python ppt
PPTX
Python
PPT
C++ Function
PPT
Python Pandas
PPTX
Beginning Python Programming
PPTX
Python
PPTX
Introduction to OOP in Python
PDF
Python Basics
Python ppt
Python
C++ Function
Python Pandas
Beginning Python Programming
Python
Introduction to OOP in Python
Python Basics

What's hot (20)

PDF
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
PPTX
Functions in python slide share
PPTX
Python-Inheritance.pptx
PPT
1.python interpreter and interactive mode
PPTX
Inline function in C++
PDF
Python Basics.pdf
PPTX
Python and its Applications
PDF
Python Interview Questions And Answers 2019 | Edureka
PPTX
Python - An Introduction
PPTX
Function Parameters
PDF
Python basic
PPTX
Looping statement in python
PDF
Open vocabulary problem
PPTX
Data Analysis in Python-NumPy
PPTX
Python basics
PPT
Introduction to Python
PPTX
Variables in python
PPT
Functions in C++
PPTX
Parameter passing to_functions_in_c
PPTX
How to download and install Python - lesson 2
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Functions in python slide share
Python-Inheritance.pptx
1.python interpreter and interactive mode
Inline function in C++
Python Basics.pdf
Python and its Applications
Python Interview Questions And Answers 2019 | Edureka
Python - An Introduction
Function Parameters
Python basic
Looping statement in python
Open vocabulary problem
Data Analysis in Python-NumPy
Python basics
Introduction to Python
Variables in python
Functions in C++
Parameter passing to_functions_in_c
How to download and install Python - lesson 2
Ad

Viewers also liked (20)

PDF
Python Worst Practices
PDF
Learn 90% of Python in 90 Minutes
PPT
Introduction to Python
PPTX
Hesaplamalarım
PPTX
Introduction to Python for Security Professionals
PDF
Python - the basics
PPT
Mixing Python and Java
PPTX
Python in the Hadoop Ecosystem (Rock Health presentation)
PDF
An Introduction to Python Concurrency
PDF
Python入門 : 4日間コース社内トレーニング
PDF
Build a Twitter Bot with Basic Python
PDF
Web Development with Python and Django
PDF
Python as the Zen of Data Science
PDF
MikroTik Security
PPT
Embracing Distributed Version Control
PDF
Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...
PPTX
Tablo oluşturma
PDF
Network ve Sistem 101 etkinliği
PDF
Network101 murat arslan
PDF
IP Security
 
Python Worst Practices
Learn 90% of Python in 90 Minutes
Introduction to Python
Hesaplamalarım
Introduction to Python for Security Professionals
Python - the basics
Mixing Python and Java
Python in the Hadoop Ecosystem (Rock Health presentation)
An Introduction to Python Concurrency
Python入門 : 4日間コース社内トレーニング
Build a Twitter Bot with Basic Python
Web Development with Python and Django
Python as the Zen of Data Science
MikroTik Security
Embracing Distributed Version Control
Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...
Tablo oluşturma
Network ve Sistem 101 etkinliği
Network101 murat arslan
IP Security
 
Ad

Similar to Why learn python in 2017? (20)

PPTX
POWER OF PYTHON PROGRAMMING LANGUAGE
PDF
python training in chandigarh
PPTX
introduction to Python (for beginners)
PPTX
Introduction-to-Python-Programming-Language (1).pptx
PDF
Python. Why to learn?
PDF
Python, the Language of Science and Engineering for Engineers
PPTX
Basic Python Introduction Lecture 1.pptx
PPTX
Lecture 1.pptx
PDF
Python programming for beginners
PDF
Introduction To Python
PPTX
Advantages of Python Learning | Why Python
PPTX
Introduction to python
PPTX
Python 101 For The Net Developer
PPTX
Python Django Basics
PDF
what is python and why is important with
PDF
IRJET- Python: Simple though an Important Programming Language
PDF
Programming for data science in python
PDF
Python For All | Software Professionals, QA & DevOps professionals
PDF
Python for All
PDF
Introduction To Python For Beginners
POWER OF PYTHON PROGRAMMING LANGUAGE
python training in chandigarh
introduction to Python (for beginners)
Introduction-to-Python-Programming-Language (1).pptx
Python. Why to learn?
Python, the Language of Science and Engineering for Engineers
Basic Python Introduction Lecture 1.pptx
Lecture 1.pptx
Python programming for beginners
Introduction To Python
Advantages of Python Learning | Why Python
Introduction to python
Python 101 For The Net Developer
Python Django Basics
what is python and why is important with
IRJET- Python: Simple though an Important Programming Language
Programming for data science in python
Python For All | Software Professionals, QA & DevOps professionals
Python for All
Introduction To Python For Beginners

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Chapter 2 Digital Image Fundamentals.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Big Data Technologies - Introduction.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Chapter 2 Digital Image Fundamentals.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Monthly Chronicles - July 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
The Rise and Fall of 3GPP – Time for a Sabbatical?
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf

Why learn python in 2017?

  • 1. Why learn python in 2017? by Karolis Ramanauskas
  • 2. Q: WHICH ONE DO I CHOOSE???
  • 3. I (NOT SO) HUMBLY SUGGEST PYTHON :)
  • 4. TOP U.S. Universities choosing python as intro language Resource - http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext
  • 6. So what’s the big deal about Python? Easy to learn Clean syntax Comprehensive standard library Excellent documentation Immediacy of writing and running a script General purpose List comprehensions
  • 8. But python is slow…* * can use Cython, Jython, Numba for performance which compiles to native C, C++, Java code
  • 9. Most of the time it doesn’t matter
  • 10. Python boosts developer time and that’s what matters most
  • 11. Python (130 lines) vs. C++ (1580 lines)
  • 12. 90% THERE Python is a 90% language, it will help you get almost any task done in 90% of the cases “Python where we can, C++ where we must” - first Googlers (Sergey Brin, Larry Page, Craig Silverstein)
  • 14. Scientific computing The “third pillar of science”, standing right next to theoretical analysis and experiments for scientific discovery. Python is most widely used for the purpose. Packages: ● SciPy - solves common science and engineering tasks; ● NumPy - multi-dimensional arrays and matrices; ● Matplotlib - plotting library; ● Pandas - high-performance, easy-to-use data structures and data analysis tools; ● SymPy - symbolic mathematics library.
  • 15. Data Science Data Science is a BIG buzzword. Nevertheless, Python plays a crucial role there. Machine Learning: ● Scikit-learn ● TensorFlow Data Engineering: ● PySpark Data Analysis: ● NumPy ● Pandas Data Mining: ● PySpyder ● Scrapy Data Visualization: ● Matplotlib
  • 16. Web development Frameworks: ● Django ● Pyramid ● Flask ● Sanic ● Zope In-built support for Internet protocols: ● HTML and XML ● JSON ● E-mail processing ● FTP, IMAP ● Socket interface Task runners: ● Celery Other widely used libraries: ● Requests - HTTP client library. ● BeautifulSoup - HTML parser. ● Feedparser- RSS/Atom feeds parsing.
  • 17. Computer vision Computer vision is concerned with the automatic extraction, analysis and understanding of useful information from a single image or a sequence of images. Packages: ● SimpleCV ● OpenCV ● Scikit-image ● PCV
  • 18. GAME DEVELOPMENT ● Blender ● Turtle (great for beginner learners) ● Pyglet ● Pygame ● Kivy ● Panda3D ● Python-ogre Some examples of famous games: ● Eve Online ● Pirates of the Caribbean ● Mount and Blade ● Battlefield 2 (server logic)
  • 19. EMBEDDED PROGRAMMING ~95% of embedded system code is C++. Python is starting to get used more and more. Microcontrollers / microcomputers: ● Micro:bit ● RaspberryPi ● Arduino ● Adafruit Python subsets optimized for microcontrollers: ● MicroPython ● PyMite
  • 20. Others ● Shell scripting ○ sh ● Embedded scripting ○ Vim ○ Maya ○ Ableton Live ● Language processing ○ NLTK ○ spaCy ● System administration ○ OpenStack ○ Ansible ○ SaltStack ○ Graphite ● Desktop GUI ○ TkGUI ○ wxWidgets ○ Qt via PyQt or PySide ● Probably dozens more application areas
  • 21. CAVEAT ● For each of the application areas listed in the previous slide, there is probably an even better language. ● For scaling, Java would do better. For Computer Vision, Machine Learning, C++ would be the best. For Game Development lots of choices that are better than Python. ● However, Python will get you 90% in any scenario. ● Development speed and flexibility as a feature! ● Ability to “mix and match”: ○ Django, pandas and scikit-learn all in the same project; ○ OpenCV combined with PyGame, and so on.
  • 23. TIOBE INDEX TIOBE counts hits of search queries containing “<language> programming”. Python staying quite stable over the years with some recent growth.
  • 24. PYPL (Popularity of language) INDEX PYPL is based on Google Trends and measures keyword “<language> tutorial” Python grew the most in the last 5 years (7.6%)
  • 25. Redmonk ranking RedMonk focuses on comparing language discussion through StackOverflow (tags) and usage through GitHub (projects). Python is 5th. * live updates at http://langpop.corger.nl/
  • 26. IEEE spectrum ranking Most comprehensive ranking of all. Tracks Google Search, Google Trends, Twitter, GitHub, StackOverflow, Reddit, Hacker News, CareerBuilder, Dice. Python is 3rd.
  • 27. Future of python ● Python moving from version 2 to 3. ○ Transition done. Python 2 can be regarded as legacy Python and Python 3 as just Python. ● Type annotations in Guido’s plan. Currently, can use MyPy for the purpose. ○ Type annotations will enable more robust, faster development. ● Async programming paradigm. ● Starting to get used as enterprise software as myths about Python are being debunked and knowledge improves.
  • 28. So, who should learn Python? ● Beginners learning programming ○ I hope children in Lithuania start learning it at school! ● Professionals in area <X> wanting to speed their development process; ○ Embedded systems; ○ Computer Vision; ○ Data Science; ○ Web Developers; ○ General Software Engineers; ○ System administrators; ○ Lots of others... ● People who have nothing better to do but learn new programming languages (just kidding);
  • 29. Best resources for learning python Read “Fluent Python” by Luciano Ramalha Solve programming challenges at codewars.com Listen to talkpython.fm on your commute Go to Python meetups Best of all, think of a cool project and make it happen!
  • 30. Thanks for your time! See you on the NEXT MEETUPS. We need speakers! get in touch at Info @vilniuspy.lt