211service.com
Bjarne Stroustrup
V 80. a 90. letech, když byl výzkumníkem v AT&T Bell Labs, počítačový vědec dánského původu Bjarne Stroustrup navrhl C++, pravděpodobně nejvlivnější programovací jazyk za posledních 25 let. Přes to všechno je C++ kontroverzní. Tento jazyk se široce nelíbí milionům programátorů, kteří jej používají, především proto, že je notoricky obtížné se ho naučit a používat, a protože Stroustrupův design jim umožňuje dělat vážné programátorské chyby v zájmu maximalizace svobody projevu. Dnes je Stroustrup profesorem informatiky na Texas A&M University.

Bjarne Stroustrup, vynálezce programovacího jazyka C++
Recenze technologie : Proč je většina softwaru tak špatná?
Tento příběh byl součástí našeho vydání z ledna 2007
- Viz zbytek čísla
- předplatit
Bjarne Stroustrup: Některý software je ve skutečnosti docela dobrý, podle jakéhokoli standardu. Vzpomeňte si na Mars Rovers, Google a projekt Human Genome Project. Nyní, to je kvalitní software! Naše technologická civilizace závisí na softwaru, takže kdyby byl software tak špatný, jako jeho nejhorší pověst, většina z nás by už byla mrtvá.
Na druhou stranu, průměrný kus softwarového kódu mě dokáže rozbrečet. Programátoři zjevně hluboce nepřemýšleli o správnosti, algoritmech, datových strukturách nebo udržovatelnosti. Většina lidí neví, jak špatné to je, protože nečtou kód: jen vidí, že Windows zamrznou nebo že jejich mobilní telefon přeruší hovor.
DĚTI : Jak můžeme napravit nepořádek, ve kterém jsme?
BS: Nemůžeme jen tak zastavit svět na deset let, zatímco přeprogramujeme vše od našich kávovarů až po naše finanční systémy. Na druhou stranu je mudrování drahé, nebezpečné a depresivní. Je potřeba výrazných zlepšení, která mohou přicházet jen postupně. Ale musí přijít na široké frontě; žádná jediná změna nebude stačit.
Když se podívám na své vlastní úzké pole navrhování programovacích jazyků, můj názor je, že dobrý jazyk může být hlavním přínosem, ale pouze tehdy, když je vhodně a dobře používán. Jazyk neřeší problémy; pouze napomáhá vyjádření řešení.
DĚTI : Co dělá dobrý programovací jazyk?
BS: Cokoli, co lidem pomáhá vyjádřit jejich myšlenky, zlepšuje jazyk. Jazyk by měl být dobrý pro každodenní úkoly v rukou dobrých řemeslníků. Méně záleží na tom, zda je jazyk sám o sobě krásný. Existují užitečnější systémy vyvinuté v jazycích považovaných za hrozné než v jazycích, které jsou chváleny za to, že jsou krásné – mnohem více.
DĚTI : Není elegance důležitá?
BS: Elegance je nezbytná, ale jak eleganci měřit? Nejnižší počet znaků pro vyjádření řešení problému? Myslím, že bychom měli hledat eleganci ve vytvořených aplikacích, spíše než v jazycích samotných. Bylo by těžké nazývat tesařskou složitou sadu nástrojů (mnoho docela nebezpečných) elegantní . Na druhou stranu můj jídelní stůl a židle jsou elegantní – krásné, opravdu. To znamená, že by samozřejmě bylo nejlepší, kdyby samotný jazyk byl krásným uměleckým dílem.
DĚTI : Je C++ pro většinu programátorů příliš těžké?
BS: nemělo by být. Chcete-li dobře používat C++, musíte rozumět technice návrhu a programování. V jistém smyslu mají moji kritici pravdu: ne každý by měl psát C++, ale nikdy jsem netvrdil, že by měli. C++ je navrženo tak, aby vám umožnilo vyjadřovat nápady, ale pokud nemáte nápady nebo nemáte ponětí, jak je vyjádřit, C++ nenabízí moc pomoci.
DĚTI : Jak si vysvětlujete, že C++ je široce kritizováno a nenáviděno mnoha programátory, ale zároveň je velmi široce používáno?
BS: Glib odpověď by byla: Existují jen dva druhy jazyků: ty, na které si všichni stěžují, a ty, které nikdo nepoužívá. Hlavním důvodem úspěchu C++ je jednoduše to, že splňuje své omezené designové cíle: dokáže přímo a efektivně vyjádřit širokou škálu myšlenek.
DĚTI : Ve vaší knize Návrh a vývoj C++ Tvrdíte, že Kierkegaard měl vliv na vaše pojetí jazyka. to je vtip?
BS: Možná trochu domýšlivý, ale není to vtip. Mnoho úvah o vývoji softwaru je zaměřeno na skupinu. Firemní praktiky mohou být přímo nepřátelské vůči jednotlivcům s výjimečnými dovednostmi a iniciativou. Takové hospodaření s výjimečnými lidmi považuji za kruté a marnotratné. Kierkegaard byl silným zastáncem jednotlivce proti davu. Nemohu poukázat na konkrétní rys C++ a říci: Vidíte, je zde vliv filozofa 19. století, ale on je jedním z kořenů mé neochoty eliminovat rysy na expertní úrovni. Nemám však nijak zvlášť v lásce jeho náboženskou filozofii.
DĚTI : Čeho nejvíc lituješ?
BS: Bez výčitek! No, samozřejmě, že sním o tom, co jsem mohl udělat jinak a lépe – ale kdo jsem já, abych mohl hádat, řekněme, Bjarne z roku 1984? Možná byl méně zkušený než já, ale nebyl o nic méně chytrý, pravděpodobně chytřejší a světu roku 1984 rozuměl lépe než já. C++ bylo použito k vytvoření mnoha systémů, které zlepšují naše životy, a mělo významný pozitivní vliv na pozdější jazyky a systémy. To je něco, na co můžeme být hrdí.