News for hackers. Stuff that matters.
Re:Khan Academy: Computer Science by manish_gill on Tuesday November 01, 2011 @04:10PM (#3183929)
Yeah, but I still advocate the use of C++ over Python. Just because of the fact that I can now appreciate what goes on under the hood instead of groaning that why should I learn it when the "language takes care of it". Many classmates of mine really enjoy Java because of they had learned C++ first. It's a harder learning curve, but I think it's worth it.
Re:Khan Academy: Computer Science by loup-vaillant on Tuesday November 01, 2011 @04:25PM (#3183978)
If you have to, pick C. Never ever touch C++, especially its standard IO library. Classes are of very little interest anyway (C easily emulates modules), they can learn it later.

There is a crucial point that should not be ignored. The first two languages someone learns should be easy. Monstrosities like C++ give the poor beginner the impression that learning any language is hard to learn, and that would discourage such learning in the future.

Re:Khan Academy: Computer Science by 2arrs2ells on Tuesday November 01, 2011 @06:23PM (#3184419)
I agree with you 100%, if you're learning to program on your own.

I disagree 100%, if you're talking about a college curriculum. The intro class at my university [1] used C, and I'm incredibly grateful. If I hadn't been forced to grok pointers and malloc, I'm not sure I ever would have (I haven't done any C programming since then). But even though I'm not writing C directly, knowing how things work at a lower level has helped me understand all sorts of concepts in higher-level languages.

[1] http://cs50.tv

Re:Khan Academy: Computer Science by loup-vaillant on Wednesday November 02, 2011 @04:31AM (#3185849)
Err, I agree with much of your "I disagree" paragraph. Maybe you should re-read my previous comments.

I don't loathe C nearly as much as C++. I understand that learning about low level is useful. Pointers are indeed a very important concept (though not so difficult once you understand that variables themselves are already a form of indirection). So is Manual memory management.

But if you are tempted to put C++ in the same basket, don't. C++ is a very very different language from C. Sure, it looks like it just has some additional features here and there, but those features make C++ practices very different from C ones.

Re:Khan Academy: Computer Science by ceol on Tuesday November 01, 2011 @09:34PM (#3184979)
I disagree. I don't have any data to base this on, but I think it would be easier for a new programmer to learn logic first and then worry about what goes on under the hood. There are plenty of reasons to learn C aside from just to know what goes on at a lower level.