Demokratizacija programiranja

Objavljeno v časniku Finance Manager, 19.5.2023

Moj oče je bil v osemdesetih letih prejšnjega stoletja finančni direktor v več slovenskih podjetjih. To je bil čas intenzivnega prehoda na avtomatsko obdelavo podatkov v računovodskih službah in še živo se spomnim, kako učinkovito je programska oprema zamenjala pisalne stroje in ročno računanje, da se je produktivnost dela v očetovem oddelku le v nekaj letih več kot podvojila.

Oče se je uspešno naučil dela z osebnimi računalniki in postal mojster Lotusa 1-2-3, ki je bil predhodnik Excela v času operacijskega sistema MS-DOS. Naslednja stopnica, to je programiranje računalnikov, je bila zanj previsoka, zato se je večkrat obrnil za pomoč name. Čeprav sem bil še v osnovni šoli, sem že bil sposoben razvoja zahtevne programske opreme in sem za očetovo službo razvil več programov po njegovih navodilih.

Zadnjih 40 let je bila uporabnost računalnikov v velikem delu omejena z razpoložljivostjo ljudi, kot sem jaz, ki smo imeli znanje programiranja. Ljudje, kot je bil moj oče, so si lahko predstavljali, kako bi lahko avtomatizirali procese in razvili nove digitalne produkte, vendar so lahko le redko upravičili strošek najema programerjev, ki bi njihove ideje pretvorili v delujočo računalniško kodo.

Revolucija, ki jo je sprožil ChatGPT, je prvo eksistenčno krizo sprožila med programerji. Vsi smo mu v zadnjih mesecih naročili, naj napiše primer kakšne računalniške kode, in potem z mešanico groze in norega navdušenja opazovali, kako je ChatGPT v le nekaj sekundah napisal kodo za katero bi sami potrebovali ure in je bila vsaj tako dobra kot če bi jo napisali mi.

Neprogramerji lahko že danes uporabijo ChatGPT namesto programerja, da jim generira računalniško kodo na podlagi opisa v naravnem jeziku, vendar te kode ne bodo znali povezati s strežniki, podatkovnimi bazami in ostalimi sistemi, ki so potrebni, da računalniška koda zanesljivo deluje. A ni razloga, da se v naslednjih nekaj letih potrebna infrastruktura ne razvije in dobijo končni uporabniki možnost direktnega programiranja računalnikov in specializiran ceh programerjev ne bo več potreben.

Demokratizacija programiranja na podlagi velikih jezikovnih modelov, kot je ChatGPT, se je že začela. Microsoft je pred dobrim mesecem objavil Copilota za Excel. Ta običajnim uporabnikom omogoča izdelavo avtomatizacij, ki bi prej zahtevale programiranje v programskem jeziku basic. Vendar bo programiranje resnično demokratizirano šele, ko si bo vsakdo sprogramiral svoja lastni excel, torej ko bo vsa moč računalnikov v celoti na voljo vsakomur.

Programiranje je treba demokratizirati, da bodo naslednjega Talking Toma lahko naredili osnovnošolski učitelji, naslednji Cleanshelf skupina nekdanjih sodelavcev iz računovodskega podjetja in naslednji Bitstamp študent prava. Nadzor nad ključnimi produkcijskim sredstvom sodobne digitalne družbe je programerjem, kot sem sam, omogočil bogatenje, medtem ko je večina drugih poklicev v zadnjih desetletjih izgubljala veljavo. Demokratizacija programiranja skupaj z novimi zmožnostmi, ki jih prinaša napredek na področju umetne inteligence, odpira vrata širši družbi, da začne bolj dejavno oblikovati digitalni svet in ni več samo pasivni porabnik storitev, ki smo jih razvili mi, programerji.