211service.com
Bjarne'as Stroustrupas
Devintajame ir devintajame dešimtmečiuose, kai jis dirbo AT&T Bell Labs tyrėju, danų kilmės kompiuterių mokslininkas Bjarne'as Stroustrupas sukūrė C++, be abejonės, įtakingiausią programavimo kalbą per pastaruosius 25 metus. Nepaisant to, C++ yra prieštaringas. Kalba labai nepatinka milijonams ją naudojančių programuotojų, daugiausia dėl to, kad ją sunku išmokti ir naudoti, o Stroustrup dizainas leidžia jiems daryti rimtų programavimo klaidų, siekiant maksimaliai padidinti savo saviraiškos laisvę. Šiandien Stroustrup yra Teksaso A&M universiteto kompiuterių mokslo profesorius.

Bjarne'as Stroustrupas, C++ programavimo kalbos išradėjas
Technologijų apžvalga : Kodėl dauguma programinės įrangos yra tokia bloga?
Ši istorija buvo mūsų 2007 m. sausio mėn. numerio dalis
- Žr. likusią numerio dalį
- Prenumeruoti
Bjarne'as Stroustrupas: Kai kuri programinė įranga iš tikrųjų yra gana gera pagal bet kokius standartus. Pagalvokite apie „Mars Rovers“, „Google“ ir žmogaus genomo projektą. Dabar tai kokybiška programinė įranga! Mūsų technologinė civilizacija priklauso nuo programinės įrangos, taigi, jei programinė įranga būtų buvusi tokia bloga, kaip jos prasčiausia reputacija, dauguma iš mūsų jau būtų mirę.
Kita vertus, vidutinė programinės įrangos kodo dalis gali priversti mane verkti. Programuotojai aiškiai negalvojo apie teisingumą, algoritmus, duomenų struktūras ar techninę priežiūrą. Daugelis žmonių nežino, kaip tai blogai, nes jie neskaito kodo: jie tiesiog mato, kad „Windows“ užšąla arba jų mobilusis telefonas atsisako skambučio.
VAIKAI : Kaip galime ištaisyti netvarką, kurioje esame?
BS: Negalime tiesiog sustabdyti pasaulio dešimtmečiui, kol perprogramuojame viską nuo kavos aparatų iki finansinių sistemų. Kita vertus, maištauti yra brangu, pavojinga ir slegianti. Reikalingi dideli patobulinimai, ir jie gali įvykti tik palaipsniui. Tačiau jie turi ateiti plačiu frontu; nepakaks nė vieno pakeitimo.
Žvelgdamas į savo siaurą programavimo kalbos dizaino sritį, manau, kad gera kalba gali būti didelis privalumas, tačiau tik tada, kai ji naudojama tinkamai ir gerai. Kalba problemų neišsprendžia; tai tik padeda išreikšti sprendimus.
VAIKAI : Kas lemia gerą programavimo kalbą?
BS: Viskas, kas padeda žmonėms išreikšti savo idėjas, daro kalbą geresnę. Kalba turi būti gera atliekant kasdienes užduotis gerų meistrų rankose. Mažiau svarbu, ar kalba pati savaime graži. Yra daugiau naudingų sistemų, sukurtų kalbomis, kurios laikomos siaubingomis, nei tomis, kurios giriamos už gražias – daug daugiau.
VAIKAI : Ar elegancija nėra svarbi?
BS: Elegancija yra būtina, bet kaip išmatuoti eleganciją? Mažiausias simbolių skaičius, nurodantis problemos sprendimą? Manau, kad turėtume ieškoti elegancijos sukurtose programose, o ne pačiose kalbose. Sunku būtų pavadinti dailidės sudėtingą įrankių rinkinį (daugelis gana pavojingų) elegantiškas . Kita vertus, mano valgomojo stalas ir kėdės yra elegantiški – tikrai gražūs. Be to, žinoma, būtų geriausia, jei pati kalba būtų gražus meno kūrinys.
VAIKAI : Ar C++ per sunku daugumai programuotojų?
BS: Tai neturėtų būti. Norėdami gerai naudoti C++, turite suprasti projektavimo ir programavimo techniką. Tam tikra prasme mano kritikai teisūs: ne visi turėtų rašyti C++, bet tada aš niekada neteigiau, kad turėtų. C++ skirta reikšti idėjas, tačiau jei neturite idėjų arba neturite supratimo, kaip jas išreikšti, C++ neteikia daug pagalbos.
VAIKAI : Kaip vertinate tai, kad C++ yra plačiai kritikuojamas ir piktinamas daugelio programuotojų, tačiau tuo pat metu yra labai plačiai naudojamas?
BS: Aiškus atsakymas būtų toks: Yra tik dviejų rūšių kalbos: tos, kuriomis visi skundžiasi, ir tos, kurių niekas nevartoja. Pagrindinė C++ sėkmės priežastis yra ta, kad jis atitinka ribotus dizaino tikslus: jis gali tiesiogiai ir efektyviai išreikšti daugybę idėjų.
VAIKAI : Savo knygoje C++ dizainas ir evoliucija , teigiate, kad Kierkegaardas turėjo įtakos jūsų kalbos sampratai. Ar tai pokštas?
BS: Galbūt šiek tiek pretenzingas, bet ne pokštas. Daug mąstymo apie programinės įrangos kūrimą yra sutelkta į grupę. Įmonių praktika gali būti tiesiogiai priešiška asmenims, turintiems išskirtinių įgūdžių ir iniciatyvos. Tokį išskirtinių žmonių valdymą laikau ir žiauriu, ir švaistomu. Kierkegaardas buvo stiprus individo šalininkas prieš minią. Negaliu nurodyti konkrečios C++ ypatybės ir pasakyti: „Žiūrėk, čia XIX amžiaus filosofo įtaka, bet jis yra viena iš mano nenoro pašalinti ekspertų lygio ypatybių priežasčių. Vis dėlto man ne itin patinka jo religinė filosofija.
VAIKAI : Ko labiausiai gailitės?
BS: Negaila! Na, žinoma, svajoju apie tai, ką būčiau padaręs kitaip ir geriau – bet kas aš toks, kad galėčiau atspėti, tarkime, 1984 metų Bjarne'ą? Galbūt jis buvo mažiau patyręs nei aš, bet ne mažiau protingas, tikriausiai protingesnis ir 1984-ųjų pasaulį jis suprato geriau nei aš. C++ buvo naudojamas kuriant daugybę sistemų, kurios pagerina mūsų gyvenimą, ir tai padarė didelę teigiamą įtaką vėlesnėms kalboms ir sistemoms. Tuo reikia didžiuotis.
