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
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)
The “third pillar of science”, standing right next to
theoretical analysis and experiments for scientific
Python is most widely used for the purpose.
● SciPy - solves common science and engineering
● 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 is a BIG buzzword. Nevertheless,
Python plays a crucial role there.
In-built support for Internet protocols:
● HTML and XML
● E-mail processing
● FTP, IMAP
● Socket interface
Other widely used libraries:
● Requests - HTTP client library.
● BeautifulSoup - HTML parser.
● Feedparser- RSS/Atom feeds parsing.
Computer vision is concerned with the automatic
extraction, analysis and understanding of useful
information from a single image or a sequence of
● Turtle (great for beginner learners)
Some examples of famous games:
● Eve Online
● Pirates of the Caribbean
● Mount and Blade
● Battlefield 2 (server logic)
~95% of embedded system code is C++.
Python is starting to get used more and more.
Microcontrollers / microcomputers:
Python subsets optimized for microcontrollers:
● Shell scripting
● Embedded scripting
○ Ableton Live
● Language processing
● System administration
● Desktop GUI
○ Qt via PyQt or PySide
● Probably dozens more application areas
● 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.
TIOBE counts hits of search queries containing “<language>
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>
Python grew the most in the last 5 years (7.6%)
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
○ 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
Read “Fluent Python” by Luciano
Solve programming challenges at
Listen to talkpython.fm on your
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