Did you know that programmers and programming languages have their own Muppet Chaos Theory?
Like in all of life, you can incline to order or chaos. Specifically, consider the Java tenets that other people shouldn’t ever be able to screw you up, all development must be done in an IDE and you need a four-or-more-level directory hierarchy before you’re allowed to write “Hello, World.” Can you think of anything more Sam the Eagle?
Whereas in Ruby you can change the definition of any operation on any object anywhere, as late in the process as you want. Feel like changing the definition of “plus” fifteen minutes after your server starts? Knock yourself out. It is, let us say, a somewhat more Swedish Chef approach.
In many cases, that explains a lot of culture clash. If you read the Ruby spec and a fair bit of Python docs, you could be forgiven for not seeing a nickel’s worth of difference in the semantics (not syntax) between them. But Python says “there should be one—and preferably only one—obvious way to do it”. Can you say “Order Muppet”? It’s a clash not based on language semantics, but on Muppet Type.
Does that mean if you write in Ruby you’re a Chaos Muppet? Not necessarily, but it’s a good indicator.
Or that if you write in Java that you’re an Order Muppet? I’m afraid so. You’ll need to get used to your place next to Sam the Eagle, Bunsen Honeydew and Bert.
It’s not so bad. Just make sure to find the right Chaos Muppet as a partner and maybe there will be cookies for everyone anyway!