SlideShare a Scribd company logo
1 of 30
Download to read offline
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

What's hot

CNN Attention Networks
CNN Attention NetworksCNN Attention Networks
CNN Attention NetworksTaeoh Kim
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan Zhu
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan ZhuBuilding a Unified Data Pipeline with Apache Spark and XGBoost with Nan Zhu
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan ZhuDatabricks
 
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoSeongwon Hwang
 
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019Unity Technologies
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Tetsuya Morizumi
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Chris Ohk
 
Double Q-learning Paper Reading
Double Q-learning Paper ReadingDouble Q-learning Paper Reading
Double Q-learning Paper ReadingTakato Yamazaki
 
Warsaw Data Science - Factorization Machines Introduction
Warsaw Data Science -  Factorization Machines IntroductionWarsaw Data Science -  Factorization Machines Introduction
Warsaw Data Science - Factorization Machines IntroductionBartlomiej Twardowski
 
Hardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningCastLabKAIST
 
High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...Pradeep Redddy Raamana
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeGuerrilla
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)Dong Guo
 
Convolutional neural networks deepa
Convolutional neural networks deepaConvolutional neural networks deepa
Convolutional neural networks deepadeepa4466
 
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモShinya Takamaeda-Y
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnGuerrilla
 
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019Unity Technologies
 

What's hot (20)

CNN Attention Networks
CNN Attention NetworksCNN Attention Networks
CNN Attention Networks
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
Lec04 gpu architecture
Lec04 gpu architectureLec04 gpu architecture
Lec04 gpu architecture
 
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan Zhu
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan ZhuBuilding a Unified Data Pipeline with Apache Spark and XGBoost with Nan Zhu
Building a Unified Data Pipeline with Apache Spark and XGBoost with Nan Zhu
 
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in Theano
 
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
 
MLOps week 1 intro
MLOps week 1 introMLOps week 1 intro
MLOps week 1 intro
 
Double Q-learning Paper Reading
Double Q-learning Paper ReadingDouble Q-learning Paper Reading
Double Q-learning Paper Reading
 
Warsaw Data Science - Factorization Machines Introduction
Warsaw Data Science -  Factorization Machines IntroductionWarsaw Data Science -  Factorization Machines Introduction
Warsaw Data Science - Factorization Machines Introduction
 
Hardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine Learning
 
Real time Linux
Real time LinuxReal time Linux
Real time Linux
 
High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game Code
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)
 
Convolutional neural networks deepa
Convolutional neural networks deepaConvolutional neural networks deepa
Convolutional neural networks deepa
 
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
 
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019
Getting started with Ray Tracing in Unity 2019.3 - Unite Copenhagen 2019
 

Viewers also liked

Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesMatt Harrison
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonNowell Strite
 
Introduction to Python for Security Professionals
Introduction to Python for Security ProfessionalsIntroduction to Python for Security Professionals
Introduction to Python for Security ProfessionalsAndrew McNicol
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python amiable_indian
 
Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)Uri Laserson
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングYuichi Ito
 
Build a Twitter Bot with Basic Python
Build a Twitter Bot with Basic PythonBuild a Twitter Bot with Basic Python
Build a Twitter Bot with Basic PythonThinkful
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and DjangoMichael Pirnat
 
Python as the Zen of Data Science
Python as the Zen of Data SciencePython as the Zen of Data Science
Python as the Zen of Data ScienceTravis Oliphant
 
MikroTik Security
MikroTik SecurityMikroTik Security
MikroTik SecurityRofiq Fauzi
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version ControlNowell Strite
 
Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...
Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...
Dağıtık Sistemler İçin Mahremiyet Korumalı Uç Öğrenme Makinesi Sınıflandırma ...Ferhat Ozgur Catak
 
Network ve Sistem 101 etkinliği
Network ve Sistem 101 etkinliği Network ve Sistem 101 etkinliği
Network ve Sistem 101 etkinliği Ahmet Han
 
Network101 murat arslan
Network101 murat arslanNetwork101 murat arslan
Network101 murat arslanMURAT ARSLAN
 

Viewers also liked (20)

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

Similar to Why learn python in 2017?

POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE teachersduniya.com
 
introduction to Python (for beginners)
introduction to Python (for beginners)introduction to Python (for beginners)
introduction to Python (for beginners)guobichrng
 
Python. Why to learn?
Python. Why to learn?Python. Why to learn?
Python. Why to learn?Oleh Korkh
 
Python, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for EngineersPython, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for EngineersBoey Pak Cheong
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxAditya Patel
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginnersBenishchoco
 
Advantages of Python Learning | Why Python
Advantages of Python Learning | Why PythonAdvantages of Python Learning | Why Python
Advantages of Python Learning | Why PythonEvoletTechnologiesCo
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net DeveloperSarah Dutkiewicz
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django BasicsRahilMemon5
 
IRJET- Python: Simple though an Important Programming Language
IRJET- Python: Simple though an Important Programming LanguageIRJET- Python: Simple though an Important Programming Language
IRJET- Python: Simple though an Important Programming LanguageIRJET Journal
 
Programming for data science in python
Programming for data science in pythonProgramming for data science in python
Programming for data science in pythonUmmeSalmaM1
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsNilesh Sutar
 
Pythonic doesn't mean slow!
Pythonic doesn't mean slow!Pythonic doesn't mean slow!
Pythonic doesn't mean slow!Ronan Lamy
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with PythonSivaranjan Goswami
 

Similar to Why learn python in 2017? (20)

POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE POWER OF PYTHON PROGRAMMING LANGUAGE
POWER OF PYTHON PROGRAMMING LANGUAGE
 
introduction to Python (for beginners)
introduction to Python (for beginners)introduction to Python (for beginners)
introduction to Python (for beginners)
 
Python. Why to learn?
Python. Why to learn?Python. Why to learn?
Python. Why to learn?
 
Python, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for EngineersPython, the Language of Science and Engineering for Engineers
Python, the Language of Science and Engineering for Engineers
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginners
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Advantages of Python Learning | Why Python
Advantages of Python Learning | Why PythonAdvantages of Python Learning | Why Python
Advantages of Python Learning | Why Python
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Python 101 For The Net Developer
Python 101 For The Net DeveloperPython 101 For The Net Developer
Python 101 For The Net Developer
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django Basics
 
IRJET- Python: Simple though an Important Programming Language
IRJET- Python: Simple though an Important Programming LanguageIRJET- Python: Simple though an Important Programming Language
IRJET- Python: Simple though an Important Programming Language
 
Programming for data science in python
Programming for data science in pythonProgramming for data science in python
Programming for data science in python
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionals
 
Python for All
Python for All Python for All
Python for All
 
Pythonic doesn't mean slow!
Pythonic doesn't mean slow!Pythonic doesn't mean slow!
Pythonic doesn't mean slow!
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with Python
 
Research paper on python by Rj
Research paper on python by RjResearch paper on python by Rj
Research paper on python by Rj
 
ppt summer training ug.pptx
ppt summer training ug.pptxppt summer training ug.pptx
ppt summer training ug.pptx
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

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