211service.com
Om Regler
Fredag den 6. april 1327, under påskemessen i St. Claire-kirken i Avignon, så Francesco Petrarca kvinden, han ville mindes som Laura, og blev uigenkaldeligt forelsket. Petrarch var 23 år gammel. Hvis litterær tradition er korrekt i at identificere genstanden for hans lyn som Laura de Noves var hun 17.

Jason Pontin, chefredaktør og udgiver
Petrarch mødte nok aldrig Laura; hun nægtede at se ham, fordi hun allerede var gift. Men da han døde i 1374, havde han komponeret hundredvis af digte, der hyldede hendes skønhed, beklagede sig over hans ulykke og sørgede over hendes tidlige død i en alder af 38, en respektabel mor til 11.
Denne historie var en del af vores januar 2007-udgave
- Se resten af problemet
- Abonner
Digtene er samlet i en bog, der almindeligvis kaldes Canzoniere , eller Sangbogen. For at rose Laura perfektionerede Petrarch den lyriske form kaldet sonetten, som i hans hænder består af 14 linjer, normalt af hendecastavelser, der rimer abba, abba, cdc, dcd eller en anden variation. Denne lille krabbeform er blevet efterlignet af tusindvis af digtere og har inspireret mange berømte eksempler på litterær kunst. Petrarchan-sonetten er blevet kaldt et bur, men det er et bur, der fanger en ejendommelig tankeøkonomi: oktaven, de første otte linjer, tilbyder et forslag af en slags, som er tilfredsstillende løst i sestetten, de sidste seks linjer. Reglerne for en sonet er strenge, men enkle.
Overvej derimod programmeringssproget C++.
Multimedier
Se redaktørens video.
Et program er ligesom et digt en form til at udtrykke ideer: i ét tilfælde udtrykker ord i et naturligt sprog, begrænset i en lyrik, en mands kærlighed til en smuk kvinde; i den anden udtrykker computerkode, bundet af et programmeringssprogs syntaktiske konventioner, ideen om, at en udenjordisk robot som Mars Rover kunne have et autonomt, indlejret køresystem.
C++ er uden tvivl det mest indflydelsesrige sprog i de sidste 25 år; mange af systemerne og applikationerne fra den personlige computer og internet-epoken blev skrevet i den, inklusive Googles søgemaskine og de elektroniske omskiftningssystemer, der ligger til grund for vores telekommunikationsnetværk. Men for alt det er C++ notorisk svært at lære og bruge. Dels skyldes det vanskeligheden ved at mestre sprogets paradigmatiske metode, kaldet objektorienteret programmering. Men det er primært fordi softwareudviklere frit kan udtrykke deres ideer i C++ i en forvirrende række forskellige former.
I Designet og udviklingen af C++ , forklarer sprogets opfinder, Bjarne Stroustrup (som vi interviewer i dette specialnummer om software; se Problemet med programmering ), at han har designet sproget sådan af kvasi-filosofiske årsager: Jeg finder Kierkegaards nærmest fanatiske bekymring for individet meget mere. tiltalende end Hegels og Marx' grandiose planer for menneskeheden. ... Ofte, når jeg blev fristet til at forbyde et træk, jeg ikke kunne lide, undlod jeg at gøre det, fordi jeg ikke mente, at jeg havde ret til at tvinge mine synspunkter over på andre.
Stroustrups tilbageholdenhed har ikke glædet generationerne af programmører, der har kæmpet med C++'s egenskaber af syntaks og funktioner overbelastning (for at bruge koderens jargon). Da en version af vores interview med Stroustrup blev lagt ud på Slashdot, et aggregatorwebsted, der tilbyder nyheder til nørder, tiltrak det 605 kommentarer. JCR spurgte: Hvorfor introducerer C++ så meget kompleksitet til så lidt gavn? Reglerne for C++ er komplicerede, men slappe.
Programmeringssprog påvirker flere mennesker end professionelle kodere. Selvom vores teknologiske civilisation kører på software, fungerer softwaren ikke særlig godt. Som vores forsidehistorie af Scott Rosenberg udtrykker det, hvor end du ser, er software over budget, forsinket, usikker, upålidelig og svær at bruge (se Alt du kan gøre, jeg kan gøre Meta) . Overdrevent komplicerede programmeringssprog, som C++ er et eksempel på, er en væsentlig årsag til softwarens forvirring. Dette skyldes, at et nyttigt programmeringssprog burde være, hvad dataloger kalder en abstraktion af den underliggende kompleksitet af kontrolstrømme og datastrukturer. C++ bevarer den størst mulige ytringsfrihed for programmører; men som JLeslie (en anden Slashdot-kommentator) indrømmede, var prisen, at det ikke var meget abstrakt.
Der kan være en anden måde. Charles Simonyi, den tidligere chefarkitekt for Microsoft, som nu er chef for Intentional Software, ønsker at vælte programmeringssprog for noget, han kalder intentionel programmering. Rosenbergs profil af Simonyi forklarer, hvordan bevidst programmering kan give udviklere en højere abstraktionsorden. I stedet for at skrive softwarekode på programmeringssprog, ville programmører med taknemmelighed give afkald på produktionen af kode til en generator, der ville sluge deres designs, som repræsenterede computerbrugeres intentioner, og spytte arbejdskode ud på et sprog, som computere kunne forstå, kompilere og køre. .
Det bedste udtryk for ideer opstår i former, der er strenge og enkle. Kunne Charles Simonyi tilbyde programmører en ny form, der på én gang er nemmere og mere stringent end noget, de har haft før? Skriv og fortæl mig på [email protected]
