The programming language has a relatively simple, clean syntax that's easy for non-programmers to learn and understand.
"Python's popularity is driven in no small part by the vast number of specialized libraries available for it, particularly in the domain of artificial intelligence," the IEEE said.
Python consistently receives top billing in rankings mainly because it is one of the easiest programming languages to learn because it reads like English, industry observers said. This makes Python a good choice if you're thinking about learning a coding language.
Why learn Python?
Python is growing in popularity for statistics, data visualization, and other types of research that involve large datasets, according to Bennett Garner, a back-end engineer at Cube, a financial planning company.
"If you're interested in programming, Python is a good first language to learn,'' he said. "It's still growing in popularity, especially for data intensive applications."
In his work, Garner uses Python for Cube's web server, Django, background worker tasks, and any scripting the company needs. "Often, that involves calculating thousands or tens of thousands of financial data points across various model, scenario, and time vectors."
It has a relatively simple, clean syntax that's easy for non-programmers to learn and understand, he said. "So, the learning curve for Python is less steep than for statically typed languages that often involve a lot of boilerplate code, like Java."
There is also a strong open source community for Python packages, he said.
SEE: Getting started with Python: A list of free resources (TechRepublic download)
Developers are commonly using Python for implementation in hot technology areas like machine learning, artificial intelligence and data science, and making students and others who learn the language highly marketable, said Karen Panetta, an IEEE Fellow and dean of graduate education for the school of engineering at Tufts University.
"However, the value of the language is not just for scientists and engineers," Panetta added. "It's advancing the digital humanities so that it is becoming the language for the 'non-nerds,' too."
Another reason to learn Python is that the language has a rapid ramp-up time so students can quickly learn to write programs that provide instant gratification with the impressive visualizations of the results, Panetta said.
"Colleges and universities use Python in their first-year programming courses to engage students, which impacts retention, especially for women and other underrepresented groups in the engineering and science disciplines," she said.
Keep in mind that Python is slower than other traditional languages and not as efficient when speed is important, so it may not be ideal for a mobile app or in gaming development, Panetta noted.
Where to go to learn Python
Google recently launched a new training course for US job seekers to learn Python. The course, the Google IT Automation with Python Professional Certificate, is free for a seven-day trial and then costs $49 per month. It is being run by the online education company Coursera.
Python developers can also learn it for free by reading up on the National Security Agency's own Python training materials. Software engineer Chris Swenson filed a Freedom of information Act (FOIA) request with the NSA for access to its Python training materials and received a lightly redacted 400-page printout of the agency's COMP 3321 Python training course, according to ZDNet.
Swenson has since scanned the documents, ran OCR on the text to make it searchable, and hosted it on Digital Oceans Spaces. The material has also been uploaded to the Internet Archive. The documents contain course material sessions that would take between 45 and 90 minutes to complete in a class setting. The COMP 3321 course can be completed over a "full-time, two-week block" with 10 modules covered per week, according to ZDNet.
There are plenty of online courses and IEEE has chapters around the world that are constantly offering short courses and workshops in Python, Panetta said. "For instance, my own Boston IEEE chapter offers a short course in Python and uses it for applications in signal processing and for wireless communications."
The best resources Garner says he has seen on learning basic programming principles come from Harvard's CS50 course. "David Malan is an excellent instructor, and the course walks students through the fundamentals of computer science. The course does not start with Python, but by the end, you'll be writing complex Python web applications and you'll have an understanding of why computers work the way they do," he said.
"If you want to make yourself marketable, it's the language to learn," said Panetta. "If you want to just learn to program, it's a wonderful first language to learn, it's free and easy."
This article was updated on Feb. 11, 2020 with additional information.
- Hiring Kit: Python developer (TechRepublic Premium)
- Tech jobs: Python programming language and AWS skills demand has exploded (ZDNet)
- A beginner's guide to Python: Books, tutorials, videos, use cases, and developers' favorite tools (TechRepublic)
- More must-read Python news and tips (TechRepublic on Flipboard)