Learning Python

April 27th, 2010

It’s been almost a year since I first learned the basics of Ruby — which now I’ve forgotten by the way, but the interest in programming hasn’t declined. For the last couple of weeks I was trying to make my way around C, C++ or Java tutorials. Hopefully, it was my friend, Dimitris, who sent me a bunch of cool resources and  links from the Ioanna University, Department of Computer Science. Professor’s presentations, tutorials, syllabus and other valuable stuff for a newbie in programming. Despite all this great data, for some reason I kept digging about other languages and I found about Python out.

Python is a very powerful programming language, yet easy to use, understand and write. It has efficent high-level data structures and a simple, but effective, approach on object-oriented programming. It’s interpreted nature makes it an ideal language for scripting and application development on most platforms, as all modern OSes come with Python pre-installed.

Python is Open Source, a great example of FLOSS (Free/Libre & Open Source Software) software. You can get great documentation from a huge worldwide community based on knowledge sharing. It’s created and continuously improved by hackers; that’s what makes Python so good.

In short, Python’s advantages are: simplicity, easy to learn, FLOSS, high-level language structure, portability, interpreted (maybe, the best feature), object-orientation-based, extensibility, embedability and last but not least the extensive libraries maintained by the community.

For what I can understand it’s the best language to start learning programming with.

So, I searched a little bit more and discovered some great free, open source, maintained by hackers, tutorials and books. I fully recommend them. If you are interested in Python and don’t have any previous programming skills or knowledge, be sure to check out these very helpful resources:

  • Non-Programmer’s Tutorial for Python 3, on Wikibooks. (from the left print/export menu, I recommend downloading the Wikibook as a .PDF.)
  • A Byte of Python, written by Swaroop. (this is the book I’m currently reading. Probably the best to start with, and probably the best in the world for every newbie or even a more experienced user. Download it as .PDF.)
  • Learning to program, by Alan Gauld. (also a very good tutorial/book. From the left-panel menu, scroll-down and click on download in .PDF format.)

I highly recommend you printing the .PDFs. You can work and learn better if what you read is printed and not on an LCD monitor. The Byte of Python book is 118 pages but this shouldn’t be a problem. The Wikibook is, if I can recall correctly, 73 pages and Gauld’s book is a bit more than 100 pages, too.

As I am learning Python now, whenever I stumble upon a good hack, script or even a little piece of something I’ll make, I will let you know. It’s so fun coding in Python, you should try it out too.

Open Source moves the world.