Hey OLD MAN. Didn't we alerday have this ? Didn't we alerday establish that your outmoded tendencies of grinding your own flour to bake a loaf of bread, looming your own fabric for a t-shirt, and managing your own memory references when programming run counter culture to the way the rest of us get things done every day? Do I need to spell it out to you in a null-terminated buffer of ASCII characters, lest you miss the end and I BLOW YOUR MIND?Seriously. OS hackers and computer scientists should know C and pointers and assembly and understand and the thousand other things that make System.out.println( Hello world! )' work under the covers. But for high school students and software engineers, managed languages are the way to go.As Joel points: Now, I freely admit that programming with pointers is not needed in 90% of the code written today, and in fact, it's downright dangerous in production code. OK. That's fine. And functional programming is just not used much in practice. Agreed. You teach the 90% first and the hardcore 10% remainder will find a way to learn the rest like they always do. Teaching C first is like trying to teach someone to ride a bike by putting them on a fixed gear and pointing them down a hill in San Francisco. It's too much too soon and it hides the real basics of what programming is about: flow control, algorithms, abstractions. Heck, I freely admit that even Java is too much too soon, but my colleagues here at UW who fret and worry about declining CS enrollment and do research about the best way to teach intro CS still pick Java before C.Also, get a haircut, you hippie.