211service.com
Bjārns Stroustrups
Astoņdesmitajos un deviņdesmitajos gados, kad viņš bija pētnieks uzņēmumā AT&T Bell Labs, dāņu izcelsmes datorzinātnieks Bjarne Stroustrup izstrādāja C++, kas, iespējams, ir ietekmīgākā programmēšanas valoda pēdējo 25 gadu laikā. Neskatoties uz to, C++ ir pretrunīgs. Valoda ļoti nepatīk miljoniem programmētāju, kas to izmanto, galvenokārt tāpēc, ka to ir ļoti grūti iemācīties un lietot, un tāpēc, ka Stroustrup dizains ļauj viņiem pieļaut nopietnas programmēšanas kļūdas, lai maksimāli palielinātu savu vārda brīvību. Šodien Stroustrup ir Teksasas A&M universitātes datorzinātņu profesors.

Bjarne Stroustrup, C++ programmēšanas valodas izgudrotājs
Tehnoloģiju apskats : Kāpēc lielākā daļa programmatūras ir tik sliktas?
Šis stāsts bija daļa no mūsu 2007. gada janvāra numura
- Skatiet pārējo izdevuma daļu
- Abonēt
Bjarne Stroustrup: Dažas programmatūras patiesībā ir diezgan labas pēc jebkura standarta. Padomājiet par Marsa roveriem, Google un cilvēka genoma projektu. Tagad tas ir kvalitatīva programmatūra! Mūsu tehnoloģiskā civilizācija ir atkarīga no programmatūras, tāpēc, ja programmatūra būtu bijusi tik slikta kā tās sliktākā reputācija, lielākā daļa no mums jau tagad būtu miruši.
No otras puses, vidējais programmatūras koda fragments var man likt raudāt. Programmētāji skaidri nedomāja par pareizību, algoritmiem, datu struktūrām vai apkopi. Lielākā daļa cilvēku nezina, cik tas ir slikti, jo viņi nelasa kodu: viņi vienkārši redz, ka sistēma Windows sastingst vai viņu mobilais tālrunis pārtrauc zvanu.
BĒRNI : Kā mēs varam novērst nekārtību, kurā esam nonākuši?
BS: Mēs nevaram vienkārši apturēt pasauli uz desmit gadiem, kamēr mēs pārprogrammējam visu, sākot no mūsu kafijas automātiem līdz mūsu finanšu sistēmām. No otras puses, muldēšana ir dārga, bīstama un nomācoša. Ir nepieciešami būtiski uzlabojumi, un tie var notikt tikai pakāpeniski. Bet viņiem jānāk plašā frontē; ar vienu izmaiņu nepietiks.
Aplūkojot savu šauro programmēšanas valodas dizaina jomu, es uzskatu, ka laba valoda var būt liela priekšrocība, bet tikai tad, ja to lieto pareizi un labi. Valoda neatrisina problēmas; tas tikai palīdz izteikt risinājumus.
BĒRNI : Kas nodrošina labu programmēšanas valodu?
BS: Viss, kas palīdz cilvēkiem izteikt savas idejas, padara valodu labāku. Valodai jābūt labi ikdienas uzdevumiem labu amatnieku rokās. Mazāk svarīgi, vai valoda pati par sevi ir skaista. Valodās, kuras tiek uzskatītas par šausmīgām, ir izstrādātas vairāk noderīgu sistēmu nekā valodās, kuras tiek slavētas par skaistām — daudz vairāk.
BĒRNI : Vai elegance nav svarīga?
BS: Elegance ir būtiska, bet kā izmērīt eleganci? Mazākais rakstzīmju skaits, lai izteiktu problēmas risinājumu? Es domāju, ka mums vajadzētu meklēt eleganci izveidotajās lietojumprogrammās, nevis pašās valodās. Būtu grūti nosaukt galdnieka sarežģīto instrumentu komplektu (daudzi ir diezgan bīstami) elegants . No otras puses, mans ēdamistabas galds un krēsli ir eleganti – patiešām skaisti. Tas nozīmē, ka, protams, vislabāk būtu, ja pati valoda būtu skaists mākslas darbs.
BĒRNI : Vai C++ ir pārāk grūts lielākajai daļai programmētāju?
BS: Tā nevajadzētu būt. Lai labi lietotu C++, jums ir jāsaprot dizaina un programmēšanas tehnika. Savā ziņā maniem kritiķiem ir taisnība: ne visiem ir jāraksta C++, bet tad es nekad neesmu apgalvojis, ka vajadzētu. C++ ir paredzēts, lai ļautu jums izteikt idejas, taču, ja jums nav ideju vai nav ne jausmas, kā tās izteikt, C++ nepiedāvā daudz palīdzības.
BĒRNI : Kā jūs izskaidrojat faktu, ka C++ tiek plaši kritizēts un aizvainots no daudziem programmētājiem, bet tajā pašā laikā tas ir ļoti plaši izmantots?
BS: Skaidra atbilde būtu: Ir tikai divu veidu valodas: tās, par kurām visi sūdzas, un tās, kuras neviens nelieto. Galvenais C++ veiksmes iemesls ir vienkārši tas, ka tas atbilst ierobežotajiem dizaina mērķiem: tas var tieši un efektīvi paust milzīgu ideju klāstu.
BĒRNI : Tavā grāmatā C++ dizains un evolūcija , jūs apgalvojat, ka Kērkegors ir ietekmējis jūsu priekšstatu par valodu. Vai tas ir joks?
BS: Varbūt mazliet pretenciozi, bet ne joks. Daudzas domas par programmatūras izstrādi ir vērstas uz grupu. Korporatīvā prakse var būt tieši naidīga pret personām ar izcilām prasmēm un iniciatīvu. Es uzskatu šādu izņēmuma cilvēku vadīšanu gan nežēlīgu, gan izšķērdīgu. Kierkegaard bija spēcīgs indivīda atbalstītājs pret pūli. Es nevaru norādīt uz kādu konkrētu C++ iezīmi un teikt: redzi, šeit ir 19. gadsimta filozofa ietekme, taču viņš ir viens no manas nevēlēšanās likvidēt eksperta līmeņa funkcijas cēloņiem. Tomēr es neesmu īpaši sajūsmā par viņa reliģisko filozofiju.
BĒRNI : Ko tu visvairāk nožēlo?
BS: Bez nožēlas! Protams, es sapņoju par to, ko es varētu būt izdarījis savādāk un labāk, bet kas es esmu, lai uzminētu, teiksim, 1984. gada vintage Bjarne? Viņš, iespējams, bija mazāk pieredzējis nekā es, taču viņš bija ne mazāk gudrs, iespējams, gudrāks, un viņam bija labāka izpratne par 1984. gada pasauli nekā man. C++ ir izmantots, lai izveidotu daudzas sistēmas, kas uzlabo mūsu dzīvi, un tas ir būtiski pozitīvi ietekmējis vēlākās valodas un sistēmas. Tas ir kaut kas, ar ko lepoties.
