Next, the problem repeated itself when the Aer Lingus flight attendent asked my brother a question. He also found it nearly impossible to decipher her Irish brogue. He found situation comedic when the Irish flight attendent and the two Scottish passengers couldn't communicate effectively with each other either. All English speakers, but communication was nigh impossible.
A friend of mine sent me a link to this Slashdot review of Scott Meyers' new third edition of effective C++. The following except left me recalling the Aer Lingus story:
"This is where the book's background starts to shine. Item 1 is "View C++ as a federation of languages." Meyers does a clear and cogent job of decoding broad swathes of C++, explaining C++ as a multi-paradigm tool, and placing language features in different paradigms. Change paradigms and the guideline for what makes for effective C++ changes..."
Maybe it's a bad sign when Item 1 in an authoritative reference suggests viewing a programming language as a "federation of languages." This a complaint I have with C++. It seems to be horribly conducive to the software equivalent of the Aer Lingus affair. That is, different speakers all speaking the same language yet unable to communicate, a potentially serious problem on large projects with a large number of software engineers. The flexibility of C++ is often praised as a power, but just as often I think it can be a weakness.