Sunday, June 14, 2009

Getting You Started with Python

I was introduced to the world of Python 18 months ago, and since then I love the language and always consider it my first choice and my fluent tongue, specially for fast prototyping or small to medium scale web development

A problem that many software engineers confront when they first come to python is that they are very occupied with (and religious to) their original tongue and they are trying to speak python with a Java accent or adding a C/C++ dialect to the language ... simply don't try to do that, you would only feel the beauty of a language and benefit from its strength when you surrender to its unique nature.

Long time ago when I was still struggling with my English, a teacher gave me a very useful piece of advice that helped me a lot since then, he said "if you wish to be a good English speaker, you got to THINK in English" ... he put a lot of emphasis on how harmful it is to your learning of a new language to think in your mother tongue and then translate the meaning to the new language, you would learn very slowly and your English will be also polluted with odd words and language constructs that are not applicable in such context.

I have a lot to say in this subject, but I thought it is better to share here some basic resources, blog entries, articles and videos that I used to learn to THINK in Python and allow you to be shaped by that literature first hand ...

Python is not Java (A must read if you have a Java background)

http://dirtsimple.org/2004/12/python-is-not-java.html
http://www.ferg.org/projects/python_java_side-by-side.html


Basics


Python home:
http://python.org/

Official Tutorial

http://docs.python.org/tutorial/

Are you using Eclipse, here is the Eclipse plugin for python development:
http://pydev.sourceforge.net/

Be Pythonic
http://wordaligned.org/articles/essential-python-reading-list
http://eikke.com/how-not-to-write-python-code/

Noteworthy Persons


Guido Van Rossom

Alex Martelli

Python on Youtube

a very soft introduction to python, by Alex Martelli, Author of the Oreily book "Python in a nutshell":
http://www.youtube.com/watch?v=bDgD9whDfEY (part 1)
http://www.youtube.com/watch?v=y7vwZ20SDzc (part 2)

python, a dynamic language for all kind of applications (Guido van Rossum):
http://www.youtube.com/watch?v=ImfbpMjpKe8

More advanced, Design Patterns in python (may be you would come to those later):
http://www.youtube.com/watch?v=1Sbzmz1Nxvo (part 1)
http://www.youtube.com/watch?v=tJXhtncDBu4 (part 2)

More and more advanced, in depth talks:
http://www.youtube.com/watch?v=VOzvpHoYQoo (python object model)
http://www.youtube.com/watch?v=23s9Wc3aWGY (python internals)

Guido talking about the new python, 3000:
http://www.youtube.com/watch?v=66NThkgfc1U

Python & Machine Learning

Peter Norvig talks to facebook engineers about Google translate and machine learning in general, and uses python code to demo his ideas

Have a good code

3 comments:

  1. Ah, the compulsory introduction to python post :).
    Thanks for providing the links, I learnt a lot from them. I still have the Python 3000 and the Peter Norvig presentations to look at for the time being.

    Regards,
    Mohammed

    ReplyDelete
  2. Lulubox V2.2.2 is an application built on the social networking model, where people can share plugins and mobile game management tools, with the goal of managing and organizing games, brings better gaming experience for users.

    ReplyDelete
  3. It can likewise increase the value of hazard and extortion the executives, production network and social insurance forms by structure different models.
    machine learning course

    ReplyDelete