|
Verta paskaityti apie programavimo palyginimą su kitais realaus gyvenimo aprašais
>>>>>
Šiandien atrodo neįtikėtina, kad du žmonės, vedami vien entuziazmo, galėjo sukurti ir operacinę sistemą, ir programavimo kalbą,
tačiau būtent tai ir pavyko padaryti D. Ritchie1) (1941-2011) bei K. Thompson’ui2) (g. 1943 m.).
Kai asmeniniai kompiuteriai tapo prieinami vos ne kiekvienam, užfiksuotas talentų proveržis. Tarsi būtų
pralaužta damba ir pro ją pasipylė tekstų redaktoriai, skaičiuoklės ir daugybė kitokios programinės įrangos.
Tolimuose Bell kompanijos užkaboriuose Dennis Ritchie ir Kenneth Thompson'as
gavo galimybę netrukdomi naudotis brangia kompiuterine įranga ir sukūrė Unix ir C kalbą vien savo malonumui.
Kaip bet kurioje geroje komandoje, Denis ir Kenetas turėjo skirtingas, vienas kitą papildančias savybes.
Denis studijavo fiziką, tačiau vėliau perėjo į matematiką ir kompiuterių mokslą. Jo daktarinės tema buvo apie
rekursyvias funkcijas, tačiau jam tai buvo nuobodu ir jis niekada jos neužbaigė. Kenas buvo elektronikos entuziastas, kai tranzistoriai
dar buvo naujiena ir dar buvo likę ką meistrauti. Jis labai mėgo šachmatus
ir prie to dar sugrįšime. Jis studijavo elektrotechniką, tačiau jį patraukė kompiuterija:
Kompiuteriai yra priklausomybė. Elektronika yra panaši priklausomybė, tačiau ne tokia gryna. Gerokai purvinesnė. Laidai susvyla.
Likimas juos suvedė Bell Laboratories apie 1968-uosius. Bell Labs išgarsėjo tranzistorių sukūrimu ir
daugeliu kitų mokslo tiriamųjų projektų. Deniui ir Kenui pavedė ištirti įdomius kompiuterinius klausimus. Tiedu
nusprendė sukurti operacinę sistemą, tačiau Bell jau turėjo nevykusią patirtį su Multics operacine sistema.
Būtų netikęs sprendimas siūlyti dar vieną OS projektą.
K. Thompsonas rado morališkai pasenusį PDP 7 kompiuterį net tais laikais daiktai seno taip greitai, kad
netinkamais tapdavo dar naudotinos priemonės. Jis prie jo prijungė grafinį terminalą, kuris buvo išmestas
kaip nereikalingas didžiosioms mašinoms (mainframe). Jie pradėjo kurti savąją operacinę sistemą. Tai
nebuvo lengva, nes neužteko vien turėti PDP 7. Jiems teko naudoti PDP 7 kros-asemblerį, kurį Thompsonas parašė GE kompiuteriui.
Didžiąją darbo dalį atliko Thompsonas, tačiau Ritchie prisidėjo teorinėmis idėjomis. Po dviejų metų
operacinė sistema išaugo iš PDP 7 drabužėlių, tad jiedu ėmė žvalgytis į PDP 11
(skaitykite apie DEC ir DEC terminalus).
PDP 11 galima laikyti asmeninių kompiuterių pirmtaku. Jo grakšti, tačiau pakankamai pajėgi architektūra
leido vykdyti interaktyvią programinę įrangą. Jie negalėjo prašyti Bell, kad jiems duotų PDP 11 operacinės
sistemos kūrimui, nes prisiminimai apie Multics nesėkmę vis dar tvyrojo ore. Tad jie pasiūlė tai, kas dabar
būtų pavadinta patentų skyriaus automatizavimo sistema. Bell vadovybė pasirodė pakankamai naivi, šiam tikslui jiems duodama PDP 11.
Be abejo, pirmuoju automatizuotos sistemos etapu buvo operacinės sistemos, kuri dabar vadinama
Unix, sukūrimas. Su įgyta patirtimi tai netruko ilgai. Netrukus sistema veikė ir turėjo pirmuosius vartotojus. Ji
pamažu įgavo vis didesnį populiarumą Bell viduje. Mat PDP 11 buvo gana geras kompiuteris, tačiau su juo
buvo pateikiama prasta programinė įranga. Iš čia ir kilo Unix priimtinumas priežastis buvo ta pati, kodėl
maždaug po 10 m. išpopuliarėjo CP/M (abi šios sistemos užpildė OS vakuumą).
Unix ilgą laiką gyvavo įkalintas Bell viduje. Tik nedaugelis už jos ribų žinojo apie ją. Plačiausiai žinia
apie ją pasklido 1973 m. IBM surengtoje konferencijoje, skirtoje operacinėms sistemoms.
O tolimesnė saga apie Unix yra turi keistą atspalvį. Denis ir Kenas pabandė savo taikomąsias
programas perkelti į kitus kompiuterius, tačiau aptiko, kad nors pagrindinis kodas kompiliuojasi nesunkiai,
kreipiniai į operacinę sistemą pritaikomi sunkiausiai. Jie padarė netikėtą išvadą, kad lengviau perkelti visą
operacinę terpę su joje vykdomomis programomis. Taip gimė portabilaus Unix idėja.
Iškilo klausimas kaip tai padaryti? OS tradiciškai rašytos asemblerio kalba, nes joms ypatingai svarbus
vykdymo greitis. Jie problemą užsipuolė iš dviejų pusių, Pirmiausia, nusprendė sukurti naują aukšto lygio
programavimo kalbą, kuri leistų gana efektyviai programuoti artimus architektūrai uždavinius. O antra,
perrašyti Unix kartu su nuo mašinos priklausomomis ir vykdymo greičiui kritinėmis dalimis
D. Ritchie ėmėsi kalbos kūrimo ir to darbo rezultatu tapo C. Jis pasirėmė kita sistemine kalba, BCPL,
sukurta Anglijoje 1967 m..Jos pagrindu sukurtą bandomąją kalbos versiją Ritchie realizavo PDP 7
kompiuteriui su pirmąja Unix versija (1970-ųjų). Ji vadinosi B ir gali būti geriausiai apibūdinama kaip apkarpyta BCPL versija.
Perkėlimui į PDP 11 ir sistemų kūrimo poreikio užtikrinimui Ritchie buvo priverstas išplėsti B kalbą.
Pagrindinis išplėtimas buvo platesnis duomenų tipų valdymas atsižvelgiant į PDP 11 operacijų rinkinį. Kalba
tapo C ta, kuria parašytas Unix. Nuo aparatūros priklausančios dalys atskirtos į vieną vietą ir parašytos
asemblerio kalba tai dabar vadinama branduoliu. Taip Unix tapo portabilia sistema ir plito sparčiau. Be
to. Bell nematė jos jokio komercinio potencialo, tad Unix buvo praktiškai nemokama. Akademinės įstaigos
ją paėmė kaip pigią ir galingą OS, kurią ne tik galima panaudoti kaip mokymo priemonę, bet ir atlikti joje realius uždavinius.
Po 10-ies metų buvo sunku rasti universitetą, kuris neturėtų Unix. Studentų kartos užaugo su ją
žinančių ne tik jos panaudojimą, bet ir vidurius. Toji akademinė terpė įtakojo Unix naudojimą. Bet kuris
juniksistas pasakys, kad Unix yra nepaprastai logiška sistema, kurioje daug ką galima padaryti paspaudos vos kelis klavišus.
1983 m. Dennis Ritchie ir Kenneth Thompsonas gavo ACM Tiuringo premiją už Unix sukūrimą.
Tačiau Keno Thompsono karjeroje buvo ir įdomi šalutinė atšaka, niekuo nesusijusi su Unix,
C ar kita programine įranga, kuria jis užsiėmė. Jį traukė šachmatai. Tad buvo natūralus dalykas sukurti
šachmatais žaidžiančią programą.
1972 m. Thompsonas pradėjo kurti Belle šachmatų programą, kuri derino tradicines paieškos
priemones su duomenų baze. Vėliau, 1976 m., jis su Joe Condon'u3) sukūrė aparatinės įrangos, imituojančios
šachmatų ėjimus, prototipą. 1980-ais ši sistema jau veikė 120 tūkst, ėjimų per sekundę sparta. Belle laimėjo
tris ACM šachmatų čempionatus (80-ų, 81-ų ir 82-ų). Ji tapo pirmąja programa, gavusia JAV meistro titulą.
Už tai Fredkino fondas Belle sukūrėjams skyrė 5 tūkst. dolerių premiją.
K. Thompsonas netgi pasiekė, kad būtų pakeistos šachmatų taisyklės! 50-ies ėjimų taisyklė skelbia, kad jei
per 50 ėjimų nebuvo pajudintas joks pėstininkas ir nenukirsta jokia figūra, užskaitomos lygiosios.
Panaudodamas susikurtą endšpilių duomenų bazę, jis įrodė, kad kai kurių pozicijų laimėjimui reikia daugiau nei 50-ies
ėjimų. Tad 50-ies ėjimų taisyklė buvo pakeista, tačiau vėliau nustatyta, kad tai yra netikslinga, ir atstatyta.
1) Denis Ričis (Dennis MacAlistair Ritchie, 1941-2011) amerikiečių
kompiuterininkas, kartu su kolega Ken Thompsonu sukūręs Unix operacinę sistemą (1969) ir BCPL, B, C kalbas. Dalyvavo kuriant
OS Multics ir FORTRAN plėtinį ALTRAN. Žinomas kaip knygos C programavimo kalba bendraautoris (1978, su B. Kerniganu). Bell
Labs pradėjo dirbti 1967 m. ; restruktūrizuojant AT&T buvo perkeltas į Lucent Technologies, iš kurios
į pensiją išėjo 2007-ais. Jų sukurta Unix versjja tapo pagrindu komercinei Unix System V bei Unix BSD. Visą
gyvenimą tęsė OS ir programavimo kalbų tyrinėjimus, prisidėjo kuriant OS Plan 9 ir Inferno bei programavimo
kalbą Limbo. 1983 m. kartu su K. Tomsonu gavo Tiuringo premiją. Gyveno vienas ir buvo rastas negyvas savo
name Nju Džersyje. Jo garbei pavadintas asteroidas 294727.
2) Kenetas Tompsonas (Kenneth Lane Thompson, g. 1943 m.) - amerikiečių informatikas, su
D. Ričiu kūręs C kalbą ir OS Unix (1969). 1966 m. pradėjo dirbti Bell Labs (dirbo iki 2000 m.). Vėliausiai dirbo
Google, tame tarpe prisidedant prie Go kalbos kūrimo. 1983 m. kartu su D. Ričiu gavo Tiuringo premiją.
7-me dešimtm dirbo su reguliariosiomis išraiškomis, kurias įtraukė į savo sukurtą redaktorių QED. Taip pat
sukūrė Tomsono konstruktoriaus algoritmą, reguliarias išraiškas verčiantį į nedeterministinį baigtinį automatą.
1976 m. parašė pradinę Berkeley Pascal versiją. 1992 m. kartu su Rob Pike sukūrė UTF-8 kodavimo schemą.
Vėliau pradėjo darbus su OS Inferno. Žinomas darbais kuriant kompiuterinius šachmatus (Belle), naudojančius endšpilių lentelę.
3) Džozefas Kondonas (Joseph Henry 'Joe' Condon, 1935-2012) amerikiečių kompiuterininkas,
inžinierius ir fizikas, didžiąją laiko dalį pradirbęs Bell Labs (iki 1989 m., tačiau vėliau dar bent 10 m. ją konsultavo), žinomas kaip
šachmatų kompiuterio Belle sukūrimu (kartu su K. Tomsonu). Pradžioje dirbo su kieto kūno ir metalų žemose temperatūrose fizika.
Jo atlikti berilio ir sidabro tyrimai (1966-68 m.) parodė, kad neferomagnetiniuose metaluose susidaro magnetiniai domenai (vėliau pavadinti jo vardu),
kai svyruojantis diferencialinis magnetinis jautris viršija vienetą. Jis sukūrė šią teoriją ir ją eksperimentiškai patvirtino.
Tada susidomėjo elektronika. 1975 m. prisijungė prie Kompiuterinių tyrimų centro, čia dalyvaudamas rankinio brėžinių pavertimo duomenimis, reikalingais
spausdintinėms plokštėms gaminti, kūrime. Čia sukūrė šachmatų kompiuterio Belle aparatinė dalį (K. Tomsonas PĮ). 1982 m. kartu su A. Ogielski kūrė
sukinių stiklo mašiną, 5-10 kartų spartesnę nei Cray-1,
skirtą Monte-Karlo skaičiavimų palengvinimui fizikams.
Kiti HOT.LT straipsniai:
Kobolo motina
Lužino gynyba
Čarlzas Babidžas
Kompiuterių ištakos
Mažylis buvo pirmasis...
Ką vadiname programuotoju?
Pirmasis interneto ryšys
Visual C++ 5.0: greičiau ir daugiau
Programavimo kalbų klegesys
Kompiuterių istorija: VT100
Atskleistoji istorija: SKIE-MUO
Gary Kildall ir jo CP/M
Styvo Džobso kelias į žvaigždes
Ištraukos iš C kalbos Biblijos
Bilas Geitsas: kol dar nebuvo garsus
Technika: Nuo Paleolito laikų
Lambda išraiškos Java į naują lygį
Liūdna pasaka apie Unix
Algebra akimirksniu
Tikroji Interneto pabaiga
Ar mašina kada nors mąstys?
Programuotojo evoliucija: "Labas, pasauli!"
Peteris Karvašas. Archimedas
Programavimo kalbų evoliucija
Mūšis kibernetiniame pasaulyje
Visata kaip kompiuteris
Programavimo paradigmos
Kompiuterių istorija
Haketonai
|