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

Coming off conceited doesn't make him wrong regarding CS curriculum. He believes that people should have strong underpinnings in functional programming principles before learning oop. I think fp plays off required math classes pretty well.

Consider function composition which is commonly taught in required pre-calc courses.

f(x) = ......

f(g(x)) = ......

I will submit that first-class functions map more directly to function composition than polymorphism does. In turn, this background helps new developers have a stronger understanding of polymorphism and when to use it.

Whether or not fp principles were ever "proven to produce good software, or any software at all" is besides the point. What's more important is whether or not fp ideas make for better DEVELOPERS. Maybe they do.




Okay, but CS is not programming. After all, programming is not CS.

And by the way, I don't think anybody should first know anything before learning how to program. Programming is like breathing. Do you need to study anything before you breathe? No you don't!

So anybody who argues that you should learn all sorts of not useful things before having the privilege of trying useful things, is a strange person indeed to me.


Programming is not like breathing.


Why?


Does this really need to be said?

One is a semi-automated bodily process necessary for extracting oxygen from the atmosphere, and the other is writing instructions in strictly defined languages to control the resources of computer systems.

Other than a contrived emotional connection you might make between the two, they aren't comparable.


You assume that you live in a physical world but you live in information world for real.

I think you do, and you will increasingly do so as time passes. So, being able to control information flow becomes as important as controlling air flow. Yes, you don't die by being unable to do so for five minutes. You don't live that much either.




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

Search: