[IOML] Re: IOM Digest, Vol 7, Issue 2

Cleator Wilson Limited mail at cleatorwilson.co.im
Thu Jan 29 14:50:36 GMT 2004

Hi y'all,

Signed up a while ago after bumping into you at the last (?) get together at
the Cat.

I'm not exactly a hard-core GNU/Linux user although I'm do use it a home and
am a big fan. I also consider myself somewhat of an evangelist for the
entire Open Source movement - quite a few of our clients now use
OpenOffice.org and MySQL and are entirely happy with them.

The majority of the posts arriving via the mailing list relates to subjects
which I'm either not familiar with/interested in, or I've simply no relevant
comment to make, but I can assure you, I do read them all.

Possibly of relevance (interest?) is that over the past few weeks I've
fallen entirely in love (sad, but true - don't tell the girlie) with Python.
Had heard of it many years ago and it seemed to offer nothing new at the
time, but when I was looking at Perl for a new project a couple of weeks
back I found many references to it, primarily due to a good number and
variety of programmers changing over to it and decided to take another look.
In essence, the language itself has taken all the best bits of other
languages, given them a dust off, and often implemented them in a nicer or
certainly more integrated way. Due to this approach, the entire language
feels "together" and very intuitive, hard to describe properly without
experiencing it yourself.

At first glance, the enforced indenting to represent code structure seems
like a major pain, and I decided initially that I hated this with a passion.
In practice however, I've always indented code in the same way and it
actually saves me typing - within a couple of hours I was a convert and it
certainly makes everyone's code more uniform and therefore readable. You
don't need to spend five minutes adjusting to an individuals coding style
when reading their code or your own stuff coded when nursing a major

It's a marvellous core language with incredibly well thought out approaches
for 99% of programming tasks. The OO side of things is kept simple but still
manages to be very powerful, and there are a wide range of additional
packages available. The extensive level of introspection available has also
proven to be extremely useful. The GUI side of things using Tk and wxWindows
is very effective and entirely cross-platform (including Mac OSX). There's a
nice usable IDE (IDLE) shipped with the installation and even a very good
Delphi like development environment/GUI builder called Boa Constructor
available. Additional packages allow platform specifics such as COM and
there are even libraries for game development - SDL via the PyGame library
and OpenGL - should you be inclined.

As a developer, I tend to swap back and forth between languages depending on
which is the most appropriate to the job (often the clients preference) but
this is the first language I've genuinely felt was capable of doing
everything I needed, and in such a way that it was kind of fun.

The speed of development is the most surprising thing, a good deal of my
work over the past couple of years has been in Delphi/Kylix and whilst you
can drag and drop a functional and usable GUI application together in no
time at all, the fine tuning and getting the user interface to behave
*exactly* as I want it means that the overall time taken for the project can
be 5 - 10 times that taken to put together the "working" prototype.

As an example, I'm 70% through re-writing in Python a pretty major app coded
in Delphi using MySQL, DBISAM and several commercial VCL GUI component sets
which unfortunately tied it to the Windows platform rather more than I'd
have liked. The original was written over a number of months, and whilst
much of this time was spent fine-tuning the thing, re-writing it in Python
has so far taken me 1 day! The user interface scales better (display
resolution wise) due to the various layout managers built into the wxWindows
library, and there is no noticeable performance difference between the
versions - in fact the database access is a little faster. As with the
majority of commercial work the app is mostly user interface driven, so the
performance issue with interpreted high-level languages is unlikely to ever
be a problem.

It's also possible to package an app into a single executable, and whilst it
will be a couple of Mb in size, it'll still be significantly smaller than
the distribution for even a 300k VB6 app by the time you add in all of the
library, support and patch files needed. It's been a while, but I remember
it being around 10Mb last time I shipped anything like that.

If you haven't tried it yet, spend a little time playing with Python and the
packages which are relevant to you. The community is very active and there
are plenty of quick-start guides to give you an idea what it can do without
taking up too much of your time. The whole experience has been a very
pleasant and unexpected surprise, which I've a feeling will be paying back
the time I've spent picking it up many times over in future projects.

I'm also in the process of setting up a new company offering and
co-ordinating the services of a number of small IT businesses in an attempt
to pick up larger more involved jobs than the individual companies are
capable of taking on. One of the things I'm keen to do (but it's not really
part of the plan at the moment for practical reasons) is promote GNU/Linux
and Open Source as viable options for small to medium sized businesses, but
they will certainly require support and possibly training. I'd be keen to
have a chat with you guys and get your thoughts on this.

Definitely up for a few beers and another meeting one evening (preferably
8pm or later) or weekend afternoon. Douglas would probably be best for me,
but I can more than likely make anywhere.


Chris Wilson
Cleator Wilson Limited

More information about the IOM mailing list