|
|
|
|
|
by woan
5558 days ago
|
|
I think its a good move but it isn't new. I think UC Berkeley moved the first CS class for CS/EECS majors to functional concepts and Scheme in 1989 and MIT even earlier, though the latter abandoned it later. I remember my Berkeley compiler class implementing Scheme and APL subsets atop the gcc backend as well which was again a doubly good learning experience in learning other approaches to programming and their implications. I have yet to see OO design taught well outside it's varying programming constructs well. What is the right level of abstraction for "finding objects" in the words of Bertand Meyer? |
|
Yeah, but those aren't really the same reasons CMU is switching over. Scheme was historically taught because it offers the opportunity to teach computer science, as opposed to merely teaching programming. Most freshman "CS" courses are oriented around the latter.
The shift into Java/Python/$OOP_LANGUAGE was precipitated by the demands of the real world (eg, the job market). CMU is leading the pack in that respect -- it just so happens that FP is a better fit for the type of work their students will need to do, given the growth of multicore and distributed systems.
OOP has its place, but it is far from a panacea. I'm glad to see at least one school isn't hammering that into freshmen anymore.