Blogginlägg -

​Bör alla lära sig koda?

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

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 de inte har någon som helst möjlighet att kontrollera. 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, plats i Facebooks styrelse får du inte.

Å andra sidan.

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

Hey Siri, om någon Twittrar mig medan jag kör bil, läs upp Tweeten och föreslå ett svar baserat på mina tidigare Tweets

OK Google, nästa gång jag kommer hem, lås upp dörren, tänd hallampan och berätta ifall jag har fått post i brevlådan.

Cortana, om chefen mailar om säljsiffrorna medan jag sover, bifoga rapporten jag förberett och svara att jag just blev klar med den. Summera sen hans ändringar och maila mig så fort jag vaknar.

Allt i dessa tre exempel är fullt möjligt med dagens teknik och inom räckhåll med enbart lite rimligt tweakande av röstkomando APIer etc.

IFTTT är ett bra exempel på detta, om du inte har provat IFTTT än så tycker jag du skall 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:

  • Komma på en bra idé.
  • Inse att sjuttifjorton andra kommit på samma idé och att lösningen bara är att tanka hem.

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 och hur man gör det.

Nästa gång jag dansar, lägg till låten i min spellista på YouTube

Men frågan är om ens det är relevant. All programmering består av tre delar

  1. Iteration (gör något X antal gånger)
  2. Selektion (gör antingen A eller B beroende på F)
  3. 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 vare neurala nätverksmodeller och machine learning. 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.

Skriv ut en skalenlig modell till min modelljärnväg av det jag pekar på. Placera in den i mitt diorama lagom tills jag kommer hem. Har porslinsblomman slagit ut förresten?

Visst, programmering är bra och den som vill ha ett roligt jobb bör definitivt lära sig att koda. Men, det finns gott om viktiga grundstenar som måste på plats innan själva kodspråken. Engelska (gott om konferenser och tutorials kräver goda engelskakunskaper), Matematik (tro mig, vill du göra bra grejer med kod måste du vara duktig på matte) och strukturerat, kreativt tänkande.

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

Relaterade länkar

Ämnen

  • Elektroniska affärer, kommunikation

Kategorier

  • programmering
  • programmera
  • skola