Kdaj bomo pisali programsko opremo v naravnem jeziku?

Objavljeno v časniku Finance Manager, 26.2.2026

Programerji si služimo kruh z jezikom. Do zdaj je bil to poseben, na matematiki in logiki temelječ, umetno ustvarjen programerski jezik, ki smo se ga morali programerji v celoti priučiti in ki nima veliko skupnega z naravnim jezikom, ki ga uporabljamo za komunikacijo med ljudmi.

Programski jeziki niso nastali zaradi strojev, ampak zaradi ljudi. Računalnikom so že ničle in enice povsem dober jezik, medtem ko je za ljudi tak, dvojiški jezik zelo težko razumljiv in bi zahteval ogromno miselnega napora, če bi v njem računalniku želeli povedati, kaj naj naredi. Programski jeziki so se torej razvili, da pomagajo pisati kodo, ki je razumljiva tudi ljudem in ne samo računalnikom.

Že pisanje kode je pošten zalogaj, a še večji izziv je njeno vzdrževanje, torej odpravljanje hroščev in spreminjanje oziroma dodajanje nove funkcionalnosti. Ko programer piše kodo, vanjo zašifrira svoje razumevanje, kaj in kako naj programska oprema dela. Vzdrževanje kode zahteva od programerja, da kodo najprej dešifrira in izlušči njen izvorni namen. Šele ko programer kodo dobro razume, jo lahko začne spreminjati, ne da bi povzročil nove hrošče ali pokvaril obstoječo funkcionalnost.

Ko se je pred tremi leti pojavil ChatGPT, se je prvič zgodilo, da je računalnik začel zelo dobro razumeti naravni jezik. Takrat sem pomislil: kaj če programske jezike nadomestimo z nečim, kar je ljudem veliko lažje razumeti in mnogo bolje ohranja razumevanje, ki ga programer zgradi med razvojem programske opreme.

Ko programerju omeniš, da bo v bodoče pisal programsko opremo v naravnem jeziku, je prvi odziv velik dvom. Programski jeziki so zgrajeni na trdni matematični osnovi, ki predvidljivo pretvori ukaze programskega jezika v zaporedje ničel in enic, to je, strojni jezik. Po drugi strani je naravni jezik poln izjem, nedoslednosti in dvoumnosti. Kako naj nekaj tako nenatančnega kadarkoli natančno opiše, kaj želimo od računalnika?

Moje novo zagonsko podjetje *codeplain razvija odgovor na to vprašanje. Vzeli smo naravni jezik in mu dodali orodja, ki programerju omogočajo bolj natančno izražanje. Poleg tega smo predpisali strukturo, v kateri se mora opisati delovanje programske opreme, kar pomaga programerju organizirati delo in obenem olajša sodelovanje, kadar programsko opremo razvija ekipa programerjev. Naš cilj je preprost: da programska oprema ne bi bila zapisana kot človeku težko razumljiva koda, ampak kot jasna razlaga v strokovnem, a še vedno naravnem jeziku.

Našo izpeljanko naravnega jezika smo poimenovali ***plain, ker angleška beseda “plain” označuje ne samo nekaj preprostega oziroma razumljivega, ampak tudi odprt prostor na katerem je mogoče zgraditi velike stvari. S tremi zvezdicami v imenu smo želeli poudariti, da gre za umetno ustvarjen jezik namenjen inženirjem, podobno kot tudi popularna programska jezika C++ in C# vsebujeta v imenu posebne znake.

Naravni jezik je bil dosedaj v domeni literatov in filozofov. S prihodom velikih jezikovnih modelov naravni jezik postaja tudi zmogljivo tehnološko orodje, ki se ga inženirji šele učimo uporabljati. Prvič v zgodovini je namreč mogoče doseči, da se naravni jezik izvaja kot računalniška koda, torej ne da bi bil v interpretacijo napisanega vpleten človek.

Spremembe, ki jih to prinaša, v temeljih pretresajo programiranje. V zadnjih treh letih se je programiranje spremenilo bolj kot prej v 60 letih skupaj in programerji se vsakdan znova sprašujemo, kaj pravzaprav pomeni biti programer. Čedalje bolj to pomeni predvsem sporočanje naših namenov računalniku v naravnem jeziku.