Feeds

Could Bill Gates write code?

Yes. And then some, Altair BASIC dis-assemblers reckon

  • alert
  • submit to reddit

Beginner's guide to SSL certificates

Even if you've been following our saga of Micro-Soft's 1975 Altair BASIC here and here, - one question remains unanswered.

Was it any good?

Reuben Harris has been disassembling a binary with some help from Monte Davidoff, the third author of Altair BASIC (along with Gates and Paul Allen) and who we interviewed here last week. He has the same question in mind:-

"'Could Bill Gates Write Code?' Or was he merely the luckiest man alive," before concluding... "Yes He Bloody Could!"

Although Reuben's analysis is not quite complete, he tells us that Gates, Allen and Davidoff threw every trick at the book to squeeze the interpreter into 4 kilobytes. They succeeded and left some headroom for the programs themselves - without which it would have been pretty useless, of course.

"It was pretty incredible - they were pretty good at what they were doing," he tells us.

Reuben draws out attention to a particularly Mel-like feat.

" I found a jump instruction that jumped to the middle of another instruction. Why was this extraordinary? Well, on the 8080, instructions were 1, 2, or 3 bytes in size. Since instructions could be more than one byte in length a programmer had to be careful that he didn't jump to, say, the second or third byte of a three-byte instruction; since he'd be executing arbitrary instructions that would almost certainly crash the whole program. What was going on??"

Reuben concludes this was entirely intentional. "Rather than skip over some small bit of conditionally-executed code that we don't want to execute, if that bit of code was small enough (ie one or two bytes) you could simply encode those one or two bytes inside a two or three byte instruction thus saving the three-byte instruction needed to jump over it. The best example of this technique is in BASIC's error message code "

All that... for three bytes.

You can play with Altair BASIC online, if you have a telnet client. It's at the splendid Online Software Museum here and a selection of "mindbendingly dumb" games are included.

Reuben has also pointed out the similarities between the Altair BASIC's error codes and the error codes returned by
modern Microsoft Basics
. Plus ca change.

Of course Monte Davidoff, who worked on two BASICs for Micro-Soft in all, tells us that the better algorithms could be used when the developers had more memory space. And we know from Bill Gates' foreword to Gordon Letwin's Inside OS/2 (Microsoft Press, 1988) that Letwin ripped up the designs for the earlier interpreters when he arrived at Microsoft. But that isn't really the point - the Altair BASIC is rightly feted not for being the most elegant, but for being the first and the smallest. And that's enough. ®

Related Links

Reuben Harris' analysis of Altair 4K BASIC
Play with Altair 4K BASIC at the Online Software Museum
The Story of Mel

Related Stories

Microsoft Altair BASIC legend talks about Linux, CPRM and that very frightening photo
Raiders of the Lost Altair BASIC Source Code

Choosing a cloud hosting partner with confidence

More from The Register

next story
Bada-Bing! Mozilla flips Firefox to YAHOO! for search
Microsoft system will be the default for browser in US until 2020
Be real, Apple: In-app goodie grab games AREN'T FREE – EU
Cupertino stands down after Euro legal threats
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
SLURP! Flick your TONGUE around our LOLLIPOP – Google
Android 5 is coming – IF you're lucky enough to have the right gadget
Microsoft: Your Linux Docker containers are now OURS to command
New tool lets admins wrangle Linux apps from Windows
Facebook, working on Facebook at Work, works on Facebook. At Work
You don't want your cat or drunk pics at the office
Soz, web devs: Google snatches its Wallet off the table
Killing off web service in 3 months... but app-happy bonkers are fine
prev story

Whitepapers

Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Protecting against web application threats using SSL
SSL encryption can protect server‐to‐server communications, client devices, cloud resources, and other endpoints in order to help prevent the risk of data loss and losing customer trust.
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.