I believe that you may be a newcomer to Python, or looking around for the best programming language to learn. Let me tell you that you are in the right place, and Python is surely a good decision to take as the programming language to learn.
Python is a fast growing language. Based on TIOBE Index for September 2015, Python came in 5th place as a popular programming language, moving up three places from the year 2014, and having a lead on PHP!
Python is a beautiful programming language, especially in its ability to inspire love in its users. In this article, I would like to talk about the Python programming language, why developers use Python, Python applications, recommended books, and more.
What Is Python?
This is the first natural question one would ask, and here is what the Python official website had to say about that:
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python’s simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed.
Why Do Developers Use Python?
Going through the definition of the Python programming language in the previous section, we can notice some advantages as to why developers may choose to use Python. In this section, I’m going to show you more advantages of this language, making it a language of choice for many developers.
The reasons why developers use Python as the language of choice, as Calvin Hendryx-Parker, Chief Technology Officer at Six Feet Up, mentions, is because of its robustness, in that it has a relatively small number of lines of code, making it easier to debug and less prone to issues. Python is also able to scale to solve complex problems, and that makes it no wonder why Python powers many large websites such as YouTube, Dropbox, Reddit, Quora, and Disqus. Not to forget that Google has made Python one of its official programming languages.
Another reason why developers use Python is due to its flexibility. Enough to know here is that when YouTube migrated from PHP to Python in 2007, this was for scalability purposes, citing that “Python enables flexibility”. This flexibility also emerges from the fact that Python was not originally created to answer a specific need, and is thus not driven by templates or specific APIs.
A very crucial reason why developers use Python is because it is easy to learn and use. More on that can be found in an interesting article by John M. Zelle of the department of Mathematics, Computer Science, and Physics at Wartburg College: Python as a First Language.
After all, another reason why developers would use Python is because it is FREE!. Yes, it is an open-source programming language and could reduce costs.
There are many other reasons as to why developers would use Python. You can consult the following article for other reasons: 5 Compelling Reasons to Learn Python as Your First Programming Language.
Python Applications
I’m pretty sure that by now you are very enthusiastic to take the step of learning Python. But, what can Python be used for? In other words, what are some of Python’s applications?
Python can be used in many applications. To categorize, however, I liked how Python’s official website categorizes the domains Python can be applied in.
Python can be applied in:
- Web and internet development (i.e. Django, Pyramid, Flask, Bottle, Plone)
- Scientific and numeric computing (i.e. SciPy, Pandas, Astropy, Thuban)
- Education (i.e. EDU-SIG)
- Desktop GUIs (i.e. Tkinter, wxPython, kivy, PyQt)
- Software development (i.e. SCons, Buildbot, Apache Gump, Roundup, Trac)
Python vs. Other Programming Languages
At the beginning of this article, we saw that Python came as the 5th most popular language amongst different programming languages. Let’s go a bit deeper and see how Python compares with other programming languages in terms of speed and memory usage.
In an interesting research study that compared Python with other programming languages, results in terms of speed and memory usage can be illustrated in the following tables and graphs.
The research study showed that speed tests fall into four categories: slowest, slow, not-so-fast, and fastest, with Python coming in the fastest category.
Regarding memory usage which was captured as per every completed step, Python came as shown in the table and graph below.
Results of memory usage came into five categories: highest, high, medium, low, and lowest, with Python lying in the lowest category.
We can thus see that Python is a very efficient language, being amongst the fastest and also the lowest in memory usage.
Python Books
There are many books on the Python programming language. I found this list of Python books to be a good resource for looking for the Python book(s) that would suit your needs.
Python Blogs
It is a nice idea to follow some Python blog(s), where you will be up-to-date with the language, and on the other hand to learn more ideas on how Python could be used.
For Python blogs to follow, please see: 10 python blogs worth following, and 11 must-read blogs for python developers.
Python Editors
As you will be writing Python programs, you will need a code editor to do just that. This comprehensive list gives you different options to choose from. It is, however, sometimes confusing as to which code editor to use, especially the long list as you have noticed. This nice article Which Code Editors Do Pythonists Use? will thus narrow things a bit and get you started quickly in picking your editor of choice.
So, will you take a step further and start learning Python? Or, if you are already a Python programmer, do you think the language is meeting many of your needs to the extent you don’t need another programming language in your pocket?
Comments