Pining for the Fjords

Dr. Dobb's Journal June, 2005

By Michael Swaine

Michael is editor-at-large for DDJ. He can be contacted at mike@swaine.com.

For some reason, all the topics in this month's column have something to do with death or legacy. Dark. And I haven't even seen Frank Miller's Sin City yet. I talk about an end-of-life language, two ex-Microsofties, a television Terminator, legacy code and coding legacy, and what comes after physics. To lighten things up, I allow some jokes to slip in. Fjordian slips.

It crossed my mind when these irreverent references were slipping into the text that some readers might consider them to be in poor taste. Monty Python jokes, such readers might say, are hardly appropriate in referring to matters of life and death, and none of the above belongs in a column about programming paradigms. And what are programming paradigms, anyway?

My three responses to such readers, if there are any among the Dr. Dobb's readership, are: (1) Good point. I hope you've mentioned your outrage over exploitation of death to Tom DeLay and Jesse Jackson. (2) I'm older than you and closer to death. I have a special dispensation to laugh about the subject. (3) May I suggest that you Google "tasteful humor" and after slogging through the depressing results then tell me that the phrase is not an oxymoron? (4) You're absolutely right. I'm so ashamed.

And now for something completely basic.

VB-not-net: Pushing Up Daisies

It's hard to believe that, nearly 50 years after John Kemeny and Thomas Kurtz democratized programming by creating the truly revolutionary programming language Basic, 30 years after Basic became the first consumer HLL available for a microcomputer (by a company then called "Micro-Soft"), and 29 years after two guys named Dennis Allison and Bob Albrecht decided that a magazine (then called Dr. Dobb's Journal of Tiny Basic Calisthenics and Orthodontia: Running Light without Overbyte) needed to be created to put a free and open version of Basic into the hands of microcomputer users—after all this time, we're still talking about Basic.

Anyway I am.

And I'm not alone. Microsoft is in the process of inflicting a new programming language implementation on its developers and, no doubt in response to a subliminal Gatesian mandate insinuated into the brain of anyone who drinks from the well on the Microsoft Campus, they are calling it Basic. Microsoft always has to have a Basic, like the Winchester widow had to keep adding onto her house, like sharks have to keep swimming, like Frank Miller needs to share his noir. On the day that Microsoft no longer has a product called Basic, Mount St. Helens will rain down ash on the Microsoft Campus to the tops of the cubicle walls and the tectonic plate beneath castle Gates will shift, sending Bill's house floating out Puget Sound to sea on the crest of a tsunami.

But Microsoft is as loose in what it calls Basic as I am in deciding what fits under the heading of programming paradigms. Visual Basic, or VB, is evolving into VB-dot-net, and VB-dot-net is arguably about as close to VB-not-net as VB-not-net is to Kemeny and Kurtz Basic, which is to say not very. And therein lies the rub that galls the kibe of the down-at-the-heels developer. Because Microsoft has informed the approximately six jillion VB-not-net developers that it will no longer support their EOL'd version of VB. Free support ended March 31 of this year; paid support will linger for another three years, or five if the U.S. Congress passes a special law.

But a lot of those developers claim that VB-dot-net is a substantially different development platform, and not one that they necessarily want to migrate all their code to. Thousands of VB-not-net developers petitioned Microsoft not to cut off their life support.

Microsoft's response: The not-net version of VB has passed on. It is no more. It has ceased to be. It's expired and gone to meet its maker. It's a stiff. Bereft of life, it rests in peace. Its metabolic processes are now history. It's kicked the bucket, it's shuffled off this mortal coil, rung down the curtain, and joined the bleedin' choir invisible. It is an ex-language implementation.

Or words to that effect.

Bring Out Your Dead Code

Enter the folks at REALbasic, who give VB's head three perfunctory taps with a golden hammer, wrest away the Fisherman's Ring, and immediately parade their language's palpability before the stunned conclave of VB-not-net developers.

It's too late to take advantage of the deal now, aren't I a big help, but REALbasic offered its cross-platform V-like Basic to VB-not-net developers for a price that is hard to beat—nothing. Hard to top that for chutzpah—using one of Microsoft's own take-no-prisoners competitive tactics against it. The deal was set to end on April 15, though. As of April 1, more than 10,000 VB-not-net developers had taken advantage of it.

REALbasic is not a clone of Visual Basic exactly, and although the RB folks have made it as easy as they can to port VB-not-net programs to RB, it's still a job. One might find it a less onerous job than porting to VB-dot-net, though, because RB is much more philosophically in synch with VB-not-net than the dot-net version is. Which is certainly a strength but also arguably a great weakness. Because the philosophy in question is preobject-oriented, or at least subobject-oriented, a throwback to earlier programming models, like, well, like Basic. It could be argued, and Microsoft argues thus, that if these throwback developers had any gumption at all they'd want to move into the 21st century. Even though I am one of those throwback RB coders, I do get the point.

Maybe it is time to move on—although this old language does have such lovely plumage.

Life After Microsoft

A brief aside on an early Basic and a programmer's legacy: Among the many Basics that have been developed and/or sold by Microsoft, the Visual and the invisible (Excel Basic), the Quick and the dead (MS-BASIC), one of the best known is GW-BASIC. What is not so well known is what or who GW was. There is a fairly widespread belief that GW meant "Gee Whiz." This is not correct. Not does GW stand for "Gates, William." Unless authorities in positions to know are deluded, GW-BASIC honors early (single-digit employee number) Microsoft employee Greg Whitten, who presumably had something to do with its development.

If the name honors Whitten that's a lot more than fellow former-Microsoftie Joel Spolsky does in his essay "Two Stories" (http://www.joelonsoftware.com/articles/ TwoStories.html/. Joel more or less takes credit for the dismantling of Microsoft's Application Architecture group, which he perceived as a bunch of out-of-touch Ph.D.s arguing about how many macros can dance on the head of a pin. The Application Architecture group was headed by Ph.D. Greg Whitten.

I don't know how fair Joel is being, but this is all ancient history. According to Greg Whitten's bio, he "developed Microsoft's common cross-language compiler and runtime technology, the company-wide object-oriented software strategy and the software architecture strategy for the Office, Back Office, and Windows product lines," which sounds pretty impressive to me. But maybe Greg should be judged on the basis of what he's doing now, which is serving as the CEO and chairman of the board of NumeriX. (He also collects and races vintage cars, but it's NumeriX that will allow me to segue into the bit about computer mathematics and Mathematica.)

NumeriX provides software to technical people in financial institutions to help them make buying and selling decisions regarding exotic derivatives. Risk assessment stuff, Monte Carlo methods. The company's client list is impressive, including the World Bank. I'm not qualified to judge the quality of their work: I don't know what an exotic derivative is, couldn't even tell you what a vanilla derivative is (although I do know what a Monte Carlo method is—and no, it doesn't involve fear, surprise, ruthless efficiency, and an almost fanatical devotion to the Pope). I do understand, though, that the company is packed with financial and mathematical PhDs, which is probably a more comfortable environment for Whitten than Microsoft back in the day. Perhaps NumeriX, rather than GW Basic, will define Greg Whitten's legacy.

What Comes After Physics

Every so often I check the web site of the Public Library of Science, a peer-reviewed, open-access journal published by a nonprofit organization committed to making scientific and medical literature a public resource. It's such a fine idea that I want to support it, even though so far most of the articles are on medical or biological topics that are obscure to me. But recently I found an article titled "Mathematics Is Biology's Next Microscope, Only Better; Biology Is Mathematics' Next Physics, Only Better," by Joel E. Cohen of the Laboratory of Populations, Rockefeller and Columbia Universities, based on his keynote address at the NSF-NIH Joint Symposium on Accelerating Mathematical-Biological Linkages (http://biology.plosjournals.org/).

Cohen isn't merely saying that mathematics will be important in making new discoveries in biology. He's saying that the challenges in biology will drive the development of new mathematics. Most intriguing to me is the need in biology to deal with multilevel systems, in which events happening at higher or lower levels can have consequences on the current level. When you deal with cells within organs within people in human communities in physical, chemical, and biotic ecologies, and causality can stretch across all levels in nonlinear ways—well, maybe you should read the article. I know I found it inspiring.

DDJ