Bils Geitss Pirmkods
Kā viss sākās
No angļu valodas tulkojusi Aiga Veckalne
Source Code
Copyright © 2025 by Bill Gates
All rights reserved including the right of reproduction in whole or in part in any form. No part of this book may be used or reproduced in any manner for the purpose of training artificial intelligence technologies or systems. This work is reserved from text and data mining (Article 4(3) Directive (EU) 2019/790).
This edition published by arrangement with Alfred A. Knopf, an imprint of the Knopf Doubleday Group, a division of Penguin Random House LLC
Cover photograph © Wallace Ackerman Photography Cover design by John Gall
Cover font: Modern Typewriter by Lukas Krakora, typewriterfonts.net
© Tulkojums latviešu valodā, Aiga Veckalne, 2025
© Izdevums latviešu valodā, Izdevniecība Helios OÜ, 2026
Literārā redaktore Ieva Heimane
Korektore Eva Škenderska
© Maketētājs Jāks Rītels
Iespiests Print Best
ISBN 978-9934-639-29-6
www.izdevniecibahelios.lv
Veltījums maniem vecākiem
Bilam Geitsam (Bill Gates) un
Mērijai Maksvelai Geitsai (Mary Maxwell Gates)
Un manām māsām
Kristijai (Kristi) un Libijai (Libby)
“Īstā balva ir prieks par atklājuma brīdi.”
Ričards Fainmens1 (Richard Feynman)
1 Amerikāņu fiziķa, kvantu elektrodinamikas speciālista un viena no atombumbas radītājiem Ričarda Fainmena citāts no krājuma The Pleasure of Finding Things Out (“Atklājumu prieks”). (Šeit un turpmāk – tulkotājas piezīmes.)
Satura rādītājs
Priekšvārds 11
1. Trejs 19
2. Vjūridža 41
3. Racionāli 58
4. Laimīgais puika 76
5. Leiksaidas skola 97
6. Brīvais laiks 117
7. Tikai bērni? 133
8. Reālā dzīve 157
9. Viens cēliens un pieci deviņnieki 181
10. Pāragri attīstījies 199
11. Džokers 225
12. Vienmēr pareizi 243
13. Micro-Soft 257
14. Pirmkods 286
Pēcvārds 319
Pateicība 325
Priekšvārds
Kad man bija apmēram 13 gadu, sāku pavadīt laiku zēnu
grupā, kas regulāri devās garos pārgājienos kalnos Sietlas apkārtnē. Mēs iepazināmies skautu kustībā. Mūsu vienība daudz gāja pārgājienos un nakšņoja teltīs, bet drīz vien sākām turēties kopā kā atsevišķa grupa, kas devās pašorganizētās ekspedīcijās – un tieši tā mēs tās arī uztvērām – kā ekspedīcijas.
Mēs gribējām vairāk brīvības un lielāku risku, nekā piedāvāja skautu pārgājieni.
Parasti bijām pieci – Maiks (Mike), Rokijs (Rocky), Railijs (Reilly), Denijs (Danny) un es. Maiks bija līderis. Viņš bija pāris gadus vecāks par mums un daudz pieredzējušāks āra aktivitātēs. Aptuveni
trīs gadu laikā mēs kopā nogājām simtiem kilometru. Mēs apceļojām Olimpijas Nacionālo parku (Olympic National Park) uz rietumiem no Sietlas un vulkāna Gleisjerpīka (Glacier Peak) mežonīgo apvidu uz ziemeļaustrumiem, kā arī devāmies pārgājienos gar Klusā okeāna piekrasti. Nereti bijām prom septiņu vai vairāk dienu gājienos, vadoties vienīgi pēc topogrāfiskajām kartēm, soļojot cauri mūžamežiem un gar klinšainiem krastiem, kur mēģinājām saskaņot iešanu ar paisuma un bēguma ritmu, steidzoties apiet zemesragus. Skolas brīvlaikā devāmies ilgākos ceļojumos, ejot pārgājienos un nakšņojot teltīs jebkuros laikapstākļos, kas Klusā okeāna ziemeļrietumos bieži nozīmēja to, ka nedēļa jāpavada slapjās vilnas
biksēs, kas iegūtas no armijas noliktavu krājumiem un kas raisīja spēcīgu niezi, savukārt kāju pirksti no slapjuma bija sakrunkojušies. Mēs nenodarbojāmies ar tehnisko kāpšanu – nekādu virvju, jostu vai stāvu klinšu sienu. Tikai gari, grūti pārgājieni. Tas nebija bīstami, izņemot to, ka mēs bijām pusaudži dziļi kalnos, daudzu stundu attālumā no palīdzības, krietnu laiku pirms mobilie telefoni bija kļuvuši par ikdienu.
Laikam ejot, kļuvām par saliedētu un pašpārliecinātu komandu. Pēc pilnas dienas pārgājiena nolēmām, kur apmesties, un, gandrīz neko nesakot, katrs ķērāmies pie saviem pienākumiem. Maiks un Rokijs uzsēja brezenta nojumi, kas kalpoja par pajumti naktij. Denijs meklēja sausos zarus zem krūmājiem, bet es ar Railiju iededzām vakara ugunskuru, izmantojot aizdedzināšanas klucīšus un skaliņus.
Tad bija vakariņu laiks. Lēts ēdiens, kas nesvēra daudz, bet bija pietiekami sātīgs, lai dotu spēku visam pārgājienam. Nekas nekad nav garšojis labāk. Vakariņās bieži sagriezām gabaliņos gaļas konservus Spam2 un samaisījām tos ar makaronu maisījumu Hamburger Helper3 vai iepakojumu Beef Stroganoff 4 mērces maisījuma. No rīta mēdzām dzert Carnation Instant Breakfast5 kokteili vai pulveri, kas, sajaukts ar ūdeni, vismaz saskaņā ar uzrakstu uz iepakojuma, pārvērtās par omleti, kurā ir paprika, šķiņķis un sīpoli. Mans rīta favorīts – desiņas Oscar Mayer Smokie Links, uz kurām bija uzraksts “100 % gaļas”, ko tagad vairs neražo. Lielāko daļu ēdiena gatavojām vienā pannā un ēdām no tukšām trīslitrīgām kafijas
2 Spam – konservēta un lietošanai gatava cūkgaļa vai liellopa gaļa, ko bieži sacep vai sagriež gabaliņos kā aizdaru. Ļoti populāra Amerikas Savienotajās Valstīs (ASV) 20. gadsimta vidū, jo īpaši pārgājienos un militārajā dienestā.
3 Hamburger Helper – gatavošanas maisījums, kurā ir makaroni vai cita piedeva un pulverveida mērce un kam jāpievieno maltās gaļas konservi Spam, lai ātri pagatavotu siltu ēdienu.
4 Beef Stroganoff – sauss maisījums mērcei stroganova stilā, parasti tajā ir makaroni vai nūdeles, kam jāpievieno gaļa un ūdens vai piens.
5 Carnation Instant Breakfast – pulverveida dzēriens, ko sajauc ar pienu vai ūdeni un ēd kā ātri pagatavojamās brokastis.
skārda bundžām, ko katrs nesām līdzi. Tās mums kalpoja gan par ūdens tvertnēm, gan katliem, gan putras bļodām. Nezinu, kuram no mums ienāca prātā pagatavot karstu aveņu dzērienu. Tā nebija kulināra revolūcija – vienkārši pievienojām karstam ūdenim želejas Jell-O pulveri un dzērām. Tas derēja gan kā deserts, gan kā rīta cukura deva pirms kārtējās pārgājiena dienas.
Mēs bijām prom no vecākiem un pieaugušo uzraudzības, paši pieņēmām lēmumus, kur iet, ko ēst, kad gulēt, un paši spriedām, kādu risku vērts uzņemties. Skolā neviens no mums nebija “stilīgo bērnu” pulkā. Tikai Denijs spēlēja basketbolu organizētā komandā, taču drīz vien to atmeta, lai atvēlētu vairāk laika pārgājieniem. Es biju viskalsnākais no visiem un parasti visvairāk nosalis, un man vienmēr šķita, ka esmu vājāks par pārējiem. Tomēr man patika gan fiziskie pārbaudījumi, gan sajūta, ka esmu savas dzīves noteicējs. Lai gan mūsu pusē pārgājieni kļuva arvien populārāki, pusaudži, kas astoņas dienas vieni paši klaiņoja pa mežu, nebija bieža parādība.
Jāsaka gan – tie bija 1970. gadi, un vecāku pieeja bērnu audzināšanai bija brīvāka nekā mūsdienās. Bērniem kopumā bija vairāk neatkarības. Kad biju agrīnā pusaudžu vecumā, mani vecāki jau bija samierinājušies ar to, ka esmu citādāks nekā daudzi vienaudži, un pieņēmuši, ka man vajadzīga zināma patstāvība, lai atrastu savu ceļu pasaulē. Šī pieņemšana nāca grūti – jo īpaši manai mātei –, taču tā būtiski ietekmēja to, par kādu cilvēku kļuvu.
Tagad, atskatoties pagātnē, esmu pārliecināts, ka mēs visi šajos pārgājienos meklējām ko vairāk par draudzību un gandarījumu par paveikto. Tas bija vecums, kad jaunieši pārbauda savas robežas, pielaiko dažādas identitātes un reizēm izjūt ilgas pēc kaut kā lielāka, pat pārpasaulīga. Sāku skaidri apjaust, ka man jāatrod savs ceļš. Nezināju, kādā virzienā tas aizvedīs, bet tam bija jābūt interesantam un nozīmīgam.
Tolaik daudz laika pavadīju arī citā puišu kompānijā. Kents (Kent), Pols (Paul), Riks (Ric) un es mācījāmies vienā skolā – Leiksaidā
(Lakeside) –, un tajā skolēni varēja pieslēgties lieldatoram, izmantojot tālruņa līniju. Toreiz tas bija liels retums – iespēja, ka pusaudži var piekļūt datoram vispār. Mēs četri ātri aizrāvāmies ar šo iespēju un visu brīvo laiku veltījām arvien sarežģītāku programmu rakstīšanai un tam, lai izpētītu, ko vispār iespējams paveikt ar šo elektronisko mašīnu.
No malas skatoties, pārgājieni un programmēšana bija ļoti atšķirīgas nodarbes, tomēr abas man bija piedzīvojums. Abos draugu lokos apguvu jaunus apvāršņus, devos uz vietām, kurās nekad nenonāktu pat lielākā daļa pieaugušo. Programmēšana mani interesēja tāpat kā pārgājieni, jo ļāva pašam noteikt savu panākumu mērauklu, un iespēja gūt panākumus šķita bezgalīga – to neierobežoja ne tas, cik ātri es skrienu, ne tas, cik tālu metu. Loģika, koncentrēšanās un izturība, kas bija vajadzīga, lai uzrakstītu garas, sarežģītas programmas, man padevās dabiski. Atšķirībā no pārgājieniem šajā draugu lokā es biju līderis.
Vidusskolas otrā gada beigās, 1971. gada jūnijā, Maiks man piezvanīja un izstāstīja mūsu nākamā pārgājiena ideju – 129 kilometri
Olimpijas kalnu (Olympic Mountains) masīvā. Maršruts bija nosaukts par Preses ekspedīcijas taku (Press Expedition Trail) – laikraksta sponsorētas kalnu tūristu grupas vārdā, kas šo apvidu bija izpētījusi 1890. gadā. Vai viņš runāja par to pašu ceļojumu, kurā vīri gandrīz nomira badā un viņu drēbes sāka pūt uz miesas? “Jā, bet tas esot bijis sen,” viņš atbildēja.
Astoņdesmit gadu vēlāk tas joprojām būtu smags pārgājiens; turklāt tajā gadā bija uzsnidzis daudz sniega, tāpēc iecere bija īpaši biedējoša. Bet, tā kā visi pārējie – Rokijs, Railijs un Denijs – bija gatavi doties, es nevarēju atteikties. Līdzi gribēja nākt arī jaunāks skauts Čips (Chip). Man bija jāiet.
Mūsu plāns bija pāriet pāri Loudivaidas (Low Divide) pārejai, nokāpt līdz Kvino (Quinault) upes ielejai un tad pa to pašu taku doties atpakaļ, katru nakti pārnakšņojot guļbaļķu nojumēs, kas atradās pa ceļam. Kopā tas prasītu sešas vai septiņas dienas. Pirmā diena bija viegla, un nakšņojām skaistā, sniega klātā pļavā. Nākamo dienu laikā, kāpjot augšup pārejā, sniega kļuva arvien vairāk. Kad nonācām vietā, kur bijām ieplānojuši pārlaist nakti, patvērums bija pilnībā aprakts zem sniega. Manī uzplaiksnīja kluss prieks. Mēs taču noteikti griezīsimies atpakaļ, nodomāju, un dosimies uz daudz ērtāku nojumi, gar kuru nogājām kādu laiku iepriekš. Tur mēs iekurtu ugunskuru, sasildītos un paēstu.
Maiks sacīja, ka mums jābalso – doties atpakaļ vai virzīties tālāk uz galamērķi. Abas izvēles nozīmēja vairākas stundas gājiena. “Mēs pagājām gar patvērumu lejā – tas ir apmēram 550 metru zemāk. Varētu doties atpakaļ un palikt tur, vai arī turpināt ceļu līdz Kvino upei,” teica Maiks. Viņam pat nebija jāsaka, ka atgriešanās nozīmētu atteikties no mūsu mērķa – sasniegt upi.
“Kā tu domā, Den?” Maiks jautāja. Denijs mūsu nelielajā grupā bija Maika neoficiālā labā roka. Viņš bija augumā raženāks nekā pārējie un ļoti spēcīgs gājējs, kuram bija garas kājas, kas laikam nekad nenogura. Lai ko viņš pateiktu, tas ietekmētu balsojumu.
“Mēs gandrīz jau esam klāt, varbūt ejam tālāk,” Denijs teica. Kad pacēlās pārējo rokas, bija skaidrs, ka esmu mazākumā. Mēs dosimies tālāk.
Pēc dažām minūtēm uz takas sacīju: “Denij, esmu dusmīgs uz tevi. Tu taču varēji to apturēt.” Es šķietami jokoju, bet katrā jokā ir tikai daļa joka.
Šo pārgājienu atceros, jo tajā dienā biju nosalis un nelaimīgs. Bet atceros arī to, ko izdarīju vēlāk. Es iegrimu domās. Un iztēlojos datorprogrammas kodu.
Tolaik Leiksaidas skolai kāds bija aizdevis datoru PDP-8, ko ražoja uzņēmums Digital Equipment Corp. Tas bija 1971. gads, un, lai
gan es jau biju dziļi iekšā topošajā datoru pasaulē, ko tādu redzēju pirmoreiz. Līdz tam es un draugi bijām strādājuši tikai ar milzīgiem lieldatoriem, kurus vienlaikus izmantoja daudzi cilvēki. Parasti tiem pieslēdzāmies, izmantojot tālruņa līniju, jo citādi tie atradās atsevišķās telpās, kurām nevarējām brīvi piekļūt. Taču PDP-8 bija izstrādāts individuālai lietošanai un bija tik kompakts, ka to varēja nolikt uz galda sev pretim. Tas, iespējams, bija vistuvākais modelis personālajam datoram, kas kļuva populārs tikai 10 gadus vēlāk –lai gan tas svēra apmēram 36 kilogramus un maksāja apmēram 8500 ASV dolāru. Man tas šķita izaicinoši, un es nolēmu pamēģināt uzrakstīt šim jaunajam datoram savu BASIC6 programmēšanas valodas versiju.
Pirms pārgājiena biju strādājis pie programmas daļas, kas datoram pateiktu, kādā secībā jāizpilda darbības, piemēram, kad kāds ievada izteiksmi 3(2 + 5) × 8 − 3 vai vēlas izveidot spēli ar sarežģītiem matemātiskiem aprēķiniem. Programmēšanā šo funkciju dēvē par izteiksmju vērtētāju. Ejot pa taku ar nodurtu skatienu, domās attīstīju savu vērtētāju, soli pa solim izprātojot, kā datoram jāizpilda aprēķini. Svarīgākais bija pēc iespējas samazināt kodu. Toreiz datoriem bija ļoti neliela atmiņa, tāpēc programmas vajadzēja rakstīt īsas, maksimāli taupīgas, lai tās neaizņemtu pārāk daudz vietas. PDP-8 bija tikai 6 kilobaiti darba atmiņas. Es iztēlojos kodu un mēģināju izsekot, kā dators soli pa solim pildītu manas komandas. Soļu ritms palīdzēja domāt – gluži tāpat kā mans ieradums šūpoties, kad stāvēju uz vietas. Pārējā dienas daļā mana galva bija pilnībā aizņemta ar šo programmēšanas mīklu. Kad nokāpām ielejā, sniega vairs nebija, un taka nedaudz ieslīpi vijās cauri vecam egļu un baltegļu mežam, līdz sasniedzām upi. Tur iekārtojām nometni, apēdām savu Spam stroganovu un beidzot aizmigām.
6 BASIC (saīsinājums no angļu val. Beginner’s All-purpose Symbolic Instruction Code) tika radīta 1960. gadu vidū Dartmutas koledžā (Dartmouth College) ASV, lai studenti bez matemātikas vai inženierijas priekšzināšanām varētu ātri sākt rakstīt programmas datorā.
Nākamajā rītā jau agri kāpām atpakaļ pa Loudivaidas taku stiprā vējā, kamēr sejās šķērsām sitās sasalstošs lietus. Mēs apstājāmies zem koka tikai tik ilgi, lai kopīgi apēstu krekeru Ritz paciņu, un devāmies tālāk. Katru nojumi, ko atradām, jau bija pilnībā aizņēmuši citi gājēji, kas gaidīja, kad pāries vētra. Tāpēc vienkārši turpinājām iet, pievienojot papildu stundas jau tā bezgalīgajai dienai. Šķērsojot upes pieteku, Čips pakrita un sadragāja celi. Maiks iztīrīja brūci un uzlika tauriņveida plāksterus, un tagad mūsu temps bija tik ātrs, cik vien ātri Čips varēja klibodams paiet. Pa to laiku es klusībā slīpēju savu kodu. Tajā dienā, 32 kilometru pārgājienā, neizteicu gandrīz ne vārda. Beigās nonācām patvērumā, kurā bija vieta arī mums, un iekārtojāmies.
Tāpat kā slavenajā teicienā – “Es būtu uzrakstījis īsāku vēstuli, bet man nepietika laika” – ir vieglāk uzrakstīt programmu paviršā kodā uz vairākām lapām, nekā uzrakstīt to pašu programmu uz vienas lapas. Paviršā versija var arī darboties lēnāk un patērēt vairāk atmiņas. Šā pārgājiena laikā man bija laiks rakstīt īsi. Tajā garajā dienā es to vēl vairāk noslīpēju – gluži kā asinot mietu, no kura ar nazi noloba plēksni aiz plēksnes, līdz tas kļūst ass. Tas, ko es izveidoju, šķita iedarbīgs un patīkami vienkāršs. Tas bija līdz šim labākais kods, ko jebkad biju uzrakstījis.
Kad nākamajā pēcpusdienā atgriezāmies takas sākumā, lietus beidzot bija mitējies, un to nomainīja skaidras debesis un silta saules gaisma. Mani pārņēma sajūsma, kas vienmēr rodas pēc pārgājiena, kad grūtais ceļš ir aiz muguras.
Līdz skolas sākumam rudenī tas, kurš mums bija aizdevis lieldatoru PDP-8, to jau bija paņēmis atpakaļ, un es tā arī nepabeidzu savu BASIC projektu. Taču kods, ko uzrakstīju tajā pārgājienā, mans izteiksmju vērtētājs un tā skaistums palika atmiņā .
Trīs ar pusi gadus vēlāk, kad biju universitātes otrā kursa students un vēl nebiju pārliecināts par savu dzīves ceļu, mans draugs Pols no Leiksaidas iebrāzās manā kopmītņu istabiņā, lai paziņotu par revolucionāru jaunas paaudzes datoru. Zināju, ka varam tam izveidot BASIC valodu; mums jau bija iestrādnes. Pirmais, ko izdarīju, atcerējos to briesmīgo dienu Loudivaidas pārejā un no atmiņas dzīlēm izvilku izteiksmju vērtētāja kodu, ko toreiz uzrakstīju. Es to ievadīju datorā, un tas bija sākums uzņēmumam, kas kļuva par vienu no lielākajiem pasaulē un bija jaunas nozares sākums.