Well, that’s exactly the question that Philip Guo, an assistant professor of computer science at the University of Rochester, tried to find out. After looking at the top 39 computer science departments among U.S. universities (as ranked by U.S. News & World Reports), Guo crunched the numbers and found that Python is the most frequently taught programming language.
Three years ago, Mark Guzdial blogged about the rise of Python as a teaching language and predictions for future teaching languages. His insights proved to be prescient. Top-ranked CS departments at MIT and UC Berkeley recently switched their introductory courses to Python. And the top three MOOC providers (edX, Coursera, and Udacity) all offer introductory programming courses in Python.
So let’s talk briefly about some of the main reasons why you should be using Python. We’ve outlined 8 reasons here below.
1. Quick to setup
Python is easy to download, even for the newbie; careful documentation takes you through the download and setup steps in either Windows, Mac, or Linux environments. Tons of support and documentation make Python learning fairly manageable. If you want to jump right into Python without any need for download on your machine, just go to one of many online tutorials like Codecademy.
2. Python is fast
Python has developed a reputation as a solid, high-performance language. Lots has been done in recent years to get to this point. The PyPy project aims to speed up Python as a whole (and is doing a great job of it). And Numba is another tool that can offer amazing speedups by implementing high performance functions written directly in Python.
3. Python has broad support
The applications for Python are broad and varied; it’s used by individuals and big industry players alike in everything from systems automation, testing, and ETL to gaming, CGI and web development. Disney uses Python to help power their creative process. And Mozilla releases tons of open source packages built in Python. Bank of America uses Python to build new products and interfaces within the bank’s technology infrastructure.
4. Ease of use
Python gets a lot of accolades for being easy to learn, and rightfully so. The learning curve is very gradual. Other languages can be quite steep. Python places a heavy emphasis on readability, as shown by its comparison with other object-oriented languages. The first code example below is written in C++:
Python is much more intuitive looking and in fact appears like everyday English. As one writer has well said, “With Python and the proper combination of ambition and attention, you could whip together a game in a day knowing nothing before you started.”
5. Big Data
Python’s growing ecosystem and support network has been significantly enhanced by the popularization of Big Data in recent years. Based on a 2013 poll, Python is the second most popular language in data science, used by 39% of respondents (after R’s 61%). Python offers a very mature numeric and scientific computing ecosystem (NumPy & SciPy) and in the trade-off between scale and sophistication, Python is seen as a nice compromise. The advantage of a rich data community with large amounts of toolkits and features makes Python a powerful tool for medium-scale data processing.
Across a number of industry metrics and rankings, demand for Python job skills are rising sharply. For example, while the overall hiring demand for IT professionals dipped year over year by 5% as of January 2014, the opposite was the case for Python programmers. During this period demand rose by 8.7%. The average salary for Python programmers in the U.S. is just over $100K and demand continues to rise.
7. Why not web development with Python?
Python is usually associated as a scripting language heavily used in Big Data and analytics, and there’s no doubt that is where it excels. But did you know that it can be used to build online applications? In case you didn’t know. Django — the popular open source web application framework written in Python — is the foundation of such sites as Pinterest, The New York Times, The Guardian, Bit Bucket, and Instagram. Python is a growing ecosystem for web development; here are some options to explore.
8. Easy ways to learn
There are many ways to learn code today, and in particular Python – MOOCs, online tutorials, and code bootcamps (including online options). As an example, Udacity – one of the first MOOCs – on the market, offered a signature course called Intro to Computer Science, which since its inception in 2012 has introduced over 400,000 students worldwide to Python. The course links theory with practice by having students build an actual search engine using Python; the course was recently revised to also include the addition of a social network component. Learning Python today has never been easier or more accessible.