The Zen of Python

>>> import this

(Don’t read it, do it)

What is Python?

Python is a computer programming language. It is named after the comedy act Monty Python (not after the snake of the same name).  It was created by a mathematician called Guido van Rossum.   Python is called a “scripting language” because what is typed by the programmer can be run directly by the computer.  Unlike some other programming languages, Python programs do not need to be “compiled” before they work (actually they do, but the computer does it without you noticing).

Why Python

Ultimately, the reason these tutes are on Python is because Python rocks!!, and it rocks in so many ways:

For a start, the Python language is extremely, sublimely beautiful.  When I say beautiful, I don’t mean in a La Gioconda sort of sense – although it’s code indentation convention does make it visually attractive.  Rather, I mean it in a Galois Theory sort of sense.  That is, it has a beautiful simplicity and consistency from which comes a deep power (don’t expect to understand the Galois Theory reference until you’ve made it to college – I think it is no co-incidence that Guido van Rossum was a mathematician).  As you learn more about how Python does what it does you will constantly think how clever its creators were.

It’s a scripting language – in practical terms this means it is easier for children to understand and implement.

Python uses visual cues (ie indentation) to mark different parts of code.  Other languages use markers like () and {} to mark different parts of code.  This can lead to much difficulty when trying to match any given closing } back to its initiating {.  Particularly where there are multiple levels of code within one another.  In other words, Python programs (including your own) are typically easier to read and understand.

Python is dynamically typed.  In practical terms, this means you don’t need to understand very much about how computers store and manipulate data in order to program in Python.  Other languages make you understand the difference between (say) a string and a number (or between different sorts of numbers) in order to simply define a variable before you even try to store anything in one.   You’d be asleep before we got anywhere in these tutes.

Python is cross platform.  Programs you write in Python can be run on computers running different sorts of hardware or different sorts of operating system without any changes.  Other languages typically involve non-trivial rework.  The language itself is also available on many different architectures and operating systems.

Python is free software.  This means not only can you download a copy for free, but you can look at the source code to see what is going on.   Some people believe that free software is also more ethical than non-free software.

Python has extensions like PyGame.  These mean we can do some fun stuff in the not-too-distant future.

Python has an established community and online documentation if you need it.  So I’m not your only source of knowledge.

There are many other reasons Why Python.   These are just a few.

8 Responses to WhyPy?

  1. Pingback: Tweets that mention WhyPy? « Python Tutorials for Kids 8+ -- Topsy.com

  2. Pingback: Linux News » Python4Kids: New Tutorial: WhyPy

  3. Pingback: Links: NASA and Free Software, Implantable Medical Devices Need Software Freedom | Techrights

  4. Pingback: openSUSE Weekly News, Issue 133 out now! | Gnu Architecture

  5. Pingback: Random Imports « Python Tutorials for Kids 8+

  6. Pingback: String « Python Tutorials for Kids 8+

  7. Pingback: Consolidation: CryptoPyThy « Python Tutorials for Kids 8+

  8. leocor says:

    It is not La Giaconda, it is La Gioconda with o, otherwise is a Art Syntax Error! 😛

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: