Take a poll of data scientists asking them to name their programming language of choice and almost undoubtedly the names that will emerge on top are Python and R.
Certainly, there are similarities between the two — most notably, they’re both open source and free. But there are significant differences as well. A primary difference is that R is used mostly for statistical analysis, while Python offers a more general data-science experience.
Python has climbed significantly in the polls in recent years. In a 2018 survey of 24,000 data professionals conducted by Kaggle, 83 percent said they used Python. Python was also the overwhelming choice as the best language to learn first.
There are a number of compelling reasons for Python’s popularity among data scientists. First and foremost is the fact that it’s named after Monty Python’s Flying Circus, reportedly due to creator Guido van Rossum’s penchant for lapsing into “a slightly irreverent mood.”
Okay; so maybe that’s not the absolute most compelling reason, though it’s an awfully good one. Let’s explore a few more practical ones.
Python libraries are chunks of code that you can reuse to save yourself a great deal of time. Among the most popular is pandas, a fast, powerful, flexible, and easy-to-use open-source tool for data analysis, manipulation, aggregation, and visualization. NumPy, which supports multi-dimensional arrays and matrices, is another well-received library, as is SciPy, great for interactive work and fast prototyping.
More than 137,000 Python libraries are now available.
Other invaluable resources include Anaconda, a distribution built entirely with data science in mind, and probably the most popular Python distribution; Jupyter notebooks, which allow scientists to easily share, reproduce, and visualize their work; and Tensorflow, free and open-source software built around Python.
As a Python user, you join a vast, and extremely engaged, community. For dedicated Python users, this means a lot. And importantly, it’s a community that welcomes all skill levels, from beginners to fellows. If you’re willing to reach out, the support you need is at hand.
Among the more popular resources available are Python Weekly, a free email newsletter with news on the latest releases, job openings, and much more. You should also check out the Python Tutorial and Planet Python.
Ease of Use
Python’s ease of use begins with “free and open source.” The latest version for each operating system can be downloaded from the company’s website. You’re then at liberty to use and share it.
Python is a general-purpose programming language. It uses simple syntax and the code can be written and executed quickly.
You can easily, and accurately, glean useful information from disparate sources of data and output it to a spreadsheet. And for more complex outputs, the efficiency of Python’s language makes it relatively easy to explore machine-learning algorithms.
Python is equally fast and efficient for Mac OS, Windows, or Linux, without adjustment. The same code can be run in any environment. It can be used for desktop or mobile applications and for web development. And it supports both object-oriented and procedure-oriented programming.
Rapid Application Development
Users will attest that Python’s dynamic nature makes it easy to iteratively reshape code and thereby develop applications more quickly and efficiently.
As one Python client put it, its elegance owes to the fact that it “lies in the ‘sweet spot’ between tediously verbose and arcanely terse languages.” Bottom line, this client avowed, Python “fits your brain.”
It's a Glue Language
Python is often used as an integration language, gluing together components across multiple platforms, products, and application domains. It allows programmers of different disciplines to collaborate on projects.
As van Rossum has written, because it has “existing interfaces to so many different components in very different application domains, Python is ideal for oddball integration tasks. It can link a commercial database to number-crunching code; it can add a graphical user interface to a network management tool; it can send email from a virtual reality application.”
Your Friends at Caktus
As always, your Caktus web, mobile and SMS experts are here to help you learn more about and then navigate Python. We’re a full-service development and consulting firm with expertise in Python and Django, and we’re fervent proponents of open source. Get in touch. Let’s talk.
In the meantime, download this guide to Django upgrades support and upcoming release dates.