[Tutor] Python learning curve

Alan Gauld alan.gauld at btinternet.com
Tue Mar 18 23:03:06 CET 2008

"TFIA Consulting, Inc." <wsmith36 at comcast.net> wrote

> Your site says it should take just a "few days" to learn Python,

Thats true if you are talking about the core language
and a few of the most common libraries - sys, re, os,
and maybe 1 or 2 more. But thats not iincluding the
hundred or so other more specialised libraries, the
database and web programming frameworks,
a GUI toolkit etc etc.

So after a few days you could write a basic Python
program. You could probably also tackle a project using
one specialised library such as the database API or
maybe the CSV module or the socket module.

> so I told these folks to give me 12 days in case I
> was stupider than average.

Thats probably enough to master the core and a chosen
selection of modules needed for your project. But...

> Here is their documentation on compiling :

Pythopn is not naturally a compiled language so
immediately you are into non-standard tools and libraries.
You ould reasonably charge for any of these:

> Building Miro Windows ¶

This seems to be the more project specific bit.

> The supported Windows port of Miro is based on
> Mozilla XUL

Again non standard and worse, not even a commonly used library.
Bybtheir own admition its not a standard Windows GUI solution
because they don't like the windows look n feel - interestingly they
don't seem to care that their Windows users probably do! Whatever
happened to customer choice?

> The XUL port of Miro is by far the most complicated and ugliest.

So you can't be expected to learn it for free!

> The OS X Cocoa port is simpler, and the GTK/X11 port
> is by far the simplest.

So two new frameworks on top of the XUL.
I'd allow at least a week for any GUI framework (unless
you already know the underlying framework - eg Cocoa)

And its defintely not core Python.

> embedding OS X's quicktime in XUL would be a very large project.

So you need QT as well as GUI Cocoa. Thats another fairly
big chunk of learning if you don;t already know it. And the
Python wrapper on top of that. Again not standard Python
and fairly advanced Cocoa.

> Miro makes heavy use of Python extensions.

The "few days" for Python definitely doesn't include building
Python extensions. But this is sometjing that the extra for
12 days might allow to be included. So you might consider
giving this for free.

MSVC++ 7.1 (2003) compiler
Psyco - http://psyco.sourceforge.net/
Py2exe - http://www.py2exe.org
Null Soft Installer - http://nsis.sf.net/Download
The latest sqlite3.dll file from SQLite
The Windows SDK 6.1 (for Vista headers)

How much of the above you charge for is up to you.
Arguably SVN and MSVC++ and the WinSDK could be
expected knowledge from a contractor, but all the rest
are definitely beyond the basic language learning for Python.

Looks like you need to do some negotiating!

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list