Routines that are too long and ought to be refactored into smaller ones are akin to run-on sentences. Leaving out semicolons in your JavaScript is like speaking French in an Italian accent because you already know Italian and French people seem to more or less understand it. And people who refuse to follow prevailing code style guidelines? Those are your "Everyone there speaks English anyway" folks.
Such poor communication skills would be humiliating when trying to communicate in a foreign language, but for some reason people often wear them like a badge of honour when trying to communicate in a programming language.
I'm not sure that's true at all. When I learn a foreign language, my aim is to be able to communicate. The extra effort required to be perfect far outweighs what I need from it. The native speakers I talk to are quite capable of taking my bad grammar and understand my meaning. Wanting to sound like an intelligent native speaker isn't just at the bottom of my list of needs; it's not even on the list.
When learning a programming language, I have no choice; I must have perfect grammar.
"Such poor communication skills would be humiliating when trying to communicate in a foreign language"
Not at all, in my experience. Simply having some simple grasp of the local language is met with delight; just having made the effort goes a long way, even if the locals themselves prefer to speak with me in English.
Having pretty much zero French myself this was often non-trivial for me :-)
(Fascinating hardware though. This was pre-digital interactive television. Ran on four separate analog signals with the set-top box switching between them based on the code and what the user did. Ran on the Videotron cable network in the UK for a while before they were swallowed up into CWC. If any UK Videotron viewers remember things like "Gone to the Dogs" I worked on those :-)
She also thinks that my ability to learn languages has been maintained strong by the fact I learnt a new programming language every year.
Also, the fact that bilingual kids are able to retain for a longer time the ability to learn languages made her think that as a kid I could be considered as bilingual.
I had the chance to confirm this looking at a colleague of mine who started to code as a kid too. Looks like we have some common abilities in language learning.
But the only truely universal language for programming has to be bainfuck :).
What is striking to me is that hackers have long made statements that learning different programming language paradigms makes us better hackers. While we can make anecdotal arguments that being a good functional and a good imperative programmer makes us better hackers in general, the above research is exploring the idea that multi-language proficiency has positive cognitive effects that cross domains.
[1] Carlson S. M. & Meltzoff A. N. (2008). Bilingual experience and executive functioning in young children. Developmental Science, 11, 282–298. Availabe at http://ilabs.washington.edu/meltzoff/pdf/08Carlson_Meltzoff_...
http://www.wall.org/~larry/natural.html
This document is quite old and I disagree with some of those things now (in particular Perl's "more than one way to do [say] it" lead to a lack of enforced standard idioms; compare python). But other points eg "acceptable levels of competence" are valuable for the humble programmer to keep in mind.
Similarly, I like the idea of a programming "accent": the effects of previous programming languages on your current language. For example a (ahem) rubyist that starts to write in python might reach for map() when they perhaps ought to use list comprehensions. A speaker with a heavy accent can still however make themselves usefully understood.