[PRL] Code's Worst Enemy

Matthias Felleisen matthias at ccs.neu.edu
Thu Dec 20 11:18:30 EST 2007


http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html

I read most of it and I even scanned the comments.

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.  
I am not sure that exposing our students to such opinions -- just  
because they support our own judgments -- is effective. Those who  
have no experience don't understand. Those who have think they have  
an opinion that's equally valid. That's what high school teaches  
these days (all opinions are equal, except some (and you can guess  
what I am referring to here)).

I am ccing Dan because he used to say that no project should grow to  
more than N lines. We should use HO functions and macros and modules  
and what have you to reduce the size. He's just as correct as Steve,  
but we haven't found that silver bullet yet.

I believe that macros are one source of undiscovered power, but if  
you accept macros and reasoning about programs, then we're not there  
yet. If you need evidence, reasoning about naive macros (at the  
source fails, fails, fails: see ACL2). We definitely need tools and  
mechanisms for integrating these things better into a real language.  
Ryan's thesis and dissertation with getting the specification right  
and evaluating at the level of a specification are just one step in  
this direction. Even if we do get this right, however, we are still  
far away from proof. We must take existing projects and reduce them w/ 
o loss of functionality and 'reasonablness.'

So yes, Steve's rant reminds us one more time that we as teachers and  
researchers are called on solving this 'size' problem.

-- Matthias





More information about the PRL mailing list