Hacker News new | past | comments | ask | show | jobs | submit login

I was an undergrad at CMU and Harper broke the curriculum. The Computer Science undergrad curriculum was that one should take Programming Languages (15-212) before taking the course on Compilers (15-312). But, for a couple years they offered 212 in an alternate Java version instead of the usual ML. I wanted to take it in a _practical_ language instead of a horrible useless language, so I took the 212-Java version. Harper refused to accept that as a prereq when he was teaching 312 Compilers. Yes, I'm still bitter (20+ years later), and I still think ML is an annoying useless academic language no undergrad should be subjected to.



I learnt ML as an undergrad. I felt it was an excellent introduction to the key concepts of functional programming (ADTs, partial application, type inference, lazy data structures, pure functions/lack of mutability etc).

Would I use it in production code, indeed have I even touched it since undergrad? No

Have I found the concepts I learnt via it highly valuable? Yes

Writing compilers maps pretty well to ML, especially for simple/toy compilers you might write as an undergrad, so I can see why he might insist upon it, allowing him to start with the concepts already learnt as a base.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: