On Sunday 08 January 2006 12:32 pm, James Edward Gray II wrote:
> On Jan 8, 2006, at 12:14 AM, Gregory Brown wrote:
> > Actually, this is not the issue at hand.  This really *does* boil down
> > to language design in this case.  With Ruby's openness and
> > meta-programming, even well tested programs can be modified and
> > redefined dynamically.
> >
> > This of course, has many benefits, but the bottom line is that Java
> > was built with a security model to prevent things like this, while
> > ruby was built to be open from the ground up to facilitate this.
>
> Sentences like the above always read to me as:  "Java was designed to
> protect the programmer from doing programmer things."  Always sounds
> funny to me.

Hi Edward,

I like being protected from myself. I'm an excellent analyst, designer, and 
yes, coder. But I'm somewhat careless. I make mistakes. That's why I'm glad I 
have a cover on my circular saw. That's why I'm glad my electric stove has 
lights saying which burners are still hot. And that's why I enjoy programming 
in languages like Ruby, Python and Java, that protect me from myself.

I spent 10 years coding in C, and every time I had to track down intermittents 
that usually turned out to be one uninitialized variable, or a picket fence 
condition where I went off the end of the allocated array by one, or forgot 
to free a variable or freed it twice, and that kind of thing.

I know a lot of people who never make mistakes. They can code C all day long 
and never get a segfault. They needn't be protected from themselves. But not 
all excellent programmers are like them.

SteveT

Steve Litt
http://www.troubleshooters.com
slitt / troubleshooters.com