[sapug] competition idea
michael.cohen at netspeed.com.au
Sat Mar 10 04:22:15 CET 2007
I guess it depends what you are trying to achieve by encouraging people to
play with programming. People either enjoy the challenge of making something
work and creating something new, or they dont.
In reality there is no difference between learning to program and learning
how to use a new application - after all even open office has a full
programming language built in. Unfortunately 95% of poeople could not care
less about it, and only use the functions which are obviously available
through menus etc. This brings us to the fundamental issue of are people
enclined to create or are they happy to use the program.
In many cases people would pick up programming as they are making the
transition from users to power users to programmers. That is why so many
people use VB, ASP etc because they started off using word/excel whatever,
and they wrote a couple of macros and they did a quick gui and it just went
on from there.
Real programmers (those who are inclined to learn about progamming) already
know a set of problems which they are interested in and look for
languages/tools/techniques to solve those. For example to do the web problem
there is php,python and java to a lesser extent (large learning curve). Some
people start off with specialised fields (e.g. maths) and learn languages in
those domains first (e.g. matlab/R/octave/python).
As people get more experience they realise that all languages are basically
turning equivalent so there is no "best" language. Some are just better
suited for certain problem domains (and worst for other problem domains). The
more problem domains a person has, the more they tend to settle on a language
which suits better on the whole.
I guess the point of what im saying is that there is definitely a process
which one goes through when becoming interested (addicted?) to programming -
its a process of empowerment. The more experience you have, the more you can
do - which is more rewarding and so on. Sure you can get people to play with
toy languages like Visual Basic or PyGame etc as a starting point but very
quickly things become very limited - simply because these lanaguages are
designed for specific problem domains (VB is designed as a way to script ms
office and is very complex to write and especially maintain general purpose
In the open source world, there is a very large level of code reuse, and so
code tends to be written in languages which are designed to solve a wide range
of problems - for example you dont see many people using R as a general
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
a language called G which is a graphical programming environment for labview -
it seems like it makes life easy because you draw your program on a gui
instead of an editor - if you do the couple of examples they give in the book
its very quick to get going. Unfortunately as soon as you do something just a
little bit more involved it gets real messy real quickly (you can generally
understand a program drawing as quickly as code so maintainance is horrible).
Although its possible to implement anything with this its pretty much a waste
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
programming - the imagination of seeing how a program behaves or looks like
before you ever wrote it.
On Sat, Mar 10, 2007 at 01:10:26PM +1030, stephen white wrote:
> On 09/03/2007, at 7:41 PM, Janet Hawtin wrote:
> > Pygame, Squeak, Blender, Enlightenment, there must be something we can
> > develop some howtos or tutes for to make something workable.
> What? Blender? For beginners?!
> It looks to me like you're intent on using free software, which makes
> you a solution in search of a problem. When you front up with these
> ideas, it's going to be readily apparent that these are not good
> answers for making IT an attractive and appealing field.
> Inappropriate advocation does more damage to the objectives of GNU
> and free software, as it causes people who are otherwise receptive to
> examine the proposed solutions and conclude that people are more
> enthusiastic than the products really warrant.
> I would advise that you only propose an option when it is a real
> solution, and I'm not seeing that Python, Blender, Enlightenment or
> Squeak are valid answers to the problem of making programming
> appealing to those who haven't experienced it before.
> PS. Sorry about the prior message, I was trying to dictionary check
> and hit deliver!
> steve at adam.com.au
> sapug mailing list
> sapug at python.org
More information about the sapug