HelloWorld logo
29.01.2026. ·
4 min

Tvorac TypeScript-a: AI je sistem koji prežvakava postojeća rešenja, ne stvara nova

HelloWorld

Veštačka inteligencija sve više ulazi u svakodnevni rad programera, ali jedan od najuticajnijih ljudi u razvoju modernih programskih jezika ima znatno prizemniji pogled na njene realne domete. Anders Hejlsberg, Microsoft technical fellow i autor jezika C# i TypeScript, kaže da današnji AI sistemi uglavnom funkcionišu kao mehanizmi koji prežvakavaju i ponavljaju ono što je neko već uradio, uz ograničenu ekstrapolaciju.

Hejlsberg je to izjavio u razgovoru sa istraživačkom savetnicom GitHub Eirinijem Kalijamvakou, gde je govorio o upotrebi AI-ja u razvoju TypeScript-a, ali i o širem uticaju generativnih modela na budućnost programerskih alata.

TypeScript 7.0 i prelazak na nativni kompajler

Jedna od ključnih tema intervjua bio je dolazak TypeScript-a 7.0 i potpuno novi nativni kompajler, koji se trenutno nalazi u preview fazi. Dosadašnji kompajler bio je pisan u samom TypeScript-u i izvršavao se preko JavaScript okruženja, ali je vremenom postalo jasno da takav pristup predstavlja ozbiljno ograničenje po pitanju performansi.

Prema Hejlsbergovim rečima, prelazak na nativni kod doneo je višestruko ubrzanje. Oko polovine dobitka dolazi iz same činjenice da se kompajler sada izvršava kao nativna aplikacija, dok je ostatak rezultat mogućnosti korišćenja deljene memorije i konkurentnog izvršavanja.

Tim se svesno odlučio za port postojećeg koda umesto pisanja novog kompajlera od nule. Razlog je izuzetno kompleksan type checker, čije ponašanje nije u potpunosti formalizovano u dokumentaciji, već je sadržano u samoj semantici postojećeg koda. Svaki pokušaj drugačije implementacije neminovno bi doveo do drugačijeg izlaza i dugog niza problema za korisnike koji bi prelazili na novu verziju.

Zbog toga je novi kompajler namerno dizajniran da se ponaša identično starom, uključujući i sve specifičnosti koje su se godinama nagomilavale u projektu.

Zašto Go, a ne C# ili Rust

Izbor jezika za nativni kompajler izazvao je dosta polemika u developerskoj zajednici. Rust je relativno brzo otpao jer ne podržava ciklične strukture podataka i automatsko upravljanje memorijom na način koji je bio potreban za direktan port. C# je bio razmatran, ali konačna odluka pala je na Go.

Hejlsberg objašnjava da je Go po strukturi i modelu razmišljanja dovoljno blizak JavaScript-u, što je značajno olakšalo portovanje postojećeg koda. Iako je deo C# zajednice negativno reagovao na odluku da se ne koristi jezik koji je sam Hejlsberg dizajnirao, on ističe da se Go u praksi pokazao kao pravi alat za ovaj konkretan zadatak.

Gde AI pomaže, a gde postaje problem

Kada je reč o veštačkoj inteligenciji, Hejlsberg zauzima pragmatičan stav. Njegov tim je u početku pokušao da koristi AI za automatski prevod oko pola miliona linija koda sa TypeScript-a na Go, ali se taj pristup brzo pokazao kao nepouzdan.

Problem nije u brzini, već u determinističnosti. I najmanja halucinacija u generisanom kodu zahtevala bi ručnu proveru svake linije, što bi u praksi poništilo svaku uštedu vremena. Zbog toga Hejlsberg smatra da je često daleko smislenije koristiti AI za pisanje alata koji će obaviti posao, jer se takav alat može izvršavati na potpuno predvidiv način.

Ovakav stav podudara se sa kritikama koje su se nedavno pojavile u .NET zajednici, nakon što je Microsoft počeo da gasi determinističke alate za migraciju u korist rešenja baziranih na Copilot-u.

Ipak, AI nije u potpunosti isključen iz procesa. Hejlsberg navodi da se veštačka inteligencija uspešno koristi za migraciju novih pull requestova koji su nastali u starom TypeScript kodu nakon početnog porta, gde se pokazala kao koristan i dovoljno pouzdan pomoćnik.

Budućnost TypeScript-a i razvojnih alata

Kada je reč o samom jeziku, Hejlsberg ne očekuje drastične promene. TypeScript će nastaviti da se razvija paralelno sa JavaScript standardom, dodajući tipove i dodatne mehanizme tamo gde je potrebno. Kao nadskup JavaScript-a, TypeScript već godinama utiče na evoluciju samog standarda, ali bez namere da se udalji od njegove osnove.

Najveće promene, prema njegovom mišljenju, desiće se u alatima. Klasični IDE više nije centralna tačka razvoja kao nekada. U okruženju gde AI preuzima sve veći deo posla, uloga programera se sve više svodi na nadzor, proveru i usmeravanje onoga što automatizovani sistemi rade.

To zahteva nove vrste alata u kojima AI može da postavlja semantička pitanja, razume strukturu koda i koristi jezičke servise bez oslanjanja na tradicionalno IDE okruženje. Takav pomak, smatra Hejlsberg, značajno će promeniti način na koji izgleda razvoj softvera u godinama koje dolaze.

 

Napiši komentar

Iz ove kategorije