I've fielded another slew of relevant comments and emails on last week's post on multilingual development, both for and against my stated points. Delving into these waters always makes for brisk responses, and there is vehemence on both sides.
I'm not entirely sure why this is, but it's probably the same basic human impulse that is behind the Chevy truck with a picture of a kid peeing on a Ford logo, or the Ford with the child defiling a Chevy logo. It's also the same reason we no longer have "Calvin and Hobbes," but that's a rant for another day.
[ Also on InfoWorld: Git smart! 20 essential tips for Git and GitHub users| Work smarter, not harder -- download the Developers' Survival Guide from InfoWorld for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
We tend to get very much tied to our "favorite" language, and moving outside those boundaries can be difficult for anyone. We get comfortable in our chosen shells much the same way. Moving from a general Bash shell to Zsh can open up a world of different options and potential reflexes, but it's foreign enough that unless and until we invest the time to learn the intricacies, we get a bit angry at the whole thing and go back to Bash to get stuff done. Not all of us have the time to invest in reworking a few decades of reflexes, no matter how promising the end result.
But moving through different languages is very much a crucial exercise from time to time. As comfortable as we get in any language, shell, or app, we tend to wear out the commands and practices that we use the most, and once we've established a working baseline, we tend not to tread too far from those comfortable spaces.