Medborgarprogrammering

I början av året skrev Copyriot om förslaget att man bör satsa på programmering i skolan (även kommentarerna är väldigt intressanta att läsa). Jag har sedan dess tänkt ganska mycket på just denna fråga eftersom jag har börjat använda programmeringsinslag i min egen forskning. Vad är programmering bra för, bortom instrumentella anvädningsområden?

Men här tänkte jag varken diskutera programmering som forskningsmetod eller programmering som något som man lär sig för att bli "programmerare". Istället tänker jag att det finns utrymme för att beskriva en (tänkbar) programmeringspraktik som ryms inom begreppet "medborgarskap". Alltså, frågan blir istället, kan vi tala om programmering som en slags bildning, en praktik vi kan kalla medborgarprogrammering?

Mina programmeringskunskaper är förvisso (än så länge) ganska ytliga. Jag tillbringade några lata veckor på olika caféer i Beirut med självstudieboken Learn Python the Hard Way och repeterade sedan på Codecademy. Därefter var det enkelt att börja tillämpa dessa grunder på mera specialiserade problem. Python är nämligen inte bara enkelt till sitt syntax, vilket gör inlärningen relativt snabb, utan innehåller framförallt ett gigantiskt bibliotek av mjukvarupaket som enkelt går att importera i den programkod man skriver. Man behöver alltså inte uppfinna hjulet flera gånger.

Trots att mina programmmeringskunskaper är ganska ytliga har de i någon mening har de ändå gett mig en slags indikation på att det finns ett viktigt 'kritiskt-intellektuellt' element i programmering bortom den tillämpade praktiken, ett element som är svårt att tänka utan att först ha redskapen för att kunna tänka dem. Om vi går med på att ett medborgarskap ökar i omfattning och agens genom utökade kunskaper har alltså programmeringskunskaperna en dimension som överskrider "anställningsbarhet i IT-samhället", dvs. bortom standardargumentet för varför programmering är viktigt.

Ur ett medborgerligt perspektiv är det kanske viktigaste med programmering att vi kan tänka bortom världen så som den är given till oss eftersom vi i allt större utsträckning begriper den. I dagens samhälle utgör den ökade digitaliseringen en central förändringsanordning. Att acceptera den så som den är "förprogrammerad" - att bara ge upp och bli ställd av den - är inte rätt väg framåt.

När man diskuterar värdet av programmeringskunskaper stöter man ofta på två skeptiska invändningar. Den första är mediehistorisk och lyder ungefär "men typsättarna, boktryckarna, telegrafisterna, bokbindarna, kameramännen hade enbart tekniska kunskaper som andra sedan omvandlade till idéer, handlingar och kunskaper". Det är kanske sant att om man kan binda en bok eller telegrafera ett meddelande så har man i dessa fall väldigt begränsade kunskaper och får inte mera makt över "innehållet". Man kan till och med tänka sig en icke-läskunnig bokbindare. Men, denna jämförelse haltar på flera sätt. För det första lämnar denna typ av (funktionalistisk) mediematerialistisk teori väldigt lite utrymme för att inkorporera ett tänkande i anordningarna som analyseras. För det andra inbegriper programmering bara i begränsad utsträckning något som har med "medier" eller "innehåll" att göra. Programmering omfattar ju alla typer av problem som kan omvandlas till maskininstruktioner, inte bara tillverkandet av något som kan "medieras" (typsättarens datormotsvarighet är kanske html-kodaren, fast redan här är den senare kvalitativt sett mera avancerad).

Inte bara medier är programmerade. Även infrastruktur och saker som vi sällan lägger märke till i vårt vardagliga liv är programmerade, direkt eller indirekt. Att slänga soporna, låna en bok på biblioteket, gå till tandläkaren, handla mat - alla dessa aktiviteter är datoriserade. Och även om de är "teoretiskt" genomförbara utan att blanda in datorer (så gjordes det ju "förr") så är det praktiskt taget omöjligt. Kostnaderna och prishöjningarna (alternativt lönesänkningarna) skulle vara alltför stora.

Moderniteten går inte att begripa i sin nuvarande form utan att begripa dess maskininstruktioner.

Med detta vill jag dock inte säga att man måste lära sig programmering för att förstå moderniteten, det vore ju minst sagt begränsande. Vad jag vill mena är istället att programmeringskunskaper bidrar till att förstå den produktiva infrastruktur som hela tiden skjuts framåt i en slags moderniseringsfront som präglar vår samtid. På samma sätt som massproduktion, standardisering, löpande band, byråkratisering utgör konstitutiva element i nittonhundratalets industrikapitalism, har datoriseringen utlöst en serie kvalitativa skillnader i hur våra moderna liv "formateras", för att låna ett begrepp från filsystemens värld. Förvisso är vi människor inga disketter (minns ni dem!) som formateras, men när vi ska köpa en liter mjölk är det praktist omöjligt att inte involvera programmerade maskiner.

Den andra invändningen brukar klinga i en tonalitet av falskt medvetande och "totaliseringstänkande". Denna skeptiska idé brukar i första led bestå av en kritik av 'programmeringsoptimismen' (en optimism som ofta uttrycks av politiker, "evangelister" och företag) och istället visa hur denna är en produkt av vad man slarvigt kan kalla för en "kapitalistisk ideologi". All överbyggnad som talar varmt om programmeringens medborgerliga, demokratiska eller bildningsmässiga kapaciteter är i grunden underblåst av och hämtar sin näring från ett ökande behov av programmerare som arbetare. Google sponsrar programmering och öppen källkod med ett givet egenintresse av framtida arbetskraft. Politiker som säger att vi ska lära barnen att programmera har i baktanken en framtida tillväxt och välfärd.

Båda invändningarna har en viss giltighet. Speciellt när programmering utförs i allt mera specialiserade företag och när programmeringsarbetsuppgifter flyter fritt på en globaliserad marknad. De miljoner rader kod som vi dagligen använder oss av bara genom att slå på våra datorer, telefoner eller busskort är abstraherade produkter som köps och säljs på en global marknad. Vi förblir i stor utsträckning konsumenter av dessa produkter.

Men invändningarna motsäger inte att det parallellt med en sådan mittfåra kan finnas utrymme för en annan form av programmering, en form som upptäcker och omformar de existentiella maskininstruktioner som omger oss.

Jag vill inte definiera vad en sådan form skulle kunna inbegripa. Det är troligtvis en dålig idé eftersom exakt vad som är programmerbart och vad som kommer att vara programmerbart i framtiden är en ganska öppen fråga. Dessutom har jag börjat tänka på dessa saker först och främst genom att mina väldigt vardagliga observationer förändrades i takt med att jag tänkte alltmer på programmering medan jag lärde mig Python. Att se hur världen är programmerad gränsar i sin överdrivna form till hallucination, en kognitiv patologi där allt blir kod. Jag ser elementet i lägenheten och funderar på hur termostaten är programmerad med olika if-satser för att kunna slå av och på värmen vid rätt tillfälle. Jag åker spårvagn och funderar på om det går att hämta informationen om trafiken i realtid från något API på internet.

Jag funderar på när Vetenskap och Folkbildning gör en opinionsundersökning och om hur man lättare kunde räkna ut felmarginaler.

Medborgarprogrammering handlar inte om att man kan mäta "demokratiska effekter" av olika projekt och produkter. Snarare tänker jag att man borde ta utgångspunkt i hur det kritiska tänkandet förändras. Om det alls förändras? Vad tror ni?