David Heinemeier Hansson o budućnosti programiranja i Linuxa
David Heinemeier Hansson je gostovao kod Fridmana prije 9 mjeseci i možda su se neki i pitali što to ima novo za reći u tako kratko vrijeme. U novoj epizodi Fridman i Hansson govore o budućnosti programiranja, AI-u, agentskom inženjeringu, vibe codingu i Linuxu. Epizoda traje 5 sati, ali ja sam si skratio vrijeme preslušavši je na 1,5x brzini.
Stvari u developmentu su se drastično promijenile u zadnjih 9 mjeseci. Hansson je nekoliko puta spomenuo kako živimo u vremenu kad se u tjednima dogode cijela desetljeća. To je izreka koja se pripisuje Lenjinu, ali nema dokaza da je on to stvarno i rekao.
Delirij
Hansson je oduševljen AI-em, agentima i novim mogućnostima za razvoj aplikacija. U prvoj fazi agentskog programiranja mislio je da ljudi trebaju donositi ideje. Više ne misli tako, vjeruje da su agenti kreativniji. Možda je oduševljenje preslaba riječ, on je u fazi delirija i tvrdi da u zadnjih 40 godina nije vidio stvari kakve je vidio u zadnja dva mjeseca. Čak tvrdi da u novim modelima vidi bljeske AGI-ja ( Artificial General Intelligence/Opća umjetna inteligencija).
AI doprinos otvorenom kodu
On tvrdi, i u tome se slažem s njim, da agenti isporučuju bolji kod od većine programera. On može s punim pravom govoriti o tome jer je desetljećima pregledavao doprinose velikog broja programera na projektima otvorenog koda kojima je upravljao. Nije mu jasno zašto se oni koji upravljaju projektima otvorenog koda bune zbog povećanog broja doprinosa i koda koju šalju i ljudi koji ne znaju programirati. Smatra da je sada najbolje vrijeme za upravljati projektom otvorenog koda, lakše mu je odbiti prijedloge jer "klankeri nemaju osjećaje". Hansson za filtriranje doprinosa koristi AI agente i on pregledava samo ono što mu oni izdvoje.
On su svojem deliriju vidi samo dobre strane, a neke moguće probleme zanemaruje. Osnovni problem koji nastaje zbog lakoće generiranja koda je da aplikacije postaju prenatrpane mogućnostima, postaju kompliciranije.
5% razloga za nastanak aplikacije
Hansson je spomenuo i to da većina ljudi koristi samo 5% mogućnosti nekih aplikacija. Mogli bi pomisliti da je onda lako napraviti da aplikacije postanu jednostavnije, ali problem je u tome što svaki korisnik koristi nekih drugih 5% mogućnosti. Tu vidi primjenu vibe codinga, da svaki korisnik sebi složi aplikaciju koja će imati tih 5% mogućnosti i ništa više. Naveo je primjer Typora aplikacije za pisanje od koje mu je trebalo samo tih 5% pa je napravio svoju - Omawrite. Koristim Typoru i isprobao sam Omawrite. Pokrenuo sam je i vidio da mi ne odgovara. Definitivno sam siguran da se njegovih 5% ne preklapa s mojih 5%, a i čini mi se da od Typore koristim više od 5%. Nezadovoljan aplikacijama za pisanje, prije nekoliko mjeseci izvajbao sam svoju koju sam nazvao Yawa (Yet Another Writing App) i sad je koristim za skoro sve što pišem (osim koda). Ovih 5% definitivno će biti glavni razlog da ljudi krenu u vibe coding i izradu svoje aplikacije.
Zašto je prihvatio najružniji programski jezik današnjice?
Hansson smatra Ruby najljepšim, a Rust najružnijim programskim jezikom koji je nastao u zadnja dva desetljeća. No Hansson je počeo raditi projekte koristeći Rust. Neke njegove mogućnosti i dobre strane su bolje nego u drugim programskim jezicima. Ali prihvatio ga je samo zbog toga jer ne gleda taj kod, projekte u Rustu mu programiraju samo agenti.
I ja sam povremeno gledao u pravcu Rusta, ali uvijek me odbijala ta njegova kriptičnost. Yawa je dijelom napisana u Rustu. Nisam napisao ni najmanji dio tog koda.
Smanjimo skillove
Prije par mjeseci kod koji su isporučivali agenti je bio previše kaotičan, često su otišli u smjeru u kojem nismo željeli ili su nešto napravili na način na koji nam nije bio prihvatljiv. Zbog toga smo počeli pisati skillove kako bi ih usmjerili na pravi put.
Hansson tvrdi da to više nije potrebno, da su agenti napredovali toliko da im hrpa postojećih skillova više smeta jer previše toga opisuju i ograničavaju agente. On smatra da moderni agenti znaju bolje.
Ja nikad nisam pretjerivao sa skillovima, ograničavao sam agente samo kad bi krenuli u smjeru za koji sam bio uvjeren da je pogrešan.
Hansson spominje da treba opisati problem i pustiti da agenti sami odaberu način njegovog rješavanja.
Tu mi se čini da leži jedna druga opasnost - agenti će za rješavanje zadataka birati tehnologije koje su najviše zastupljene u modelima, vrlo je vjerojatno da će se povećati korištenje jednih (npr. JavaScript/Node.js na webu) na štetu drugih.
Omarchy
Omarchy, o kojem sam već pisao, je Linux distribucija, bazirana na Arch Linuxu, koja je u potpunosti nastala agentskim inženjeringom. To je projekt kojim se Hansson sada jako intenzivno bavi i koji je trenutačno dobio preko 20 milijuna dolara donacija/investicija. Svako malo se pojavi novi donator pa se iznos stalno mijenja. Nadam se da će dio tog iznosa preusmjeriti i ljudima koji razvijaju Arch.
Omarchy je Hansson složio prema svojim idejama i njegov konačni cilj je operacijski sustav koji će svaki korisnik moći prilagoditi svojim potrebama. Naravno, neki početni smjer se mora poklapati s Hanssonovim idejama.
Ideja da možeš razgovarati s operacijskim sustavom i promijeniti što želiš je odlična. To može imati dobre i loše strane, ali idemo se najprije fokusirati na dobre. Omarchy (zapravo Hyprland) ima dosta problema s aplikacijama u trayu (sistemska traka). Megasync je jedna od njih. Umjesto da čekam da isprave probleme, mogao bih tražiti od agenta da ih popravi. Moram probati. Nadam se da mi neće cijeli dan otići na to i da će tokena biti dovoljno.
Hansson smatra Linux idealnim agentskim operacijskim sustavom upravo zbog stvari koje se nisu dopadale nekim korisnicima, u prvom redu alati u komandnoj liniji i konfiguracija koja se nalazi u tekstualnim datotekama. Kao loše primjere navodi druga dva glavna operacijska sustava u kojima dosta toga korisnik mora riješiti klikanjem kao jedinim načinom.
Iz Hanssonove perspektive to izgleda kao odlična ideja. Ali sjetimo se običnih korisnika. Još dok sam se morao baviti rješavanjem problema na tuđim računalima uvjerio sam se kako neiskusni korisnici imaju nepresušnu inspiraciju i talent da računalo dovedu u stanje nepopravljivosti. Kad bi ti korisnici dobili takvu moć u ruke, rezultati bi vjerojatno bili takvi da bi ih preblago bilo nazvati IT Frankensteinovima.
Kakve bi to probleme moglo izazvati onima koji održavaju računala u velikim sustavima? Umjesto unificiranih računala, s istim problemima, dobili bi snowflake hell, svaki korisnik imao bi svoje jedinstveno računalo kao što je i svaka snježna pahulja jedinstvena.
Hansson je spomenuo kako već ima 330 pluginova za Omarchy, njihov razvoj uz pomoć agenata je sada postao jako jednostavan. No pitanje je kako se snaći u toj gomili, koliko će biti istih pluginova koji će se razlikovati u nevažnim detaljima? Umjesto traženja u gomili korisnici će iskoristiti svojeg agenta da toj gomili pridonesu s još nekoliko pluginova. "David, it's full of plugins!".
Što će biti za 9 mjeseci?
Fridman je pitao Hanssona da predvidi što će se s razvojem aplikacija dogoditi u budućnosti. Unatoč deliriju Hansson se nije dao uhvatiti u zamku i nije ništa predvidio. Jedino što je izvjesno je kako će se u tjednima koji slijede opet dogoditi desetljeća.

PHOTO: