[PRL] Code's Worst Enemy

Riccardo Pucella riccardo at ccs.neu.edu
Sat Dec 22 23:19:11 EST 2007


----- "Matthias Felleisen" <matthias at ccs.neu.edu> wrote:
> http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html
> 
> I read most of it and I even scanned the comments.

As usual, the comments were the most interesting bits.


> 
> The kid has his heart at the right place with his rant against the  
> Eclipse/Java monoculture and its high priests.
> Unfortunately, it isn't more than a rant, a single piece of evidence 
> that something is wrong. It is an opinion and it is explicitly  
> written that way and doesn't even include much in terms of evidence. 

It is worth deconstructing the rant, though.

It attacks Java and the corresponding monoculture, but for the wrong reasons, I think.

The fact that Java contributes to code bloat because of lacking abstraction facilities is of 
course a big part of the problem with code size in Java, and that is something that we now how to deal with better with our languages. 

But the message I got was that any project that starts small and grows over the course of ten years to hundreds of thousand lines of code will almost inevitably be a mess, irrespectively of the language. (I don't buy the "it's harder to reach hundreds of thousands lines of code in ruby-or-name-your-fave-language.) You have to design for such sizes, and factoring out in libraries and separate modules is key. That Java has no module system comes to bite you here. Don't talk to me about packages...

Heck, SML/NJ was such a project, and its code was a mess when I came to it. It improved somewhat when the Yale folks factored out the FLINT intermediate representation, reducing the interface to something manageable, but it took major refactoring effort at that point.

 Cheers,
 R




More information about the PRL mailing list