Blogger

Delete comment from: Neal Gafter's blog

Anonymous said...

Thanks for your advice, but Perl doesn't have the better half of these features. These are traditional functional language features, Perl is not one.

Now, I didn't request to add them all to Java - at this point that's impossible, and the minimalist culture that has been built around Java would not let it happen. Listing them was supposed to show, how little of the true functional features Java is getting with closures and how little "harm" they can do to it, considering there are prospering languages (much more readable and elegant than the usual Java bloat, BTW) that have ALL these features and more. There are also advances in the OOP world that Java is missing, but that's a different story.

I'm not going to argue about the productivity of these things here, as it is irrelevant, but they are certainly not only good for math or any specific niche - much as closures, other features listed exist to improve productivity and maintenance and reduce the development time in general case. They were previously mostly used by scientists, because scientists, as opposed to your average Java programmer cliche (which I hope is incorrect, in the first place), are not afraid to learn new things. But as the field matures, many of these things become a commodity, which means that if any specific language doesn't have tuples in 2008, then it's either dead or designed for especially dumb people (and soon it will be over: you can't ride on marketing and PHB acceptance all the time).

So: all these things provide a "great benefit to a very large segment of the community", in fact they benefit all of it (unless any significant part of it is comprised of idiots that, given a tool, will do the wrong thing with it). Don't believe me? Here, read this paper from 80's:
http://www.math.chalmers.se/~rjmh/Papers/whyfp.html

The real questions are how compatible certain proposed feature is with existing language features and applications, how to include it without introducing significant pitfalls or gray areas and how hard will it be to transform the Java culture to accept it. And yes - Java culture is something that exists because of the supply, not demand. There was one culture in 2002 and a different culture in 2007 - generics was added, and guess what - suddenly everyone knows and preaches them. While I don't believe this can also happen to lazy evaluation (or else PHBs will cry murder and jump out of the window), everyone seems to be up to the closures hype at the moment, so it should be the right time to introduce the better form of them.

Jan 4, 2008, 5:44:00 AM


Posted to What flavor of closures?

Google apps
Main menu