in reply to Re^5: Popularity of Perl vs. availability of Perl developers
in thread Popularity of Perl vs. availability of Perl developers
Maybe the difference is that you were teaching while I was learning
I used the wrong word. I should have said I found teaching a more modern language first more effective rather than necessarily easier for the student (although I think it's often that too :-)
Actually - it's not even "more modern" - it's higher level. I'd much prefer to teach Lisp over C as a first language too.
C is a sneaky language is some ways, but learning it first only makes it worse in my experience.
Learning C as a first language is painful since it can punish mistakes in such an arbitrary way. When something as simple as an off-by-one error can cause no problems on one run, a segfault on another, and a corrupt result on a third it can be hellishly difficult for a newbie to get a handle on what the heck is going on. Especially when adding print statements can make the problem go away.
Coming to C as a second or third language means that students can separate out the general programming concepts from the C-ness. It also means that you can focus more quickly on more challenging projects that show the advantages of C as a language, and introduce them to tools that can make the development process less painful.
|
|---|