[sapug] competition idea

Michael Cohen michael.cohen at netspeed.com.au
Sat Mar 10 04:22:15 CET 2007


Stephen,
  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
 code in).

 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
 of time.

  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.

  Michael.


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.
> 
> Steve.
> 
> 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
> http://mail.python.org/mailman/listinfo/sapug
> 


More information about the sapug mailing list