From: Peter Wright Date: 2006-01-12T21:08:09+09:00 Subject: Re: Ideas on "Why Living Dangerous can be A Good Thing" in Ruby? Gregory Brown wrote: > On 1/8/06, James Britt wrote: > > > 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. > > > > Prevent what? One can build twisty, loopy, self-modifying code in > > Java, too. It's just painful; maybe that's part of The Plan. > Though that's funny, I really think it was part of the plan for > Java. They made no attempt to make doing it convenient or useful > (though that can be said for a lot of Java things), which is part of > the way they can discourage developers from being 'wild and crazy' ....which is all part of the appealing-to-management[0] concept of programmers as being generic-and-replaceable cogs in the project development wheel. If programmers have too much (ie. any) ability to be "wild and crazy" (== creative), that could be considered as dangerous to project "integrity". Of course, the sad thing is that there's some truth in that. And much like knowledge, a little truth (especially when taken out of context) is a dangerous thing. :) > > There is no inherent security from code that is too clever for its > > own good. > That's true. We are really addressing the illusion of security. Or > at least a superficial level of security. I think a lot of people > are just scared by how damn convenient and common such practices are > in Ruby, even if their language is capable of doing similar things. I think it's part of the old no-such-thing-as-a-free-lunch notion. Some people (and they're not necessarily stupid people) have trouble with a concept like "Ruby is just a better and more powerful language than Java". They presume that there _has_ to be a cost for that extra power. And the idea that you pay for extra power by losing "safety" (whatever "safety" means in this context) is a seductive one, because it has so many physical-world parallels. Though it's dreadfully simplistic at best (and just plain wrong at worst). So... just about any management will read "increasing power" as "losing safety" which translates to "increasing _risk_" and INCREASING RISK IS BAD so no Ruby/Python/Smalltalk/Lisp for you, heathen. Get back to being an indistinguishable cog in the low-risk, industry-best-practice[1] Java machine! Ahem. Not that I'm venting or anything. :) Pete. [0] I know, I know. Not _all_ managment. But definitely some. [1] Where industry-best-practice => what-everyone-else-is-doing => if-everyone-else-is-doing-it-I-can't-be-blamed-if-it-fails-, because-I-didn't-choose,-the-_industry_-did. :) -- http://flooble.net/blog "Remember, SCSI is not black magic. There are fundamental technical reasons why it is necessary to sacrifice a goat at midnight in order to get a SCSI device working properly." -- Arnoud Engelfriet