Verta paskaityti apie programavimo palyginimą su kitais realaus gyvenimo aprašais
>>>>>
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 gavo galimybę netrukdomi
naudotis brangia kompiuterine įranga ir sukūrė Unix ir C kalbą vien savo malonumui.
Kenneth Lane Thompson gimė 1943 m. vasario 4 d.
Dennis MacAlistair Ritchie gimė 1941 m. rugsėjo 9 d.
|
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 kaip tranzistorių sukūrimu ir
daugeliu kitų mokslo tiriamųjų projektų. Deniui ir Kenui pavedė ištirti įdomius kompiuterinius klausimus. Jiedu
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ą operacinės sistemos projektą.
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.
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 kalba 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 kalba
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'u*) 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ą.
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.
*) Džozefas Kondonas (Joseph Henry 'Joe' Condon, 1935-2012) ametikiečių kompiuterininkas,
didesnę karjeros dalį praleidęs Bell Labs. 1968-69 m., jam esant Bell skyriaus vadovui, minėtam PDP-7 kompiuteriui su kuriuo kūrė Unix,
K. Tomsonas sukūrė garsųjį Žvaigždžių kelionės žaidimą. Vėliau kartu su K. Tomsonu sukūrė šachmatų kompiuterį Belle.
1982 m. bendradarbiavo su A. Ogielskiu kuriant spininio stiklo
mašiną, kompiuterį, 5-10 kartų greitesnį už Cray-1, skirtą vienam tikslui teorinės fizikos paskaičiavimams
Monte-Karlo metodu nustatant naujai atrastų kompozicinių medžiagų magnetinėms savybėms.
Sakoma, kad jo projektai atitiko Okamo skustuvo principą. Asmeniniame gyvenime
domėjosi indėnų rankdarbiais, klasikine muzika, teatru ir kelionėmis. Buvo kvakeris.
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
Programavimo kalbų klegesys
Kompiuterių istorija: VT100
Atskleistoji istorija: SKIE-MUO
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
|