Talking to Machines: The History and Future of Programming Languages
Dag 1, 2. september 2026 · kl 09:00 · Piotr Łaskawiec · 📋 i programmet · 🌐 offisiell beskrivelse
Łaskawiec åpnet JavaZone med en historisk og filosofisk reise gjennom programmeringsspråkenes historie, fra Charles Babbage og Ada Lovelace i 1800-tallets England, via ENIAC og assembler, til dagens naturlige språk som «nivå seks» i abstraksjonsstigen. Han gikk gjennom pionérspråkene og knyttet hvert av dem til nåtiden: Fortran ga oss den første optimaliserende kompilatoren (og programmerere som hevdet at kompilatoren aldri kunne matche håndskrevet maskinkode tok feil, akkurat som dagens LLM-skeptikere), ALGOL ga kodeblokker og leksikalsk skop som Java arver direkte, Lisp introduserte garbage collection og REPL, men også «the curse of Lisp», som han sammenlignet med dagens AI-genererte kode skrevet fra bunnen av i stedet for å gjenbruke biblioteker. COBOL var universets første advarsel om at ren engelsk er for tvetydig til programmering, mens norskutviklede Simula skapte objektorientering for å simulere virkeligheten, en motivasjon vi har mistet, og som DDD senere bare restaurerte.
Han viste deretter at moderne Java-funksjoner som lambdaer, type inference, records, pattern matching, moduler og virtuelle tråder alle stammer fra eldre språk (Lisp, ML, Haskell, Mesa, Erlang). Java er ikke en kopist, men «programmerings-darwinisme» i praksis. Populariteten til språk handler ikke om kvalitet, men om økosystem, tilfeldigheter og psykologiske krefter som Sapir-Whorf-hypotesen og Blub-paradokset.
Om fremtiden argumenterte han med Fred Brooks’ «No Silver Bullet»: alle tidligere språk angrep bare den aksidentelle kompleksiteten, mens AI er det første verktøyet som går løs på den essensielle. Kanskje er det annerledes denne gangen. Men naturlig språk er for tvetydig når presisjon kreves, så løsningen er kontrollert språk: struktur fremfor prosa, gode eksempler, kode for presisjon og feilende tester som «fitness-funksjoner». Statisk typede, populære språk som Java egner seg godt i AI-æraen fordi typer og kompilatorfeil gir agentene en feedback-loop. Og siden modeller trenes på eksisterende korpus, blir AI paradoksalt nok de gamle språkenes voktere.
Tags: Språkdesign · Java · Historikk · Tooling · Keynote · AI · LLM · JVM