For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
On Language Again
I served eight years of primary school education under the Catholic nuns, and four years of high school under the Jesuits. The nuns taught us to obey, and the Jesuits to think.
I'll present my Better Firmware Faster seminar in Melbourne, Australia February 20. All are invited. More info here.
So now I'm a bit of a language snob, and get irritated when seemingly intelligent people massacre English, the only language I know well. The one woodworking web site I follow, Sawmill Creek, is full of postings that confuse your and you're, its and it's, and there, their and they're. That seems to be common all over the Internet.
Perhaps it's unreasonable to expect quick postings to meticulously follow every precept of grammar. One of the web's game-changers is how it connects people. Individuals spread over the entire globe can form instant friendships. No one would hold a casual telephone conversation to a high level of discourse, and it's just as unreasonable to expect the same from Internet board postings. (Conversely, the web is forever; today's rant feeds tomorrow's resume).
But I certainly expect more from professional discourse. Ads, for instance, advertise both a product and the company's professionalism. So when I came across the following in Lufthansa's magazine, well, I couldn't decide whether to laugh or get angry:
The message I get from this: We're idiots. And we're happy to teach you to be idiots.
The irony, of course, is that RosettaStone alleges to teach language. The double irony is that the sentence is perfectly constructed - had it been used in verbal dialog. In written form the company appears incompetent.
In the olden days before word processors and spelling checkers people learned to read copy carefully, even reading the entire ad backwards to prevent one's brain from slipping over obvious mistakes. None of us do that anymore, thankfully. But just as it's foolish to believe any answer that pops up in a spreadsheet or on a calculator, we really must use other tools, like the old noggin, to supplement spelling and grammar checkers.
What does this have to do with embedded systems? Everything! Our comments and documentation must be proper English, assuming that's the language we're using. Comments are as important as the code. The code tells the computer what to do; the comments tell a future maintainer what your intent was. I reverse engineer a lot of code, and it's really hard to convert one person's "obvious" intentions encoded into C into something that makes sense. Write obtuse comments and you'll at best annoy the maintainer, and at worse baffle him.
The real irony, is that our tools don't even pretend to help us get the English right in our comments. The entire world expects Word to correct misspellings and underline poor grammar. But programmers are still stuck with illiterate 70s'-era text editors.