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]
