What makes Python so 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 use for writing new software – it’s often possible to write code faster when using Python;
- 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 its 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’s code can be more difficult than with other languages; fortunately, making mistakes is always harder in Python.
It should also be stated that Python is not the only solution of its 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.
Python has two direct competitors, with comparable properties and predispositions. These are:
- Perl – a scripting language originally authored by Larry Wall;
- Ruby – a scripting language originally authored by Yukihiro Matsumoto.
The former is more traditional, more conservative than Python, and resembles some of the good old languages derived from the classic “C” programming language.
In contrast, the latter is more innovative and more full of fresh ideas than Python. Python itself lies somewhere between these two creations.
The Internet is full of forums with infinite discussions on the superiority of one of these three over the others, should you wish to learn more about each of them.