[Tutor] tutor

Alan Gauld alan.gauld at btinternet.com
Sat Jul 14 21:14:55 CEST 2007


> books with maximum outside help, and others can't learn from books
> at all, they need to have their hands held from the first step to 
> the
> final destination.

IMO Anyone in that position is never going to be able to program
at any level of competency. Its a simple fact that to program at
anything beyond the most basic level you will need to read
manuals/references etc. If you can't read and learn you will
struggle to learn enough of anything to progress.

> and crossword puzzles. I'm usually able to learn from books with
> minimal help. Even so, in the beginning, the documentation for a
> new computer programming language is somewhat difficult to follow.

I'm intrigued by that statement. What do you find challenging?

Once you learn one language and understand the basic concepts
then learning a new language is usually a very straightforward 
After all there are relatively few new things to learn:

How the basic control strucctures are done:
    Sequences (including overall program structure)
    Modules( ie. procedures/functions, later to include OOP if 

How I/O is done - reading input and writing output, and file handling

Data structures supported:
    numbers, strings, boolean, collections

Those can usually be learnt in a morning and after that
its a matter of gaining experience writing (and reading) code.

I generally expect someone at work (not a hobbyist) to be fairly
fluent in a new language within a week. I would never send
someone who can program on a training course for a new
language (except for C++!)

> use Internet search engines to look for relevant code snippets.

This is fine but has a danger that you wind up stitching
together snippets without really understanding how they
work. This leads to a debugging nightmare!

> I can often learn how to solve a particular problem by studying
> source code that is already working, and modifying it to suit 
> myself.
> http://www.google.com/codesearch/advanced_code_search

That is the best way to do it IMHO. It ensures you pick up
language idioms, find interesting shortcuts and once you
start to see whays to improve the code you know you've
pretty much got on top of things!

> Computer programming is a a literate activity. If one can't
> read, a book is no good.

Indeed. Some folks tried to introduce purely visual
programming some years ago but the limitations of
not using text were so high that most efforts would up
in a strange hybrid experience of limited value.
(One such experiment was Borland's ObjectWindows - did
anyone else ever use that?)

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list