Teaching Children Programming and Linux

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Wed Jul 16 17:14:14 UTC 2008


On Wed, Jul 16, 2008 at 12:53:37PM -0400, Scott Elcomb wrote:
> I'd prefer to avoid any language flamewars but I don't believe that
> BASIC is bad for a first language.  The reason I refer to it is the
> same reason I'd support JavaScript for a first language:
> 
> - It's a relatively simple language (eg. DOM, CSS, XML, HTML etc are
> _not_ Javascript)
> - The language is actually quite similar to Perl and very flexible
> - There's no need for beginners to get bogged down with low-level coding
> - Beginners can create, share, and improve simple projects very easily
> (eg. on the web)

BASIC (and perl) teach some horribly bad techniques that can take a long
time to get rid of later if you ever learn any good programming
practices.  I like the quote from Dijkstra on basic: "It is practically
impossible to teach good programming to students that have had a prior
exposure to BASIC: as potential programmers they are mentally mutilated
beyond hope of regeneration."  I did start out with basic, and I know it
taught me nothing useful.  I had fun with it, and it let me make the
computer do stuff, but it wasn't programming that's for sure.  I use
perl a lot (at work) and can do lots of things in it, but I also know it
isn't a great language and the syntax stinks in many cases.  The more I
use perl the less I like it.

Python is better, OCAML would be great.  Both have much better native
types (like lists) that make it much easier to do things without having
to deal with array indexes and other useless clutter that is best
avoided in good code.  Nothing can generate useful programs as easily as
python (at least not that I have seen) since you can use existing
libraries to avoid the low level details until you get interested in
what those details are (in which case you go look at the code for the
library).  OCAML comes close to python in ease of use and having a great
set of libraries.  OCAML is also a much cleaner language than python
(and much older if you count the ML it is based on).  I wish I had
looked at python sooner.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list