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.

  • Comment on Re^6: Popularity of Perl vs. availability of Perl developers