Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Was Bill Gates a good programmer?

By ucblockhead in MLP
Wed May 16, 2001 at 09:23:34 AM EST
Tags: etc (all tags)
/etc

We forget these days that the infamous Microsoft founder and sometime "World's Richest Man" was once a techie, and actually wrote (with the help of Paul Allen) the companies first product. So was he any good at it? Perhaps.


That's the question that this analysis purports to answer. And the answer is that yes, he was...

It was a different sort of programming back then, of course. Men were bold and worked at the raw metal, and a victory was not a spiffy perl script that serves pages faster, it was shaving two bytes off. Ironic, that, a company with a well known solution to increased memory requirements founded on code remarkable for its efficient memory usage.

And a historical note for those who may not remember: This was not only Microsoft's first product, but it was also the first PC software product to be involved in disputes over intellectual property.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Do techies make good CEOs?
o Yes 22%
o No 42%
o Only Inoshiro 35%

Votes: 68
Results | Other Polls

Related Links
o Perhaps
o this analysis
o raw metal
o well known solution
o to be involved in disputes over intellectual property
o Also by ucblockhead


Display: Sort:
Was Bill Gates a good programmer? | 27 comments (25 topical, 2 editorial, 0 hidden)
Your analysis is flawed (1.40 / 22) (#1)
by quilla pandora on Tue May 15, 2001 at 08:52:22 PM EST

To ask any sort of value-laden question, it is necessary to examine the context of the inquiry within a broader world view. When one asks "Was x a good y", it is necessary to first ascertain precisely what sort of things x and y are and how they relate contextually. In this particular example, the claim is being made that William Gates was a good programmer. Obviously, then, we must first determine what type of entities William Gates and programmers are.

It is clear that "William Gates" is a unmodified reference to a particular instance of a human being. That is, William Gates is a contextually generic person. "Programmer", however, refers to a specific inclusive subtype of human beings, distinguished by relevant ability. Since these are clearly disparate types, it is not possible to directly compare the relative quality of William Gates as a programmer. Instead, it is necessary to find a value intersection of the two types at which a comparison is meaningful.

A generic individual person can only be assigned meaningfully value judgment on the basis of moral worth. Thus, it is necessary to try to apply the concept of moral worth to the subtype of "programmer" if a meaningful assignment is to be made. Fortunately, such an application is trivial, as principles of cooperation, sharing and good-will can be applied to any human endeavor, including programming. The obvious example of programming that aligns to such principles is found within the GNU project and the Open Source Software Foundation.

Thus, evaluating William Gates as a programmer becomes a simple matter of determining his stance towards GNU and OSS. Since William Gates has in fact rejected both of the aforementioned examples, he cannot in any meaningful sense be said to be a good programmer.

-- quilla pandora

Troll or moron? (2.00 / 4) (#5)
by Woundweavr on Tue May 15, 2001 at 09:16:00 PM EST

Either you're a troll or a moron. If you're a troll its not a particularly good take on those obsessed with the philosopher flamer or OSS zealot.

If you're not a troll, that was just the most anal and silly analysis of a question I've ever seen. Good doesn't necessarily mean morally good. It can mean skillful. Moral doesn't necessarily mean OSS or GNU.

If you're gonna troll, at least do it well.

[ Parent ]

RE: Troll or moron? (1.00 / 1) (#24)
by spamsponge on Wed May 16, 2001 at 03:04:02 PM EST

If he's a troll, he was good enough to get you to reply, so who is really the moron?

[ Parent ]
Actually (2.33 / 3) (#3)
by John Milton on Tue May 15, 2001 at 09:00:55 PM EST

I seem to remember that Bill Gates paid someone else to do it. Anyone care to verify that?


"When we consider that woman are treated as property, it is degrading to women that we should Treat our children as property to be disposed of as we see fit." -Elizabeth Cady Stanton


DOS (4.00 / 1) (#10)
by ucblockhead on Tue May 15, 2001 at 10:06:22 PM EST

I suspect that you are thinking of MS-DOS, which was built on top of something called QD-DOS ("Quick and Dirty DOS"), which they did, indeed, buy.
-----------------------
This is k5. We're all tools - duxup
[ Parent ]
No (none / 0) (#27)
by John Milton on Fri May 18, 2001 at 05:21:47 AM EST

I was thinking of BASIC...I think.

"When we consider that woman are treated as property, it is degrading to women that we should Treat our children as property to be disposed of as we see fit." -Elizabeth Cady Stanton


[ Parent ]
Who programmed it? (2.00 / 2) (#4)
by Woundweavr on Tue May 15, 2001 at 09:10:56 PM EST

Just because it was Microsoft program doesn't mean that Bill Gates programmed it. The way I've always heard it went, Gates was primarily funding at this point. He wasn't clueless, but the hardcore programming was Paul Allen's area. IIRC while Allen programmed the BASIC compiler, Gates was partying at Harvard, networking and providing money from his father's fortune for the company. Allen is reportedly a talented programmer, and so I find it much more likely that he handled the more impressive portions of the code. It could have been Gates, but I don't see that really stated.

Gates was a damn good businessman and lucky. Doesn't mean that he was a good programmer.

Credit (4.00 / 1) (#14)
by ucblockhead on Tue May 15, 2001 at 10:25:36 PM EST

Usually Gates is credited with most of the coding. Here's an interview and here's an excerpt:

It was a reasonably simple instruction set. Paul was very good with the PDP-10 Assembler. I, in the meantime, laid out the design and charged off coding the BASIC. Paul later came in and helped out with that. A third person, Monte Davidoff, sat down for lunch with us and said he knew floating point packages. So, we had him write some of the math routines. And then we just kept squeezing it. So, we wrote without ever seeing this machine[pats the Altair], except in this picture, and the simulator and got the BASIC running.

Here's another interesting excerpt:

So, when I moved from Albuquerque in the very, very beginning of 1979, there were the sixteen people. Then, about a year after that, I hired a friend of mine from college, Steve Ballmer, who is very good at hiring people. He could see that we had more projects that we wanted to do than we could. He was able to almost double the size of the company and people every year for the next five years. So, it really started to change in character where I had written the high percentage of the code myself until we got to Seattle, and reviewed everything that people were doing to the point where we were setting up a lot of autonomous teams, and having to do a lot more in terms of what was our methodology, and how did we interview people. Just to stay up with all the projects we were going after.

Now I suppose the man could be lying, but Paul Allen has said much the same. But just because the man is a conniving, scummy monopolist doesn't mean that he couldn't code at one time.
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

Met with Gates (3.33 / 6) (#6)
by www.sorehands.com on Tue May 15, 2001 at 09:28:46 PM EST

I met him at the Microsoft C 6.0 rollout in Boston (1989).

His favorite language is basic -- this tells you something.

He does not know the difference between large model and huge model. He claimed that huge model was introduced in C 6.0, but it was in C 4.0. I was listening to him explaining things to someone; the blind leading the blind.



------------------------------------------------------------------------------
http://www.barbieslapp.com
Mattel, SLAPP terrorists intent on destroying free speech.
-----------------------------------------------------------

Managers (none / 0) (#9)
by ucblockhead on Tue May 15, 2001 at 10:05:22 PM EST

I've found that some of the most dangerous managers to work for are those who used to program, twenty years ago, but haven't since. They tend to have an overinflated view of how easy things were and no concept of how things have changed. Much better to work for someone who knows little technically.

Large model...huge model...god that brings back memories...
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

not always (none / 0) (#16)
by www.sorehands.com on Tue May 15, 2001 at 10:41:40 PM EST

I had a manager who bragged about his clipper programming being so good. But, he would get me what I need and keep out of my way of doing work.

I once had a couple of manager who could program and I would have them look at my code when I was stuck. I loved it.


------------------------------------------------------------------------------
http://www.barbieslapp.com
Mattel, SLAPP terrorists intent on destroying free speech.
-----------------------------------------------------------
[ Parent ]

Time (none / 0) (#17)
by ucblockhead on Tue May 15, 2001 at 10:53:59 PM EST

The important thing is whether or not they are current coders, or just coded some time years ago in some other language.

My current manager is a coder, and it is great. But the worst manager I ever had was this guy who was sure whatever I did in C was easy because he dimly remembered doing something similar, way back when, in BASIC.
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

How long did it take them? (5.00 / 1) (#7)
by cezarg on Tue May 15, 2001 at 09:56:17 PM EST

I don't think there is any doubt that BillG coded a fair chunk of that stuff. I remember that one other developer (Paul Allen?) was quoted saying that Bill was involved in the majority of the programming work. I think he even was the key developer on the project. The question is how long did it take them? If it took them more than eight to ten months then it's quite mediocre. Lot's of games companies accomplished much more with just as little memory in those days. If however they did it in less than six months I'm genuinely impressed.

Wanna be really impressed? (5.00 / 1) (#11)
by ucblockhead on Tue May 15, 2001 at 10:16:03 PM EST

Apparently they wrote it without an Altair, and it worked the first time it was tried.

(They developed it on an emulator they wrote.)
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

That settles it then.. (none / 0) (#12)
by cezarg on Tue May 15, 2001 at 10:20:54 PM EST

Well that being the case I'd say they are darn good hackers. No point in any further discussion :)

[ Parent ]
Uhm, not quite (4.50 / 2) (#18)
by Anonymous 242 on Tue May 15, 2001 at 11:36:10 PM EST

If memory serves me correctly, according to James Wallace and Jim Erickson's Hard Drive: Bill Gates and the Making of the Microsoft Empire, Microsoft BASIC certainly did not work the first time it ran. Rather, whoever was doing the demonstration to sell the idea to Altair did manage to make it look like it worked.

I realize that this contention seems to stereotypically Microsoftesque to be true. That said, my memory can be checked against reality by anyone that wants to page through Hard Drive. Of course, the other thing that likely ought to be said is that under no uncertain terms can Hard Drive be considered to be unbiased. That said, James Wallace and Jim Erickson certainly did their homework while researching their book. It has all the classics: the saga of how Quick and Dirty Operating System became MS DOS; how IBM ended up choosing MS DOS over CP/M; Microsoft's transition from New Mexico to Washington; FYIV tee shirts on the Microsoft campus; the crucifiction of that little pen computing company I can't remember the name of.

[ Parent ]

Once again... (none / 0) (#13)
by ramses0 on Tue May 15, 2001 at 10:24:09 PM EST

Hear (I mean, see) Mr. Gates talk about his experiences in the early days, before MS became M$.

My take on reading the above link is that he was pretty good at design, not that great at implementation, but it's clear that he has(d) skillz.

--Robert
[ rate all comments , for great ju

Trying to remember (2.83 / 6) (#15)
by weirdling on Tue May 15, 2001 at 10:41:34 PM EST

Ok, since most of the proof as to who wrote this thing is from Gates himself, a confirmed ego-maniac, and known to exaggerate both his accomplishments and his capabilities.
Now for how I remember it, which is mostly apocryphal. I remember that the basic interpreter was based on another interpreter written by someone else. The story goes that the previous coder naiively left without a copyright.
I also remember that the Basic they wrote never ran on stock machines, requiring a memory-upgrade card. There were literally hundreds of systems by then that did have usable forms of Basic that ran well on that much memory or even less, as anyone who remembers the Timex Sinclaire 1000 can testify.
As far as I'm concerned, Gates has never been on the forefront of anything except memory use; witness Windows ME. His company has never actually done a single thing that wasn't already done, except redefine the term 'innovate', which used to mean 'do something in a different way', but now means 'make just good enough to drive competitors out of business'.
I could go on for hours, but I guess I've already demonstrated how much I dislike Gates...

I'm not doing this again; last time no one believed it.
bill's your uncle (none / 0) (#19)
by eLuddite on Wed May 16, 2001 at 12:03:05 AM EST

I remember reading in Byte, long ago, that Bill would trounce the programming staff in impromptu coding competitions held at Microsoft in the period before they became profitzilla.

---
God hates human rights.

Revisionist history of Bill (5.00 / 2) (#20)
by slaytanic killer on Wed May 16, 2001 at 08:13:04 AM EST

I have no idea if Bill's skillz were better than any intelligent and passionate coder, but here's an interesting link from Cringely.

Re; The poll (4.00 / 2) (#21)
by starbreeze on Wed May 16, 2001 at 09:15:35 AM EST

I voted "yes" to the poll... but it is a broad generalization. There are techies who wish to remain techies and could never be their own boss. And there are techies who could excel at management, especially with their tech skills.

Our CEO was a CS major and she fucking rocks. Shes smart, has realistic ideas about our software projects, but also has good business skills. She was wise enough to structure our company as a "flat organization". I've raved about this before, because this is the first company I've worked for like this and it's amazing. IT gets the final say on stuff, but usually the CEO approves it anywayz because she actually understands whats going on, and she knows what it's like to be a techie.

The one major difference between her and Gates, is his ego. Our CEO does not have an ego at all, which is what makes her so great. I think if Bill would realize that money isn't everything, and maybe think back to the basics, we would all be a lot better off.

~~~~~~~~~
"There's something strangely musical about noise." ~Trent Reznor

Simple answer (4.40 / 5) (#22)
by jd on Wed May 16, 2001 at 09:53:47 AM EST

Having used DOS 2.0 through to DOS 6.11, Windows 2.0 through to Windows 2000, Flight Simulator 2.0 through to Flight Simulator 5.0, I have this to say:

Bill Gates could come up with interesting, but trivial, hacks. And don't believe that tight code was ever a Microsoft solution:

  • MS Flight Sim used extra-large sectors, gaining 0.5K/track, through having fewer inter-sector gaps, and better usage of the space. This allowed a good flight sim. Not through decent code, but through affordable bloat and enough spare capacity to fit in some scenery.
  • All versions of DOS placed use-once code at the end. This was then simply overwritten, by the shell, when it loaded. Thus, boostrap code, etc, took effectively no space.
  • ALL DOS formats had multiple copies of the FAT. (Indeed, you could set the number, in the MBR.) However, no DOS program ever made use of the spare FAT, rendering it useless. (If you're still using FAT-based disks, set the number to 1. You'll gain a fair chunk of disk space. Don't do this on disks with data, though, as it'll shift where it thinks the root directory is.)
  • Early versions of DOS supported both the / and \ seperator. You could switch between them, by setting an environment variable. This extra bit of code was obliterated, without mercy, by later DOS coders, who saw absolutely no point in this. Have a convention, and use it!
  • No speed or size upgrades ever existed for the 80186 or 80286.
  • No floating-point code was ever developed for the IIT 80x87, despite its ability to handle arrays of floating-point numbers. This could have absolutely flattened the scientific market, and grabbed control away from a largely Unix-based world.
  • Although the 286 had a "load all registers" instruction -- the ultimate in coder's toys! -- Microsoft never used it. Which seems stupid, as it would have made task-switching in Windows a doddle. (Hardware multi-tasking, in Windows 3.0 would have pulverized the competition by quality, rather than brutality.)
  • The last track of any hard drive was unused by DOS. System diagnostics software exploited this to test disk read/writes, on a known "safe" area. However, it also meant that, if your disk was fine, you were loosing capacity for no better reason than a formatter bug.
  • DOS 2.0, onwards, distinguished the root directory from every other. The root directory was fixed-sized, and handled differently from any other. This will have added code. Quite senselessly. If all directories were handled the -SAME- way, with the root directory merely starting at a known place, the routines in DOS.SYS could have been much shorter. No special cases.

In short, I see NOTHING to show that Bill Gates has ever written or designed a decent piece of software in his life. The hacks are cheap, and I've seen better from 12 year olds.

Re: Simple Answer (4.00 / 1) (#23)
by srw on Wed May 16, 2001 at 03:03:29 PM EST

> MS Flight Sim used extra-large sectors, gaining 0.5K/track, through having fewer inter-sector gaps,
> and better usage of the space. This allowed a good flight sim. Not through decent code, but through
> affordable bloat and enough spare capacity to fit in some scenery.

Microsoft didn't program MS Flight Sim until V6.0. It was programmed by Bruce Artwick Organization and MS stuck their logo on it and marketted it. BAO was bought by MS somewhere between FS5.1 and 95 (6.0)

IIRC, BAO may have stolen FS from Sub-logic, but those memories are really fuzzy. In any case, it wasn't a true MS product until FS95.

Still, I agree with most of the above post. Those types of programming tricks were commonplace in the 70s and 80s, not an indication of any sort of genius.

[ Parent ]
Slightly offtopic, but... (none / 0) (#25)
by teferi on Thu May 17, 2001 at 08:16:48 AM EST

I was once (blessed? cursed?) with the opportunity to look at the MS-DOS 6.0 source code.
There was a comment at the head of fdisk.asm which ran something like this, if memory serves correctly:
"Wrote this while learning x86 ASM. Not recommended for use"


No... he wasn't (5.00 / 1) (#26)
by stardot8 on Thu May 17, 2001 at 10:36:37 AM EST

In DOS 1.0 (the one that came with the original IBM PC) came with several BASICA demonstrations. One of them was a "racing game" where the object was to switch between two lanes, dodging donkeys. At the top of the source code, it reads "Written by Bill Gates".

Was Bill Gates a good programmer? | 27 comments (25 topical, 2 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!