Hacker News new | ask | show | jobs
by Jtsummers 2149 days ago
I think intro CS courses in Lisp and Haskell (or other less-than-mainstream languages) hurts the uptake of those languages. The students will confuse the difficulty of the material with the language itself. And there's less material out there to support them, compared to the multitude of Q&As for C or Java or C++. And when later courses move them to other languages (C, Java, C++, etc.) things seem easier so the students reject those earlier languages. In some ways those languages may be easier, but the student is also more experienced.

I doubt I would've taken as well to Lisp if it was my first course, versus used in a couple graduate courses.

1 comments

When I did my degree, we had ISO Pascal and C++ (proper C++ not C with classes) on the 2nd year (1st was a common year to all engineering degrees),

Followed by abstract logic, Prolog, Caml Light and Smalltalk on the 3rd.

By the 4 year, you would have used Prolog in a couple of parallel assignments that also required it, Lisp via ELisp, as Emacs was the "IDE" for the Prolog and Caml Light assignments and some TAs liked to spend an hour introduction to not using Emacs like Notepad.

UNIX systems programming, distributed computing, data structures and algorithms would make use of C, that by virtue of having already learned C++, no teacher would spend a second with an introduction to C lectures.

Those of us that took language design and compilers, would still delve into proper Lisp, Cobol, Fortran, Algol, Oberon, and a couple of others even less known. The teacher driving this lectures would switch back to Caml Light for several exercises.

Since I ended up graduating as Java came into the scene, the very last year I ended up doing several projects in Java as well, while taking place in the national championship of logic programming.

If anything what frustrated me was coming into the market place and having to deal with C, while having been exposed how much better the things could be. Thankfully using it alongside Tcl made it not so bad, given Tcl's lispy background.

The problem is not the intro courses, the problem are the teachers and the material been given to the students. It isn't a big deal if there aren't many books available, when there are teaching notes (of book like quality) given by the responsible professor, which one can question at any time unlike most book authors.

For me what made the difference weren't the books, rather the teachers I had the luck to meet during my university travel.