|For novel ideas about building embedded systems (both hardware and firmware), join the 40,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.|
SLOTH - The Programming Language
Googleplex, CA, June 6, 2014. In a cavernous hanger at Moffett Field, Larry Page today addressed a screaming pair of developers at Google's (GOOGL) World-Wide Developers' Conference. "We have many new products I want to announce today," he started off, "but first I want to talk about those idiots in Cupertino. It's Ipod this, Iphone that. What, didn't them geeks learn any English? So today we're introducing the MyPod and MyPhone. That Gulfstream 5 over there in the corner is MyPlane, and don't you forget it."
Both developers swooned while texting each other and updating their MyGoogle+ pages, their MyGlasses forming a markedly-effective remedy to procreation.
"As you know, our motto is Do No Evil, which we've demonstrated by pursuing world domination, passing the details of your really weird and disgusting search queries to any cop with a flash drive, and relocating our headquarters to the tiny island of Aunu'u to evade taxes while lobbying for millions of H1-B visas to protect our bloated bottom line.
"Today." A pause. The crowd, tiny but eager, faces anticipating a world-changing announcement, stopped breathing. "Today, I'm introducing SLOTH, the world's slowest computer language."
Two puzzled murmurs echoed in the hanger.
"We've discovered that our minions, uh, users, aren't really doing much. MyChrome spends 99.999999% of the time executing a little event handler in cache just waiting for our vassals to hit a button on the keyboard. It's the same if they're using MyDocs, MyMail or pretty much any other MyApplication. The CPU is just tapping its toes, executing three or four billion instructions per second to deal with some barely sentient serf hunting and pecking like he had never seen a keyboard before. Besides, pretty much all of our subjects are mostly updating their FaceBook pages while pretending to work. How much computer power is needed for that?
This reporter later learned that SLOTH programs sequence through every processor instruction, and checksum all of memory between each statement to insure even heating of the ICs. Compilation units are individual statements - one statement per file. By default the compiler #includes the entire source of MyAndroid with each compilation unit, though random jumps are inserted between lines to confound the processor's branch prediction. All integer calculations are promoted to quadruple-precision floating point which is interpreted rather than translated to machine code. Complete copies of Moby Dick in UTF-128 are inserted between statements to eliminate short branches and thrash the cache.
Mr. Page went on: "But now there is a very great Evil, yea a veritable Mordor that will unleash trials and tribulations unto the seventh generation, that is, assuming you two ever manage to find girlfriends. For Sauron, in his current Tim Cook incarnation, has cursed the world with a new language that is so easy to use, that is so completely and sinfully graphical, that anyone will be able to write a killer app. Next thing you know those lousy theater majors will be able to find work in our formerly exclusive software world. We techies, who elevated ourselves to the high priests of the modern era, will have to learn the social graces to find work. I was just informed that we'll be expected to chew with our mouths closed!"
Pandemonium. One attendee shouted "No, no!" The other started sobbing. "My mother warned me I'd have to take showers someday," he sniffed.
A handler leaped to the stage: "Our Sacred Leader feels your pain. Let him continue!"
Mr. Page said: "SLOTH is specifically designed to be unintelligible to pretty much everyone. Not only is it slow, the syntax is more cryptic than APL's, uses more parenthesis than LISP, and completely avoids all symbols between `A' and `Z', except for `I'. All variable names are combinations of `I's."
The handler looked shocked and whispered in Mr. Page's ear. Mortified-looking, he added "Of course, by that I also mean no characters between 0x61 and 0x7a with the exception of 0x69."
"The curse wrought by Java has been eliminated in SLOTH. All operations are pointers, and there are a minimum of three levels of indirection required for any statement to compile."
Snickers. "That'll show them poly-sci majors!" the shorter attendee yelled.
"Another upside is that so much computer power will be needed to run a SLOTH program than our chattels, who have been completely taken in by the IoT marketing claptrap, will be unable to move from in front of the MyGoogle screen due to the weight of their wearables."
Delirious now, the crowd wept with joy as Mr. Page was hustled to his G-5, which taxied onto the 101 for takeoff. The police, clutching their flash drives, directed traffic onto La Avenida St., conveniently shutting down Microsoft's Mountain View campus.
In other news, rumors persist that Microsoft will introduce an even slower language called "C-flat-minor" next week.
Published June 4, 2014