[sapug] competition idea

stephen white steve at adam.com.au
Sat Mar 10 04:58:23 CET 2007

On 10/03/2007, at 1:52 PM, Michael Cohen wrote:
>  purpose language or post script etc. Although it may appear that  
> there is more
>  of a learning curve to get started its actually lower in the long  
> term because
>  you dont tend to hit a capability ceiling very quickly. For  
> example I one used

I agree, which is why I use Objective C with OpenGL and Cocoa, along  
with Smalltalk. This is the simplest and most functional combination  
of tools that I can find to cover a wide range of requirements - from  
hardware speed (via ASM in C) to flexible and realtime (scripting  
layer). I eye other languages like Ruby with some envy for their ease  
of use, but my overall need is speed where I need it.

>   Depending of the skills of the target audience, it may be better  
> to aim for
>   simple empowerment first, like power use of open office - write  
> some JS or OO
>   macros to do something simple etc. This simple empowerment allows  
> people to
>   see that computers _can_ be bent to _your_ will. This is the pre- 
> requisite of

The difficulty of using free software for education is that most  
available (and well written) code is by professionals for  
professionals, so they're too far up the abstraction ladder. There  
needs to be a few rungs down for those making the climb... to quickly  
realise the link between what you want, and seeing it happen.

Unfortunately, this mainly belongs in the commercial domain, as money  
is used to incite professional programmers to create and polish a  
limited product to the levels where it is appealing to those who are  
(temporarily) limited. The other problem is too many half-done free  
solutions for the same problem, so we end up with toolkits like Gtk  
(bllleeeyyurrch, and I say that as a C programmer so I have every  
reason for trying to like it), and Qt which has the disadvantages of  
being commercial where it matters and free where it doesn't matter.

In contrast, Cocoa is a single toolkit for the OS X platform, done  
well and enabling the easy creation of things like Impromptu, as  
programmer effort can be spent on developing the new features of  
interest rather than the majority of time being spent re-inventing  
the wheel. Free software is still in the wheel re-invention stage as  
there's nobody with enough authority to say "this is what everyone  
should use"... as Steve Jobs did with Cocoa. For that reason alone,  
there isn't enough support around free libraries to make them  
definitive reference material.

The disparity is readily apparent as soon as you look at the  
documentation. With Gtk, I spent a year Googling around at random to  
find documentation that referred to old versions, trying to extract  
the parts that were still relevant and going through Gtk source code  
and struggling against bad decisions deeply buried in their code. I  
burnt out and nearly stopped programming altogether, and that's  
speaking as someone who already had the skills trying to be taught to  
these school aged people.

There does need to be a proportionate amount of reward for exerted  
effort, and using a stable commercial environment gives me the  
ability to click on any type or constant in my code and immediately  
access 1GB of professionally written documentation about the exact  
version of libraries and tools that I'm using. Everything I read is  
relevant, everything I see is up to date, and nothing that I see is  
about something that no longer exists (unless flagged as deprecated).

So, despite 15 years of free software, I'm forced to conclude that  
when something matters... you pay for it. Free software is very  
valuable as raw material, but I'd rather have a screwdriver or a pair  
of pliers than a raw lump of ore and a Wikipedia page telling me how  
to refine it. Since education is very important as it creates the  
next generation (who will hopefully be empowered enough to lovingly  
take care of us in rest homes as we die!), we need to pay where  
needed to give them what they need.

I would expect very very very very very, and pathologically insane,  
few programmers if Gtk were used to teach them about computers. I  
would expect far more, and comparatively sane, programmers resulting  
from approachable and rewarding environments. The fact that Daryl is  
completely insane is from trying to build half a computer (Arthur)  
with a blown up 600MB drive. :)

   steve at adam.com.au

More information about the sapug mailing list