Languages as reaction
It’s interesting that I find many languages (and especially frameworks) are formulated as a reaction to the pervasive development style at the time.
Java + Configuration => Ruby + Convention
Static Types => Dynamic Types => (and back to) Static Types
OO => Functional
Many reactions are valid, but that does not make them absolute truth. After a hearty Polish meal I am likely to enjoy something spicier the following day. That does not make it the case that Thai food is unequivocally the best (although Thai is awesome, may lose my case here).
Each language brings something to the table. Work with any language for long enough and you’ll know exactly why you hate it. It’s not particularly helpful in the interest of solving problems to argue about the method to no end.
It’s not that I have no opinions. I can articulate great ideas in certain languages that rate those languages higher for me. I’ve also seen great products built with what I consider to be ‘problematic’ frameworks or languages. The biggest problems are collaborative & communication issues. Once you solve that, the application practically writes itself.
