Quoting Nadav Har'El <[EMAIL PROTECTED]>: 
 
> Let's face it, when you teach someone to drive its enough to teach them 
> to use the pedals and the steering-wheel. But when you teach someone to 
> become a mechanic, you have no option but showing them what the engine 
> looks like by opening the hood, even if it's an ugly, greasy, mess. 
 
But you don't teach somebody to be a mechanic before he has learned what a car 
is. I don't think there are many car repairsmen who do not have a drivers' 
license, or at least a scooter license... 
 
Point being that C should be taught, but not as anybody's first language. 
Moreover, it should probably only be taught to those who *want* to specialise 
in the equivalent of car mechanics, like kernel hacking. 
 
Last time that I heard, in Ben-Gurion university, the first programming 
language was Java. That's a swell idea in my opinion. Java is 
feature-complete, you can't argue with that. It also means that students 
become aware of concepts like object orientation, data hiding, etc., right 
from the start. Since not all of us are kernel hackers, I think it is 
extremely important to teach beginners to think object-oriented, even if all 
they'll ever use is an old-fashioned structured language. It will teach them 
what stuff should go together, in the same module, and prune some nasty habits 
like globals. Of course, all of the above is true if the language is taught 
correctly. If all you do is put methods in your main class, and run them one 
by one from the main method, you've gained nothing... 
 
The basic stuff you need to teach people is algorithms and data structures. 
You want to save them from all the clutter around that. Once they have the 
material firmly in their head, you can teach them in less safe environment. 
One where garbage collection is not done for you, and pointers don't always 
point to something meaningful. 
 
Teach them hacking *next*. Tech them programming *first*. 
 
And yes, I know - Java is a proprietary language. Well, at least if you use 
that in lessons, you don't need a specific programming environment which your 
teacher happens to have, and which you have to steal. I remember being 
required in the past to work only in "Turbo Pascal" or "Turbo C" (Sorry, never 
used Windows, didn't get to do "Visual C"). 
 
Herouth 

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to