
On 08/10/2007, at 8:54 PM, Thomas Conway wrote:
I just had a conversation today that seems relevant to this thread. I was chatting with a friend who is working in the academic sector, and I was observing that Melbourne Uni (my old school), is switching in the new year from teaching Haskell as a first language, to teaching Python. I was dismayed, but not surprised.
Anyway, I was talking about this with my friend said that he understood the main reason for the change was that students were not being "switched on" or excited learning Haskell as they used to be learning C. He put it down to the fact that in C, you are more obviously "making the computer do stuff", and that Haskell is sufficiently high level and abstract that beginner programmers don't get that thrill of feeling like you're making the computer work for you.
I must say, I get that! but at the same time, of course, the high level abstraction is exactly what *we* love about Haskell.
Presently, at Melbourne Uni we teach Haskell as a second language after C. In their first year, my class has two and a half semesters of C, followed by half a semester of Haskell. There is a parallel stream, where the split between C and Haskell is 50-50 (the so-called "advanced stream"). My general feeling is that students are responding well to Haskell, and it is a welcome break from segfault-land. However, it is hard for them to evaluate the merits of pure functional programming, when they've seen so little of the alternatives. We get the occasional early convert, but most of the students remain sceptical (and rightly so, I think). Also, first year students spend all their time concentrating on "programming in the small", which means that they don't see _as much_ benefit from the kinds of abstraction that Haskell offers over C. In my opinion, the move to Python is motivated by other concerns, which come about because the undergraduate program is going through a radical change across the whole university. There is a corresponding shift in our first-year demographic, which motivates a change in the focus of the first year program. I'm not so concerned about losing Haskell in the first year (especially to Python). Personally, I would like to see functional/declarative programming gain more prominence later in the curriculum - at the point where students are at a higher level of programming sophistication, and are more likely to appreciate the material. I have spent a reasonable amount of time extolling the virtues of functional programming to first year students over the years. The one thing which seems to get the best response, and makes them sit up and listen, is when I tell them that GHC is maintained largely by people who work at MS research! Cheers, Bernie.