Articles

Bill Gates, programista?

Tydzień lub dwa temu wygłosiłem niezobowiązujący komentarz o tym, że Bill Gates jest raczej oportunistą niż wizjonerem lub programistą. Wywołało to wiele kłótni – w obu kwestiach.

Wizjonerska kontra oportunistyczna strona tego jest całkiem jasna. Wizjonerzy tworzą nowe strategie, kierują publicznym zrozumieniem nowych idei poprzez innowacje i generalnie prowadzą szarżę w nowych kierunkach. Zapis innowacji Microsoftu jest zerowy: prawie wszystko, co zrobili, było oportunistyczne, zarabianie pieniędzy na pomysłach lub produktach innych ludzi.

Podstawowo Bill Gates zrobił więcej pieniędzy dla siebie i swoich akcjonariuszy sprzedając pomysły Steve’a Jobsa do publicznej wiadomości niż Apple, ale łatwo zobaczyć, kto był wizjonerem i kto był oportunistą w tym związku.

Problem programisty jest znacznie trudniejszy do uzyskania prawdy na. Oto kanoniczne „fanbojskie” zdjęcie Billa Gatesa, programisty extraordinaire, z about.com:

Although Bill Gates is known mostly for his founding of Microsoft he also has done a number of programming jobs before becoming the worlds richest man. Pierwsza praca programistyczna Billa Gatesa miała miejsce, gdy zaproponował on dyrektorowi swojej szkoły średniej program do układania planu lekcji, który byłby bardziej wydajny i łatwiejszy w użyciu niż ten, którego dyrektor wcześniej używał. Dyrektor Gatesa nie wiedział, że Bill stworzył ten program dla własnej korzyści… Bill miał być we wszystkich klasach dla ładnych dziewczyn. Drugą pracą Billa była letnia praca przy programowaniu, podczas której zarobił 4200 dolarów. W wieku czternastu lat Bill Gates i jego kumpel programista wpadli na pomysł komputera zliczającego ruch uliczny, który później został nazwany „Traf- o-Data” i zarobił dla nich 20 000 dolarów. Ale kiedy rozeszła się wieść, że komputery były sprzedawane w piwnicy przez parę nastolatków, interes upadł. Gates pracował także jako Page w Kongresie oraz w firmie programistycznej o nazwie „TRW”. Po porzuceniu studiów na Harvardzie Gates stworzył pierwszy podstawowy język operacyjny dla komputera. Chociaż Gates zaprogramował już wiele programów, wciąż jest w tym mocny i programuje w chwili, gdy to piszę.

Więc ile jest w tym prawdy? Część z tego ma podstawy w rzeczywistości: najwyraźniej nauczył się trochę BASIC’a w szkole; to podsumowanie, na przykład, wydaje się mieć poparcie konsensusu:

W 1968 roku w wieku 13 lat jako ósmoklasista podczas nauki w Lakeside School (prywatna ekskluzywna szkoła dla chłopców) uzyskał dostęp do dalekopisu podłączonego przez modem 110 bodów do systemu współdzielenia czasu GE MARK II, który posiadał tylko BASIC (Beginner’s All-Purpose Symbolic Instruction Code). Teletyp łączył w sobie klawiaturę, drukarkę oraz dziurkacz i czytnik taśmy papierowej. Wynajęcie dalekopisu kosztowało 89 dolarów miesięcznie i 8 dolarów za godzinę pracy w sieci (odpowiednio 450 i 40 dolarów w 1998 roku). Gates szybko stał się zapalonym programistą i jednym z głównych użytkowników systemu.

(Uwaga: Możesz doświadczyć tego na własnej skórze – zobacz projekt replikacji GE-235 BASIC prowadzony przez Toma Kurtza).

Paul Allen, dwa lata przed Gatesem w Lakeside, był częścią grupy, którą Gates znalazł skupioną wokół terminala GE, ale jego uwaga, podobnie jak uwaga większości innych osób w tej grupie, skupiała się na sprawach wewnętrznych: nie na używaniu języka BASIC, ale na tym, co sprawiało, że dana rzecz działała, a więc na tym, co jeszcze można było zrobić.

Poza tym okresem, jednakże, obraz staje się mglisty. Wiemy, że Bill Gates sprzedał kilka projektów programistycznych, których kulminacją był jego pitch do Altair w sprawie dostarczenia BASIC dla maszyny MITS, ale nie wiemy z niezależnych źródeł ani kto dostarczył na tych projektach, ani co zostało dostarczone…

Zgodnie z artykułem Andrew Orlowskiego w rejestrze zatytułowanym Could Bill Gates Write Code? odpowiedź w odniesieniu do Altair BASIC jest rozbrzmiewająca „Tak.” Oto fragment tej historii:

Nawet jeśli śledziłeś naszą sagę o Micro-Soft’s 1975 Altair BASIC tutaj i tutaj, – jedno pytanie pozostaje bez odpowiedzi.

Czy był on w ogóle dobry?

Reuben Harris rozmontowywał binarkę z pomocą Monte Davidoffa, trzeciego autora Altair BASIC (obok Gatesa i Paula Allena), z którym przeprowadziliśmy wywiad tutaj w zeszłym tygodniu. Ma on na myśli to samo pytanie:-

„’Could Bill Gates Write Code? Czy był tylko najszczęśliwszym człowiekiem na świecie?”, po czym stwierdza… „Yes He Bloody Could!”

I to powinno być przekonujące, ale nie jest, ponieważ jakość kodu nie jest przedmiotem sporu – i zarówno IBM jak i DEC miały podobne produkty odpowiednio dla swoich linii 5X00 i PDP. Kwestią sporną jest to, kto pierwszy napisał ten kod, a jedynym dowodem na to jest listing, który cudem pojawił się w 1999 roku – jakieś dziesięć lat po tym, jak Bill Gates obiecał go upublicznić.

To źródło, które można zobaczyć, ale nie skopiowane w Harvard’s Pusey Library, najwyraźniej zawiera te komentarze:

00560 PAUL ALLEN NAPISAŁ RZECZY NIE-RUNTIME’OWE.
00580 BILL GATES NAPISAŁ RZECZY RUNTIME’OWE.
00600 MONTE DAVIDOFF WROTE THE MATH PACKAGE

Poza tym, wiemy, że inni ludzie zaangażowani od najwcześniejszych projektów, w tym Allen i Davidoff, wśród wielu innych, wykazali się potrzebnymi umiejętnościami w innych kontekstach – ale Gates nie. W rzeczywistości większość zdjęć z tego okresu pokazuje Allena przy pracy z Gatesem patrzącym na niego, a nawet machina reklamowa Gatesa wycofała się z twierdzeń o jego ekspertyzie programistycznej po 1975 roku i osobistym wkładzie w MS-DOS, odkąd prawda o jego pochodzeniu z QDOS i CP/M stała się powszechnie znana.

Podsumowując, czy Bill Gates był, lub jest, programistą? Najwyraźniej programował w latach młodzieńczych, ale nie wiemy nad czym pracował i podczas gdy Paul Allen napisał zaawansowane symulatory mikroprocesorów, Gates najwyraźniej tego nie zrobił.

Uprawnione jest więc twierdzenie, że zajmował się programowaniem, a więc musi być, lub przynajmniej był, programistą; ale myślę, że pytania powinny być uważane za w dużej mierze bez odpowiedzi, ponieważ mamy wiele roszczeń, ale żadnych niepodważalnych dowodów na jakąkolwiek poważną pracę.

Ale jeśli nigdy nie wiedział wiele o tworzeniu oprogramowania, to jak udało mu się zbudować Microsoft? Myślę, że obraz fanboyów przedstawiający go jako chłopca geniusza zarabiającego na swojej drodze od programisty do miliardera źle oddaje naturę Microsoftu jako firmy programistycznej. Nie jest, jest firmą marketingową i w tym kontekście możemy potraktować podsumowanie Davida Every’ego o tym, jak Microsoft pozyskał sponsorów IBM, jako odnoszące się zarówno do dorobku programistycznego Gatesa widzianego przez fanboyów, jak i jako odpowiedź na pytanie o sukces Microsoftu: