Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

A hobby programming project"

The circumstances in which Python was created are a bit puzzling. According to Guido van Rossum:

   "In December1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office (...) would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being a slightly irreverent mood (and a big fan of the Monty Python's Flying Circus)."
- Guido van Rossum

Python goals

in 1999, Guido van Rossum defined his goals for Python

  • an easy and intuitive language just as powerful as those of major competitors
  • open source, so anyone can contribute to it's development 
  • code that is as understandable as plain English
  • suitable for everyday tasks, allowing for short development times

About 20 years later, it is clear that all these intentions have been fulfilled. Some sources say that Python is the most popular programming language in the world, while others claim it's the second or third. 

Either way, it sstill occupies a high rank in the top ten of the PYPL PopularitY of Programming Language and the TIOBE Programming Community Index.

Python isn't a young language anymore. It is mature and trustworthy. It's not a one-hit wonder. It's a bright star in programming firmament, and time spent learning Python is a very good investment. 

What makes Python special? 

How does it happen that programmers, young and old, experienced and novice, want to use it?  How did it happen that large companies adopted Python and implemented their flagship products using it? 

There are many reasons - we've listed some of them already, but let's enumerate them again in a more practical manner:

  • it's easy to learn - the time needed to learn Python is shorter than for many other languages; this means that it's possible to start the actual programming faster
  • it's easy to teach - the teaching workload is smaller than that needed by other languages; this means that the teacher can put more emphasis on general (language-independent) programming techniques, not wasting energy on exotic tricks, strange exceptions and incomprehensible rules
  • it's easy to understand - it's also often easier to understand someone else's code faster if it is written in Python
  • it's easy to obtain, install and deploy - Python is free, open and multiplatform; not all languages can boast that. 

Of course, Python has it's drawbacks, too: 

  • It's not a speed demon - Python does not deliver exceptional performance
  • in some cases it may be resistant to some simpler testing techniques - this may mean that debugging Python code can be more difficult than with other languages; fortunately, making mistakes is also harder in Python. 

It should also be stated that Python is not the only solution of it's kind available on the IT market. 

It has lots of followers, but there are many who prefer other languages and don't even consider Python for their projects.