Want to learn Python? Who wouldn't want to learn a programming language whose name was inspired by Monty Python's Flying Circus! There are plenty of other reasons Python is loved by developers worldwide, of course. It is simple, straightforward, and easy to learn and excellent as a first language. But, it's also powerful, providing a full quiver of features for experienced developers. No matter what your platform, it's there with numerous implementations on Windows, Mac, Linux, and more.
Python was created by a Dutch programmer named Guido van Rossum in the early 90s. It has since become one of the most popular languages in the world. It's in the top ten of the most requested languages in job postings. And in 2011, it became the third most commonly used language on GitHub. It is actively used by Google, Yahoo, NASA, Industrial Light and Magic, YouTube.com, and many, many others.
Python is open source and is freely used in projects of all kinds, including commercial projects. Although Guido van Rossum is still actively involved, the language's ongoing development is community driven, from ideas to prioritization to implementation.
There are tons of programming languages out there. What makes Python different? Van Rossum sums up his philosophy for development of Python in a document called the Zen of Python. It includes core design principals stated in simple (and sometimes comical) aphorisms. Among them…
- Beautiful is better than ugly.
- Simple is better than complex.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Practicality beats purity.
- There should be one—and preferably only one—obvious way to do it.
- Although that way may not be obvious at first unless you're Dutch.
- If the implementation is hard to explain, it's a bad idea.
- Namespaces are one honking great idea—let's do more of those!
As you can see, his focus was clearly on developing a practical, straightforward language that kept its syntax simple. This is better for learning, better for development, and better for long-term maintenance.
Python has a clear philosophy on powerful new extensions to the language: It avoids them. Instead of making the core language ever bigger and more complex, Python opts instead to make it very easy to create extensions to the language in the form of libraries. That gives the developer the option of selecting the library that best suits their needs, rather than bending a language feature to do something it was not quite designed for. Python does come with a powerful standard library that makes it easy to do a great many common tasks.
Another important beast in the corral: The Python Interactive Interpreter. With it, you to enter code and immediately execute it and see the results, rather than going through the standard edit/compile/run/test cycle. This makes it easy for those new to the language to try out syntax before using it in their code. It's also good for more experienced developers to work through tricky problems more quickly.
For the Geeks
If you're fairly new to programming, go ahead and skip this section. However, if you are an experienced programmer and want a technical run-down of the language, here it is: Python is a modern, object-oriented programming language that fully supports numerous paradigms, including functional programming, aspect-oriented programming, and design by contract. It handles its own memory management and garbage collection. It provides dynamic variable/method name binding. Python was created as an interpreted language; however, there are Just-In-Time (JIT) implementations, including PyPy and Iron Python (on the .NET platform). There are also native-compiled implementations like py2exe. Interpreted Python may be used in combination with C++ for portions of code that need speed.
Python is commonly used as a scripting language for Web applications. It's also used as an embedded language within other products to provide customization and extension. Examples include 3ds Max, Maya, GIMP, Inkscape, and ArcGIS.
Many languages today offer incredible power. But at a cost—incredible complexity! Python chose the road less traveled—simplicity. Coding with a straightforward syntax makes for quicker learning, quicker development, and quicker/more flexible maintenance. Remember, complexity is the path to the Dark Side. Search your feelings. See the truth, you will…