Bjarne Stroustrup

I 1980'erne og 90'erne, da han var forsker ved AT&T Bell Labs, designede den danskfødte datalog Bjarne Stroustrup C++, uden tvivl det mest indflydelsesrige programmeringssprog i de sidste 25 år. For alt det er C++ kontroversielt. De millioner af programmører, der bruger det, lider meget af sproget, hovedsageligt fordi det er notorisk svært at lære og bruge, og fordi Stroustrups design tillader dem at lave alvorlige programmeringsfejl med henblik på at maksimere deres ytringsfrihed. I dag er Stroustrup professor i datalogi ved Texas A&M University.





Bjarne Stroustrup, opfinderen af ​​programmeringssproget C++

Teknologigennemgang : Hvorfor er det meste software så dårligt?

Alt hvad du kan gøre, kan jeg gøre Meta

Denne historie var en del af vores januar 2007-udgave



  • Se resten af ​​problemet
  • Abonner

Bjarne Stroustrup: Noget software er faktisk ret godt, efter enhver standard. Tænk på Mars Rovers, Google og Human Genome Project. Nu, det er kvalitetssoftware! Vores teknologiske civilisation afhænger af software, så hvis software havde været lige så dårligt som dets værste ry, ville de fleste af os være døde nu.

På den anden side kan det gennemsnitlige stykke softwarekode få mig til at græde. Programmørerne tænkte tydeligvis ikke dybt over korrekthed, algoritmer, datastrukturer eller vedligeholdelse. De fleste mennesker ved ikke, hvor slemt det er, fordi de ikke læser kode: de ser bare Windows fryse eller får deres mobiltelefon til at ringe op.

BØRN : Hvordan kan vi ordne det rod, vi er i?



BS: Vi kan ikke bare stoppe verden i et årti, mens vi omprogrammerer alt fra vores kaffemaskiner til vores finansielle systemer. På den anden side er det dyrt, farligt og deprimerende at rode rundt. Der er brug for væsentlige forbedringer, og de kan kun komme gradvist. Men de skal komme på bred front; ingen enkelt ændring vil være tilstrækkelig.

Når jeg ser på mit eget snævre felt inden for programmeringssprogdesign, er min opfattelse, at et godt sprog kan være et stort aktiv, men kun når det bruges hensigtsmæssigt og godt. Et sprog løser ikke problemer; det hjælper blot med at udtrykke løsninger.

BØRN : Hvad skaber et godt programmeringssprog?



BS: Alt, hvad der hjælper folk med at udtrykke deres ideer, gør et sprog bedre. Et sprog skal være godt til hverdagens opgaver i hænderne på gode håndværkere. Det betyder mindre, om sproget er smukt i sig selv. Der er mere brugbare systemer udviklet på sprog, der anses for forfærdelige, end på sprog, der er rost for at være smukke – mange flere.

BØRN : Er elegance ikke vigtigt?

BS: Elegance er afgørende, men hvordan måler du elegance? Det laveste antal tegn til at udtrykke løsningen på et problem? Jeg synes, vi skal lede efter elegance i de opbyggede applikationer, snarere end i selve sprogene. Det ville være en strækning at kalde en tømrers komplicerede værktøjssæt (mange ret farlige) elegant . På den anden side er mit spisebord og mine stole elegante – virkelig smukke. Når det er sagt, ville det selvfølgelig være bedst, hvis sproget i sig selv var et smukt kunstværk.



BØRN : Er C++ for svært for de fleste programmører?

BS: Det burde det ikke være. For at bruge C++ godt, skal du forstå design og programmeringsteknik. På en måde har mine kritikere ret: ikke alle burde skrive C++, men så har jeg aldrig påstået, at de burde. C++ er designet til at give dig mulighed for at udtrykke ideer, men hvis du ikke har ideer eller ikke har nogen anelse om, hvordan du udtrykker dem, tilbyder C++ ikke megen hjælp.

BØRN : Hvordan redegør du for, at C++ er meget kritiseret og forarget af mange programmører, men samtidig er meget udbredt?

BS: Det glatte svar ville være: Der er kun to slags sprog: dem, alle klager over, og dem, ingen bruger. Hovedårsagen til C++’s succes er simpelthen, at den opfylder sine begrænsede designmål: den kan udtrykke en lang række ideer direkte og effektivt.

BØRN : I din bog Designet og udviklingen af ​​C++ , du hævder, at Kierkegaard var en indflydelse på din opfattelse af sproget. Er det en joke?

BS: Lidt prætentiøst, måske, men ikke en joke. En masse tanker om softwareudvikling er fokuseret på gruppen. Virksomhedspraksis kan være direkte fjendtlig over for personer med exceptionelle færdigheder og initiativ. Jeg anser en sådan håndtering af usædvanlige mennesker for både grusom og spild. Kierkegaard var en stærk fortaler for individet mod mængden. Jeg kan ikke pege på et specifikt træk ved C++ og sige: Se, der er indflydelsen fra 1800-tallets filosof, men han er en af ​​rødderne til min modvilje mod at eliminere funktioner på ekspertniveau. Jeg er dog ikke særlig glad for hans religiøse filosofi.

BØRN : Hvad fortryder du mest?

BS: Ingen fortrydelser! Nå, selvfølgelig drømmer jeg om, hvad jeg kunne have gjort anderledes og bedre – men hvem er jeg at gætte på, f.eks. Bjarne fra 1984? Han var måske mindre erfaren end jeg, men han var ikke mindre klog, sandsynligvis klogere, og han havde en bedre forståelse af 1984-verdenen, end jeg har. C++ er blevet brugt til at bygge mange systemer, der forbedrer vores liv, og det har haft en betydelig positiv indflydelse på senere sprog og systemer. Det er noget at være stolt af.

skjule