Bör alla lära sig koda?

Nej, alla ska inte lära sig koda. Om det är något alla borde lära sig så är det att tänka.

Skrivet av
Kristoffer Yi Fredriksson - Digital strateg
Kristoffer Yi FredrikssonDigital Strateg17 apr, 2015

Visst, jag fattar argumentet för varför det är bra att kunna koda. Kod tar över hela världen och är man tillräckligt insatt kan man själv påverka sin omgivning istället för att bara vara en kugge i maskineriet.

Men.

Jag känner gott om folk som kan koda och som har facebook/instagram/twitter konton. Gott om folk som känner till googles filterbubbla och som fortsätter använda det. Villkoren dikteras uppifrån.

På samma vis som det inte räcker med att lära sig latin för att påverka den katolska världen så räcker det inte med att kunna knacka kod för att få något att säga till om on-line. Det tåget har gått.

Å andra sidan.

Det har aldrig varit enklare att uttrycka sig “med kod” och än enklare kommer det att bli. Vi har alla bitar på plats för att prata oss till hyfsat komplexa skeenden.

Allt i de tre exemplen är fullt möjligt med dagens teknik och inom räckhåll med enbart lite rimligt tweakande av röstkomandoAPIer etc.

IFTTT är ett bra exempel på detta, om du inte har provat IFTTT än så tycker jag du ska göra det nu. IFTTT låter folk skapa egna automationer enligt följande modell “Om [något händer] så gör [detta]".

Vad IFTTT framför allt gör är att visa vad det innebär att koda utan att man behöver koda. Mesta “hands-on” tiden går åt till att registrera diverse konton (i “verkliga” världen rotar man rätt på relevanta kodsnuttar på GitHub). Sen börjar det svåra

Det vi möjligtvis borde lära oss är med andra ord inte att programmera utan att tänka programatiskt. Det vill säga, att lära oss vad som är lätt att automatisera eller förstärka med hjälp av uppkopplad teknik.

Men frågan är om ens det är relevant. En föreläsare jag hade sa att all programmering består av tre delar

  • Iteration (gör något X antal gånger)
  • Selektion (tills ett mål är uppnått)
  • Sekvensering (gå sen vidare till nästa del av problemet med det du just kommit fram till)

Med de byggstenarna går alla logiska problem att lösa. De flesta “lär dina barn programmera” övningar tar fasta på det och likställer (med rätta) programmering med att dressera världens smartaste idiot.

Men hur länge till kommer det vara så?

Med hjälp av klassisk programmering så har folk byggt metoder för att låta datorer lära sig själva. Resultatet märks i hur röstigenkänning för något år sedan gick från dåligt skämt till förbluffande bra, även för Siri. Problemet är löst och det var inte tack vare traditionella metoder.

Det samma gäller nu bildigenkänning (computer vision). Datorer är idag bättre än människor på att identifiera saker i bilder, med undantaget för glass som verkar totalt omöjligt för en dator att lära sig.

Häromdagen ögnade jag igenom ett paper där de visade hur en dator tränats upp att dra helt korrekta slutsatser om sakers tredimensionella former från ett enda foto. Det är inte så märkvärdigt som det låter, titta på en bild själv och du kan gissa dig till de enskilda objektens former utan större problem.

Dessa tre framsteg — tal, syn, rumslig förståelse — har uppnåtts tack vara neurala nätverksmodeller. Lite enkelt: släng en enorm mängd data på en formel tills den lärt sig att återskapa mönster utifrån givna förhållanden.

Programmering för oss ickeprogrammerare kommer i framtiden vara en dialog vi för med en artificiell intelligens. Vi ska inte ödsla energi på att forma våra barn efter dagens verktyg. Vi ska göra allt vi kan för att lära dem tänka.