In reply to one sentence in this post.
This has led some people to suggest that learning to program may have similar cognitive benefits to becoming bilingual. I personally find this unlikely however, as the number of commands and lines of code that you use as a programmer are far smaller and most of them sound like English anyway: things like ‘IF’ and ‘THEN’ are pretty straightforward…
Which I disagree with.
When programmer gets a large piece of code in front of him, it doesn’t matter if it sounds like English with ifs and elses. That is because if the programmer would only look at ifs and elses at that level, the program as a whole would make no sense to him.
In reality what happens is that programmer tries to make sense out of why those ifs and elses are there, what they do and how they relate to the overall system.
In smaller pieces of code this is not so obvious, but for anyone whom has ever worked with large unknown code bases, for them it is obvious.
So while the code is written in known language, it is sort of a new dialect. The language doesn’t have to be different either. Perhaps best anologue would be to relocate yourself to some other western country, which is still western as your own, but with its own little differences. You would have to learn all those little differences, but it would still be very familiar. But you wouldn’t be able to operate unless you had learned them.
And a new language would then be a completely different culture like Asian or African culture. Where majority of the old rules might not work.
Also sometimes with unknown code with no comments you are forced to create the structure out of nowhere by taking in more and more code. That process is very similar to learning a language where by gathering more information you are eventually able to understand the structures of the language and communicate with it.
And once you have learned that structure, those previously unknown little things suddenly start to make sense because you have seen them previously and have learned what they do. Or in case of a spoken language: know what their meaning in real world context at any given time would be.
So no, looking at one line at language syntax level isn’t comparable to learning new language, but neither is looking “Achtung achtung” considered learning a foreign language. But reading a book in a foreign language or mastering a piece of large software most certainly come close to.