I have been programming since I was a child, and have little difficulty picking up up new programming languages when required. I have also taught myself to read and play music. However, every attempt of mine to learn a non-formal human language has been a non starter.
Admittedly I have never been immersed in a non-English speaking culture, but even so, I hit a mental wall that I cannot seem to get past. They never 'click' into place the way formal languages do for me.