Simulateous Learning

Published 2009-08-26 on Farid Zakaria's Blog

I can never seem to focus on learning one particular thing at a time. I have written previously about how I’m investigating IronPython; which probably to most people would be their main focus. I however cannot settle to learn one thing at a time.

I recently picked up a book on iPhone development and decided to spend the next week or so learning the SDK and perhaps creating a few simple applications.

I have a small serious problem of beginning projects and not completing them because I try to create something too large initially. To hopefully fight this urge, I have been restraining myself towards more simple projects with multiple iterations, something which I experiemented (and found success) with when attempting to develop a ridiculously simple image application. I plan to follow a similar approach for an iPhone application.


I am currently learning (or rather re-learning ) old as well as some new design patterns in Python. Existing GOF design patterns can be tweaked slightly in Python to take advantage of dynamic programming, as well as some additional dynamic programming exclusive patterns.

So far my largest gripe currently with learning Python/IronPython is the lack of auto-completion.

There are attempts to provide auto completion for IronPython however once you have tasted Intellisense...

It’s tough to go back.

Much of my learning originally of the .NET framework through C# I can attribute almost soley to the autocompletion. A typical case of experimenting with a new Control object might follow something like:

Create object -> browse autocompletion -> find something sounding like what I am looking for -> Visit MSDN

Not to mention that a lot of the code written for WinForms is handled by the visual editor; I am not acustomed to setting many of the “default values” that VS hides nicely from me. I found it useful to howveer keep VS running along side writing any IronPython code and copy/paste much of the code in the designer.

Python making things easier; will IronPython do the same?