Great article from Joel Spolsky: Back to Basics: "This is why my view of teaching is that first year CS students need to start at the basics, using C and building their way up from the CPU. I am actually physically disgusted that so many computer science programs think that Java is a good introductory language, because it's "easy" and you don't get confused with all that boring string/ malloc stuff but you can learn cool OOP stuff which will make your big programs ever so modular. This is a pedagogical disaster waiting to happen. Generations of graduates are descending on us and creating Shlemiel The Painter algorithms right and left and they don't even realize it, since they fundamentally have no idea that strings are, at a very deep level, difficult, even if you can't quite see that in your perl script."
I love it when I find that other programmers, much more experienced than I, have had the same questions and worried about the same things, like how much memory to allocate for things. I thought there was some secret that the true hackers knew about and I didn't, but it turns out that "really, C does not make this easy on you". I've also wondered about how to avoid fragmented memory, and I didn't know that malloc fixed it when it had no other choice.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):