“Software development is a dynamic field,” Speros Misirlakis, Coding Dojo’s Head of Curriculum, wrote in a media advisory to eWEEK. “New programming languages, frameworks and technologies can emerge, become popular, and then fade away in the course of a few years. Developers need to constantly be learning new skills to stay relevant.”
Each Language Has It Strengths
In truth, there are numerous coding languages from which to choose, each with its own strengths, weaknesses, advocates and detractors. Everyone knows that it’s necessary to learn multiple languages to create a software application—certain languages are best and sometimes even necessary for certain functions, but rarely is an application programmed solely in a single language.
For example, SQL is often used to access data, but then those data queries are managed in another language.
Still, comparing them can be an interesting exercise. Python is repeatedly ranked among the top five programming languages by organizations like TIOBE and GitHub. In this eWEEK Data Point article, Peter Wang, Chief Technology Officer and co-founder of Anaconda, offers readers a close look at why it remains popular among software developers and data scientists.
Data Point No. 1: Python is easy to learn but also powerful and concise.
Python originated from a research effort to enable “computer programming for everyone.” It was designed to be easy to learn and easy to read, which is why Python code often reads like English. At the same time, the language blends ideas from functional, structured, and object-oriented programming, which gives it powerful, dynamic language features that lets the user write fewer lines of code than C++ or Java, to do the same job.
Data Point No. 2: It’s the Swiss army knife of programming.
Python can be used to create pretty much any type of application, from data mining to web applications to running embedded systems. Like a Swiss army knife, Python may not be the best language for every specific application, but there’s a good chance it’s the second-best language for almost anything.
Some of the most popular applications, including WordStream, Dropbox, Pinterest and Instagram are all written in Python, and organizations such as Google, NASA, and CERN use Python for almost every programming purpose under the sun, including data science.
Data Point No. 3: It’s a top language for data science.
According to a 2016 survey by O’Reilly, 54 percent of data scientists use Python in their day-to-day work. The main reason for this is that Python helps data scientists write their code quickly. The code itself accomplishes more in fewer lines, while remaining extremely performant, and its surrounding ecosystem of packages and partner integrations save developers valuable time. Data scientists join the many other programmers in all fields who have made Python one of the top 10 most popular programming languages in the world every year since 2003.
Data Point No. 4: Python has a thriving ecosystem.
Python’s open source community helps answer any questions during development, and vendors like Microsoft, Google, Anaconda and others deliver free/freemium tools to support the Python community (like data science platforms, code editors, etc).
The Python ecosystem also has thousands of powerful packages like NumPy, Matplotlib, PyMySQL and BeautifulSoup, and easy integrations with applications like Spark and Apache Kafka – all of which make it a powerful language to work with.
Data Point No. 5: It reduces complexity.
Because Python can handle just about every application, developers can choose it for many/most of their projects. For organizations using multiple languages for each organization, this means less time spent handling incompatible and unmanageable codebases.
Data Point No. 6: Machine learning is the future.
The vast majority of nearly 2,000 experts polled by the Pew Research Center in 2014 said they anticipate robotics and artificial intelligence will permeate wide segments of daily life by 2025. Because of its roots in data science, Python is the language most commonly used for programming in AI and ML in the U.S.