What is Python?

Python is a widely-used, interpreted, object-oriented, and high-level programming language with dynamic semantics, used for general-purpose programming. It was created by Guido van Rossum, and first released on February 20, 1991.

While you may know the python as a large snake, the name of the Python programming language comes from an old BBC television comedy sketch series called Monty Python’s Flying Circus.

One of the amazing features of Python is the fact that it is actually one person’s work. Usually, new programming languages are developed and published by large companies employing lots of professionals, and due to copyright rules, it is very hard to name any of the people involved in the project. Python is an exception.

Of course, van Rossum did not develop and evolve all the Python components himself. The speed with which Python has spread around the world is a result of the continuous work of thousands (very often anonymous) programmers, testers, users (many of them aren’t IT specialists) and enthusiasts, but it must be said that the very first idea (the seed from which Python sprouted) came to one head – Guido’s.

Python goals

In 1999, Guido van Rossum defined his goals for Python:

  • an easy and intuitive language just as powerful as those of the major competitors;
  • open source, so anyone can contribute to its 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 third-most popular programming language in the world, while others claim it’s the fifth.

Either way, it still occupies a high rank in the top ten of the TIOBE Programming Community and PYPL PopularitY of Programming Language Indexes:

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

Why Python?

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.

Python in Action

Where can we see Python in action? We see it every day and almost everywhere.

It’s used extensively to implement complex Internet services like search engines, cloud storage and tools, social media and so on. Whenever you use any of these services, you are actually very close to Python, although you wouldn’t know it.

Many developing tools are implemented in Python.

More and more everyday use applications are being written in Python. Lots of scientists have abandoned expensive proprietary tools and switched to Python.

Lots of IT project testers have started using Python to carry out repeatable test procedures. The list is long.

Python Examples

Python is a great choice for:

  • Web and Internet development (e.g., Django and Pyramid frameworks, Flask and Bottle micro-frameworks)
  • Scientific and numeric computing (e.g., SciPy – a collection of packages for the purposes of mathematics, science, and engineering; Ipython – an interactive shell that features editing and recording of work sessions)
  • Education (it’s a brilliant language for teaching programming!)
  • Desktop GUIs (e.g., wxWidgets, Kivy, Qt)
  • Software Development (build control, management, and testing – Scons, Buildbot, Apache Gump, Roundup, Trac)
  • Business applications (ERP and e-commerce systems – Odoo, Tryton)
  • Games (e.g., Battlefield series, Sid Meier’s Civilization IV…), websites and services (e.g., Dropbox, UBER, Pinterest, BuzzFeed…)
  • And that’s just the beginning…

sources: https://wiki.python.org/moin/PythonProjects, https://www.python.org/about/apps