By rogierpeters
via joelonsoftware.com
Published: Aug 02 2006 / 21:21
Joel does functional programming in JavaScript. Every modern language should have this.
By rogierpeters
via joelonsoftware.com
Published: Aug 02 2006 / 21:21
Comments
faux323 replied ago:
i hate to complain about joel on software, but this might be the dumbest jos ever and joel is the one complaining. "does your language do that?" yes. "older languages simply had no way to do this kind of stuff." wrong. "where I complained about CS students who are never taught anything but Java." at what school? good cs schools don't "teach languages" at all. they teach comparative languages. learning languages is a plebeian activity you should do before you ever come to class or get into cs school. "object-oriented programming languages aren't completely convinced that you should be allowed to do anything with functions." only low-brow object-oriented programming languages. decent oo languages have always been functional. functions are objects. inline anonymous functions are objects. filtering and mapping with list comprehensions would probably blow joel's head off if he's so impressed with javascript. for a great many oo programmers, there's never been anything but functional programming. get you some chapter 16 of dive into python, joel, and i'll quit complaining about cs bloggers who just discovered functional programming.
kayess replied ago:
Quite. I couldn't agree more.
Smalltalk always managed to pass code blocks around with merry abandon. It was only the new-age OO languages with compilers that weren't part of the run-time that decided it was too much trouble.
In a way he is right though when he says "object-oriented programming languages aren't completely convinced that you should be allowed to do anything with functions", but that's only because OO languages use dynamic message delivery mechanisms so don't have functions at all.
The objects however do exactly the same thing and as a programmer the difference doesn't matter for recursion or for any sort of coding where you want to pass a code block around.
Voters For This Link (11)
Voters Against This Link (0)