Gregory B. [email protected] wrote:
On 1/8/06, James B. [email protected] 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. 