Hacker News new | past | comments | ask | show | jobs | submit login

A month ago I went to advice the teacher of a high-school level video game design program about the curriculum of the program. I'm a C/C++ developer, but I too thought as you did that introducing a bunch of high school kids to programming using C or C++ would be too hard.

The school in question is mostly low-income kids looking for a vocational experience, so we expected a bunch of kids who would be out of their depth if thrown in without a garbage collector. But then the teacher mentioned that none of the kids had a hard time learning C or C++, pointers included.

So the group of game developers who had come to advice pretty much all agreed that learning C/C++ first was actually the best thing that could happen to those kids. Show them C first to teach them what the machine is REALLY doing (with only a minimal abstraction layer), give them OOP with C++, and THEN transition them to a scripting language and higher level environment so they can produce something interesting before the class is over.




I agree. C is a great language to learn at first. It's exacting and forces you to think like a programmer, but it isn't that hard to do very basic things. It's only when it comes to building larger, useful programs that it becomes difficult. The key though is you learn a lot of low-level stuff that's really useful later.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: