41. Python som favoritspråk med Alexander Hultnér

Vad skiljer Python från andra programmeringsspråk? Det reder vi ut i veckans Let's tech-podden som gästas av entreprenören och Pythonfantasten Alexander Hultnér. Ett samtal om själva tekniken och dess användarvänlighet såväl som kulturen som har uppstått kring språket.

Länkar

Om du inte hinner lyssna…

HE: Välkomna till Let’s tech-podden. Jag heter Henrik Enström och vi som gör det här är Codic Consulting och Codic Education. Vi håller på med konsulter inom IT och YH-utbildning inom programmering. I dag sitter jag här med Alexander Hultnér, som är grundare och VD för Hultnér Technologies. Välkommen, Alexander.

AH: Tack så mycket.

HE: Kul att ha dig här. Vi ska prata om programmering i Python i dag. Det är något som jag också gillar, så det kommer nog inte vara två olika sidor där den ena gillar det och den andra inte. Så vi får hoppas vi kan göra det intressant ändå. Men börja gärna med att berätta lite om dig själv och företaget, Hultnér Technologies.

AH: Mitt namn är Alexander Hultnér. Jag har bott i Göteborg i ungefär 10 år men kommer från Helsingborgstrakterna från början. Jag har alltid varit intresserad av allt tekniskt, programmering och även elektronik i allmänhet. Jag flyttade hit för att plugga på Chalmers och för ungefär fem år sedan började jag använda Python mer som mitt huvudspråk inom programmering, vilket det blivit mer och mer av de senaste åren. I mitt bolag så konsultar och frilansar jag delvis och hjälper ofta till med expertfrågor eller arkitektur på större projekt. Utöver det utvecklar vi en source-produkt för tillfället, som heter Papero.io som är ett verktyg för att väldigt enkelt kunna skapa pdf-filer med HTML och webbtekniker. Så man kan göra en template och så kan man bara pusha in lite JSON data och så får man ut snygga pdf:er.

HE: Snyggt. Det har vi själva problem med, kan jag säga, i Future Skill, en produkt som vi har inom vår lilla företagssfär. Att just skapa pdf:er har varit ett problem, så det kan vara en bra grej att hålla på med.

AH: Ja, jag har upplevt det problemet ett par gånger så av den anledningen satte vi i gång och byggde en liten sån produkt under pandemin förra året. Nu börjar vi så smått snacka med lite kunder och komma i gång. Vi har inte riktigt lanserat det än, men vi provar lite smått nu med tidiga kunder.

HE: Kul. Och hur var det att ramla in på Python först, kommer du ihåg det?

AH: Första gången som jag vet att jag publikt kodade något i Python var 2012 eller 2013 i ett program som hette Plex som nu har blivit ganska stort. På den tiden kunde man inte köra egna program på Apple TV, så det gick inte att köra Plex där. Så då fanns det något som hette PlexConnect, där man hijackade den här trailer-kanalen och fick in sitt eget content. Jag hjälpte till att debugga lite i det scriptet när det började komma, för att jag tyckte det var en kul grej och det var skrivet i Python. Så jag har någon commit där och jag tror jag var den tredje personen som commitade till det projektet eller något sånt där. Första externa.

HE: Ja, vad kul. Attans att det inte var bitcoin i stället.

AH: [skrattar] Ja.

HE: [skrattar] Nej, men vad kul. Hur kan en vanlig dag se ut för dig i dag?

AH: Ja, det beror lite på om det är en dag där jag jobbar med externa kunder. Då börjar jag ofta med att försöka formulera lite vad jag behöver göra i dag, fundera om det finns några problem vi behöver ta ställning till och om det är något jag behöver lösa. Jag gör en liten to do-lista, mer eller mindre. Detta brukar jag faktiskt göra redan innan jag går in till mitt kontor och på det viset så kan jag fundera lite mer på problemen. Jag promenerar alltid till jobbet och på vägen kan jag fundera lite mer på det och jag tycker det funkar väldigt bra för mig.

HE: Så du gillar den här strukturen, att ha en to do-lista att jobba efter?

AH: Alltså, jag skulle säga att jag gillar väldigt mycket att ha det bara för att formulera mina tankar. Men inte att det behöver vara en religiös struktur eller ritual, liksom, utan mer bara för att sortera vad jag behöver göra.

HE: Ja, jag gör samma sak när jag kommer hit. Om jag inte har skrivit en to do-lista på morgonen så blir det ofta en dålig dag på något sätt, för då har det varit stressigt. Det är en väldigt go’ känsla att stryka över saker i to do-listan: ”Nu gjorde jag det där som jag hade planerat.”

AH: Ja, precis. Jag skaffade faktiskt nyligen ett digitalt anteckningsblock som typ är som ett riktigt penna och papper, med e-papper. Den heter reMarkable 2. Det är ganska nice. Den har inbyggt så att man kan check boxa när man skriver sin to do-lista, men känslan av att skriva för hand finns fortfarande där. Man kan synka det till telefonen och göra text recognition så att den kan göra om det till text.

HE: Så du kan rekommendera den produkten?

AH: Ja, om man skriver mycket anteckningar så är den skitnice. Och att läsa på. Jag läser mycket böcker på den. Eller om jag bara har något referensmaterial uppe, när jag sitter och typ löser något problem så kanske jag har en bok inom just det ämnet. Om det då finns någon sida där jag vet att det finns bra grejer så kan jag bara gå dit snabbt.

HE: Jag kör old school. Jag kör fortfarande filofax. [skrattar] Om man går ännu längre än när du började med Python. Hur intresserade du dig för programmering från första början?

AH: Ja, jag har alltid tyckt om elektronik så länge jag kan minnas. Jag tyckte datorer var skithäftigt när jag var liten. Jag hade någon kusin som var ganska intresserad av datorer så det blev ganska naturligt, att direkt när jag började få händerna på datorer kring skiftet mellan 1990-talet och 2000-talet, så började jag göra webbsidor. Jag tror jag byggde min första webbsida 2001, så det var ju ganska tidigt.

HE: Ett tag sen, ja.

AH: Och så hade jag någon blogg för min katt, en typisk sån grej. [skrattar] Men ja, det kom in på det redan då. Och så startade det intresset. När jag var i den åldern så fattade inte jag att programmering var något man kunde jobba med. Det var liksom inte självklart för mig, utan jag sa att jag ville bli uppfinnare. Men jag visste inte riktigt vad det var. Men när man blev lite äldre fattade man att ingenjör kanske är vad en vuxen människa kallar det eller vad man ska säga.

HE: Ja, det fanns ett sånt jobb också som även var ditt intresse då kanske?

AH: Ja, precis.

HE: Vad var det för typ av elektronik som inte var datorer som du tyckte var kul?

AH: Alltså, det var ju typ allt. Jag byggde något litet larm till mitt rum så att det var en trip sensor när man gick in. Sen byggde jag lite med logikretsar med vanliga grindar och sånt. Det var ju typ när man började göra mer avancerade grejer som man insåg att, så fort man började lära sig att programmera, att det var mycket lättare att göra programmering.

HE: Var det någon förälder som satte det i händerna på dig då, eller?

AH: Alltså, min far var väl alltid inne lite på sånt. Han höll på med tåg och TetraPaks paketeringsmaskin och annat sånt. Men han var inte programmerare eller utvecklare på det viset. Men ja, det var väl lite tack vare det, att vi hade lite delar hemma i förrådet som man kunde leka med och så där. Det var ju ett intresse och jag ville alltid förstå hur saker funkar egentligen.

HE: Kul. I dag skulle vi ju prata om Python och du driver också ett community som heter Nordisk Python för Python-användare som samlar olika entusiaster i de nordiska länderna. Ni har mer än 600 följare. En ledande inledning här, men skulle du säga att du föredrar Python framför andra programmeringsspråk i dag och i så fall varför?

Det finns en väldig öppenhet [inom Python communityt] och vilja att inkludera och det har varit tydligt från toppnivå från början.

AH: Jo, det skulle jag definitivt säga. En av de stora anledningarna till det är framför allt hur communityn i Python-världen är. Jag tycker det finns en väldig öppenhet och vilja att inkludera och det har det funnits tydligt från toppnivå från början, att man vill vara jämställda, man vill ha in kvinnliga core-utvecklare och man vill inte vara främmande för nybörjare, utan vara ett språk som ska vara lätt att komma igång med. Man ska kunna skriva koder som är väldigt läsbara och lättförståeliga, utan att introducera onödig komplexitet. Men samtidigt inte stoppa en avancerad användare från att göra vad de vill. Jag tycker att det finns en väldigt skön aspekt där. Det finns andra språk som har häftiga, tekniska aspekter som jag kan tycka kan vara väldigt imponerande och intressanta, som Erlang och Elixir. Deras OTP-motor och deras BEAM VM, eller typ … programmering i funktionella språk kan jag också tycka är intressant, som Husk. Men just hela den här helhetsaspekten med Python och med communityt, gör att det är någonstans där jag vill vara professionellt och jobba.

HE: Vad säger du till de som anser att starkt typade språk närmast är ett krav för större projekt?

AH: Då säger jag att det inte är något problem idag i Python. Du har Mypy som ger statisk typning och det finns också ett par andra tredjeparts-type checkers. Microsoft har en som heter Pyright och sen så har Facebook Pyre. Det finns även olika verktyg för att kunna runtime type-checka grejer, så att man kan både ha statisk typening i compile time och i runtime i dag i Python.

HE: Ja. Är det något du använder själv också, eller?

AH: Ja, de projekten jag bygger idag, både själv och för kunder, är i princip 100 procent type coverage. I alla fall greenfield där det är nya grejer. Gör jag små script vid sidan om eller experiment, så kan det vara att jag inte alltid gör det eller ser att det finns ett värde. Jag tycker om att ha möjligheten att kunna välja. Vill jag gå den dynamiska vägen så har jag den möjligheten men vill jag statiskt type:a allting, så finns helt klart den möjligheten i dag.

HE: Har du någonsin haft problem att inte Python är så snabbt som vissa kompilerade språk och hur har du i så fall löst det?

AH: Jag skulle säga att de gångerna jag har haft de problemen, så har det alltid kunnat lösa sig med att man har olika bibliotek eller extensions. Just eftersom Python är byggt från början för att integrera väldigt tight med C, så finns det i princip alltid bibliotek som redan har en backend som redan är väldigt maskinnära och kan göra saker väldigt snabbt. Även bland folk som håller på med matematisk kod, data science och machine learning så har det blivit jättestort. Det hade man ju inte gjort om det var ett problem att Python var för långsamt. Du har ett interphase i Python. Det är inte i delen du skriver som prestandan behövs utan det är i det som är bakomliggande och det går att fixa.

HE: Men har Python några problem? Du försvarar ju lite Python när jag försöker attackera det kanske.

AH: Ja, men det ska vi väl säga, att alla språk har problem. Nyligen gick de ju över från att ha en grundare då, Guido Van Rossum, till att ha en steering council i stället, som styr språket. Det är ju ett stort framsteg i det sättet att man decentraliserar styret av själva språket. Det har stora företag som hjälper dem - Google ger ju pengar nu för att anställa en core-utvecklare på språket - men det är fortfarande kanske ett problem att de inte har de resurserna som kanske Oracle har bakom Java, till exempel. Man vill till exempel kanske ha en JIT-motor i den standard Python-implementationen. Man har lagt till facilitet för att kunna stödja det.

HE: Ja, någon just in time-koppling?

AH: Ja, precis. Det finns ju i andra Python-implementationer, typ PyPy. Men det finns ju fortfarande inte helt i standard-Python även om man har lagt till hooks för att kunna jacka in den i efterhand. Men det är en sån grej. En annan grej är deras global interpreter lock.

HE: Vad är det för någonting?

AH: Det är egentligen att i CPython, standardimplementationen - det gäller då inte PyPy och andra implementationer - så låser man hela världen egentligen ibland, när man kör trådar. Så när du har många trådar, så har du inte ett sätt att kunna ha sån parallell exekvering, utan då använder man processer eller subinterpreters. Ett problem där kan vara den här global interpreter locken. Jag har sett det som att det blir mikrolagg eller stuttering om man har applikationer där det är extremt känsligt med att det måste flyta hela tiden. Det är ju någonting man vill minimera eller jobba bort.

HE: Ja, kul. Det låter väldigt coolt. Om man lyssnar på det här och kanske ska börja med programmering, så kan det vara rätt med Python även om man är nybörjare då?

AH: Mm.

HE: Men även om man kanske kommer från något annat håll och hållit på med Java eller .NET och redan är programmerare, så skulle du också kunna rekommendera att gå in i Python?

AH: Jo, det skulle jag definitivt säga. Jag hade väl programmerat i typ tio år när jag började Python från början. Det kändes väldigt naturligt väldigt snabbt. Det var väldigt lätt att komma in i språket. Jag tycker att när man läser en Python-kod, så är det nästan som när man skriver pseudokod. Koden är nästan vad man tänker. Sen har jag sett att en del koncept från Python har börjat dyka upp mer i andra språk också. Såklart kommer det nya grejer till Python också, så ju mer tiden går, ju mer likheter bildas. Men jag tycker det är ganska trevligt att inte ha allt för mycket parenteser, måsvingar.

Koden är nästan vad man tänker.

HE: Det ska vara boilerplate, saker man måste skriva, så att säga?

AH: Precis, det blir väldigt rent på något sätt när man läser koden.

HE: En grej jag läste som jag inte kan så mycket om själv, är ett språk som heter Julia som växer väldigt snabbt och som har många av de här trevliga aspekterna i Python, att det inte är så himla pratigt. Men även att det är inbyggt att det är kompilerat och snabbt, som jag förstod det. Är det någonting du har tittat på eller tror du att det skulle kunna gå om Python och bli det nya Python om några år?

AH: Alltså, jag tror inte det så som jag ser det just nu. Men skulle det bli så, så, jag är inte religiös i frågan när det gäller språk och skulle det visa sig att det är bättre i längden. Men det är just det att jag verkligen tycker om communityn kring Python och att det finns hur mycket bibliotek som helst. Det finns en kultur av att man ska vara inkluderande och se att alla kan hjälpa till på sitt sätt. Den kulturen tror jag är viktigare än typ: ”Så här funkar språket just i dag.” För det är en detalj på något sätt och så kan man utveckla kring det. Man ser ett språk som har varit historiskt jättelångsamma som har blivit mycket snabbare och får nya funktioner. Det är en konstant evolution.

HE: Ja, det blir ju bara bättre. Man kan ju hela tiden välja vilket språk man vill använda så länge det är i öppna domäner, så det gör ju bara världen bättre om det kommer ännu fler språk.

AH: Ja, precis. Och framför allt att nya språk kan ju komma med idéer och tankesätt som man kanske inte haft tidigare. Pattern matching kommer ju i Python 3.10 och den funktionen tycker jag är väldigt intressant och jag har använt den i Haskell och Elixir. Det kommer ju mer från den funktionella världen och det är ju ett sånt koncept som gör att man kan skriva vissa typer av koder väldigt läsbart och enkelt. Det har väl varit en vattendelare, för en del tänker att det känns väldigt avancerat och funktionellt. Men jag har ju skrivit någon liten artikel om det och gjorde en del ganska förklarande exempel och visade hur det är väldigt likt resten av Pythons syntaxer och hur den går ihop och är väldigt konsekvent. Till exempel hur man destructar pattern är likadant som man constructar ett objekt, så att du kan använda samma statement i princip för att återskapa objektet. Så det blir och känns väldigt naturligt när man börjar göra det och det öppnar ju upp för att skriva parses och sånt på ett helt nytt vis, som man inte kan göra utan det egentligen.

HE: Intressant. Jag kan känna att det skulle kunna bli väldigt elegant av pattern matching, absolut.

HE: Jag tänkte också fråga, du är ju relativt ung men du har pratat mycket på konferenser och så. Vad var din väg in där och hur kom det sig? Hur lyckades du?

AH: Jag har alltid tyckt det är kul att lära ut, prata och förklara grejer. Jag var aldrig den som tyckte det var jobbigt att ha presentationer i skolan utan jag var alltid den som var frivillig för att presentera ett projekt. Jag tycker det är kul att förklara, berätta, presentera och prata, så på ett vis så har det väl alltid funnits inom mig. På företag jag har jobbat på så har jag haft en del interna föreläsningar och jag har haft en del lunchföreläsningar på Chalmers. Jag har anordnat Hackathon där jag snackade ganska mycket och har pratat lite på meetups och sånt. Sen kändes det väldigt naturligt att börja prata på konferenser. Jag tror faktiskt en av de tidigare konferenserna jag pratade på var foss-north här i Göteborg. Johan Thelin som anordnade det kontaktade mig. Vi har snackat lite om Python och träffades någon gång innan dess. Då sa han: ”Du ska inte komma och snacka på foss-north då?”, och jag bara: ”Jo, det är klart jag kan göra.”

HE: Fresh north, är det investering, eller?

AH: Nej, foss-north. Alltså, free open-source software Norden. Den anordnas varje år och han som driver det är från Göteborg, så de har haft det i Göteborg de senaste fem, sex åren.

HE: Kul. Vet du något om Python-communityt i Göteborg eller är det något du kan berätta?

AH: Ja, det finns ju en sån här meetup-grupp som heter GothPy. Där har jag snackat ett par gånger. Nu har det inte varit något event på ett år eftersom att det har varit corona. Jag vet inte, det hade varit kul med något online-event, men det behövs ju någon som drar i det i så fall. Men annars så tycker jag den är jättetrevlig. Jag brukar försöka gå på alla som jag har möjlighet och har föreläst ett par gånger. Det är ett ganska bra sätt om man själv vill testa att föreläsa lite. Det behöver inte vara så höga krav eller så, utan om man har någonting man vill visa så kan man testa att komma dit och visa det och så kan man iterera lite på sin presentation innan man kanske skickar in den till en större konferens.

HE: Så du ser fram emot till när corona är över och vi kan ha mer in person-möten igen?

AH: Ja, det tycker jag. En kul grej som faktiskt hände för något år sen var att när jag gick runt på stan här i Göteborg och skulle jag äta lunch med min flickvän, då kommer någon och ropar: ”Tjena, Hultnér”, och jag bara: ”Vem är det här?”, och så tänkte jag först: ”Är det någon jag känner som jag inte känner igen, eller är det någon jag inte har träffat på länge som jag har glömt bort?” Det kändes lite pinsamt, men efter typ en halv minuts pinsamhet, när han kom emot mig, så sa han: ”Du vet inte vem jag är men jag har sett dina videos online och sett dina föreläsningar.” Och så hade han sett att jag bodde i Göteborg och så råkade han bara se mig när jag gick förbi. Men vi träffades några gånger efter det och när corona är över så kommer vi nog fortsätta att träffas och hänga lite. Jag tycker det är jättekul att connecta med andra som också är intresserade av programmering och Python.

HE: Ja, precis. Du har även skrivit en del artiklar och gjort föreläsningar och så har du dem online. Om man letar upp dem, är de mer för avancerade programmerare eller även för nyare?

AH: Jag försöker hålla en nivå så att man ska förstå det även om man inte är avancerad. En del av ämnena kanske är väldigt intressanta om man är lite mer avancerad. Jag har pratat en del om property-based testing och olika såna grejer. Men jag försöker alltid lägga det på en nivå så att man kan förstå det även om man aldrig har hört talas om det innan eller använt just de teknikerna tidigare.

HE: Vad ska man söka efter om man är intresserad av att titta på det?

AH: Sök på mitt namn, Alexander Hultnér. På hultner.se så har jag länkat till ganska mycket av de som finns på YouTube. Jag har en YouTube-kanal där jag har tänkt göra mer videos. Än så länge har jag bara några enstaka, men jag har en lista där med en del från andra konferenser, så där är nog i alla fall ett dussintal tillgängliga.

HE: Och du har även gjort någonting med open-source?

AH: Ja, jag älskar ju open-source så jag försöker involvera mig så mycket som jag kan. Jag har ju varit involverad i ett projekt som heter Schemathesis och även föreläst mycket om det för att hjälpa till att sprida det.

HE: Vad handlar det om?

AH: Det tar det här kanske lite komplicerade konceptet som är property-based testing och sen så gör du det väldigt enkelt, genom att säga så här att många API:er i dag har en specifikation. En av de vanligaste är OpenAPI som tidigare kallades för Swagger. GraphQL är även en annan stor sån. Båda går att använda med schemathesis. Så i stället för att skriva 1 000 tester som testar att: ”Om jag gör en sån här request så ska jag få statuskod 200 med de här propertisarna”, så skriver du i stället: ”Här är schemat för min API”, och så räknar den ut hur den borde bete sig utifrån det eftersom specifikationen ska säga hur svaren ska se ut och hur datorn man ska skicka till den ser ut. Så då försöker den breaka det. Får den då upp något fel så kommer den att logga det och visa dig: ”När jag skickar in de här kinesiska tecknen som lösenord så brakar allt samman”, till exempel.

HE: Den låter väldigt intelligent om den kan gå från ett schema till att testa så mycket. Den kan inte skriva koden åt en också, eller?

AH: Nej, implementationen gör den inte i dagsläget. Det finns verktyg som kan göra lite sånt, men affärslogiken är ju omöjlig. Men den gör väldigt mycket åt dig och jag tycker det är jätteintressant, hur den kan ta bort väldigt mycket av de här boilerplate-delarna av testningen och att den hittar väldigt mycket. Jag har hittat väldigt subtila fel i många system genom att använda den typen av tekniker, så det är ju väldigt intressant.

HE: Så property-based testing är någonting att försöka med?

AH: Ja, det tycker jag. Det växer ju snabbt nu. Och förra året introducerade man på Pythons så kallade Language Summit som är för utvecklingen av själva språket i sig, att man skulle börja köra lite property-based testing för hela språket som helhet, för att faktiskt grundligare verifiera att allting funkar som det ska. Men än så länge känns det inte som att det har blivit så extremt stort ute i industrin. Jag har använt det lite på en del företag och de gångerna jag har gjort det, så har det ofta varit väldigt uppskattat, men jag märker också att de flesta inte känner till vad det är för någonting. Om man kanske inte använt Haskell innan så kanske man har använt QuickCheck och känner igen det därifrån.

HE: Just det. En kanske lite udda fråga, vilket är programmeringsspråket du tycker minst om och varför då? [skrattar]

AH: Oj. Ja, det är faktiskt en väldigt svår fråga.

HE: Jag startar flame war här med någon som älskar det språket. [skrattar]

AH: Jag vet inte, jag kommer inte på något språk, så här på rak arm, som jag hatar jättemycket. Det kanske är typ, om man kan räkna det som ett programmeringsspråk, Microsoft Access, för att man ibland har fastnat med några helt hemska system byggda i Access som man ska migrera till någonting lite vettigare. De som har använt det vet nog hur det kan se ut där. [skrattar]

HE: Ja. Du har aldrig råkat ut för BASIC när man skrev 10, 20?

AH: Ja.

HE: Det är lätt att hacka på menar jag, för det är ingen som använder det längre.

AH: Ja, precis. Jag tänker att det kommer lite med att om man kör Access så är ofta BASIC med någonstans, eller åtminstone Visual Basic.

HE: Ja, just det. Jag tror det ganska länge var ett av världens största programmeringsspråk, VB och VBA.

AH: Ja. När jag startade mitt första företag och när jag började programmera kring runt 2008, så jobbade jag en del på projekt som hade stora kodbaser med Visual Basic och liknande. Det fanns kodbaser där det inte fanns en funktion i hela kodbasen, utan man använde någon mix av GoTo och inkluderade filer till exempel, eller andra kreativa lösningar för att återanvända. Ibland funktionalitet och copy paste:a.

Mycket av tiden [när man programmerar] går åt att förstå, läsa, modellera och bygga upp en bild kring problemen. Det handlar inte om att skriva så många tecken som möjligt.

HE: Så vi har kommit längre i dag i alla fall, än den koden som du hade då?

AH: Ja, jag skulle säga det. Det är väldigt mycket lättare att resonera kring kod i moderna språk. Man kan ju skriva spaghettikod i vilket språk som helst.

HE: Ja. Om vi tittar in i framtiden, hur tror du att programmeringsspråken kommer att fortsätta förändras över tid? Kommer det att gå mot att nästan vem som helst kan programmera, eller vad ser du in i framtiden?

AH: Jag tror att språken kommer göra så mycket de kan åt dig. Förr kanske man snackade om att man måste skriva vissa delar i Assembly för att kunna ha full kontroll över hårdvaran. Jag tror inte det är så många som gör det i dag. Någon enstaka. Måste du så måste du, men om man tänker på det stora hela så tror jag det är en allmän trend att man har bättre abstraktioner. Logiken måste man alltid formulera, men jag tror det kommer finnas lättare sätt att mappa ens tankesätt till logik som datorn kan förstå. Språken i sig tror jag evolvera längs den linjen också. Det kommer vara mycket enklare att förklara för datorn: ”Det här tänker jag ska hända.” Men jag tror det alltid kommer behövas någon som definierar logiken. Jag skulle vilja säga att en stor del av ens jobb när man programmerar är inte att kanske skriva koden. Det är inte så att man sitter och knapprar en novell hela dagarna som kanske vissa tror om man kallar på hacker-tv. Mycket av tiden går åt att förstå, läsa, modellera och bygga upp en bild kring problemen. Det är det det handlar om egentligen, det handlar inte om att skriva så många tecken som möjligt.

HE: Så du tror inte det kommer gå mot att man beskriver för en AI vad man vill ha för beteende och så börjar den att lägga upp en första ansats?

AH: Det kommer definitivt finnas såna lösningar. Jag skulle vara väldigt försiktig med att säga hur det kommer att funka i framtiden. Det kan säkert vara så, men du måste ju fortfarande beskriva för AI:n. Alltså, då blir det det som blir problemet.

HE: Det blir det som blir jobbigt i stället? Ja, precis.

AH: Ja, precis, du måste ju fortfarande formulera problemet, för AI:n kommer inte komma på problembilden av sig själv.

HE: Nej, det tar i alla fall ett tag innan vi är där. Jättekul att prata med dig. Stort tack, Alexander Hultnér.

AH: Ja, tack själv.

Previous
Previous

42. E-handel med Niklas Helgesson

Next
Next

40. Framtidens arbete med Greta Braun