Torgersen: Zašto je programski jezik C# i dalje toliko popularan i kakva mu je budućnost

Dve decenije nakon svog stvaranja, programski jezik C# je i dalje jedan od najpopularnijih i najčešće korišćenih programskih jezika na svetu. Milionima ljudi je najomiljeniji zbog svestranosti i lako čitljive sintakse, i tako je brzo postao priručnik za veb i mobilne aplikacije, razvoj igara, poslovne aplikacije i još mnogo toga. Iako sa programskim jezikom Java deli blisko poreklo – prvobitno je zamišljen kao suparnik programskom jeziku razvijenom u kompaniji Sun Microsistems (danas Oracle) 1996. godine – C# se uglavnom razvijao svojim putem od samog početka 2001. godine, ne samo zahvaljujući snažnoj podršci kompanije „Majkrosoft“. Jezik je u najvećoj meri popularan zbog svoje tendencije da brzo prihvati nove funkcije. Mads Torgersen, menadžer „Majkrosoftovih“ programa i vodeći dizajner za C# , kaže da je upravo taj napredni dizajn omogućio programskom jeziku da prikupi tako veliku korisničku bazu tokom svoje dvadesetogodišnje istorije.

„Snažno stremljenje ka inovacijama oduvek je razlikovalo C# od ostalih programskih jezika“, kaže Torgersen. „Mislim da postiže prilično pragmatičnu ravnotežu jer se sve ono što radimo usredsređuje se na scenarije u kojima se nalaze pravi programeri. Veoma nam je stalo da svaka inovacija bude podstaknuta težnjom za razvijanjem korisnosti, a ne prvenstveno lepote. Istovremeno, trudimo se da održimo jezik jasnim i razumljivim i da vi tome težimo.“ Torgersen je bio glavni rukovodilac dizajna C# u poslednjih 15 godina. Proveo je četiri godine kao vanredni profesor na danskom Univerzitetu Arhus, pre nego što je 2005. godine napustio akademsku zajednicu i otisnuo se u industriju. Sada vodi tim u kompaniji „Majkrosoft“ i glavna dužnost mu je da koordinira budući pravac razvoja C# . Za razliku od Torgersena, većina članova dizajnerskog tima jezika C# uključena je u stvaranje i primenu programskog jezika i uglavnom radi u određenim oblastima aktivnosti u kompaniji. U međuvremenu, Torgersenov zadatak je upravlja postupkom dizajniranja jezika C# i održava specifikaciju jezika.

Prema njegovim rečima, članovi tima se prilično često okupljaju, otprilike dva puta nedeljno po dva sata, da bi donosili odluke i pokretali kreativni rad u sledećoj verziji C# .

Milion različitih izvora

Iako je svoje težište uvek imao u „Majkrosoftu“, C# je programski jezik otvorenog koda i kao takav razvija se onako kako se razvijaju programi otvorenog koda. Iako ga je prvenstveno pokrenula kompanija „Majkrosoft“, ideje redovno dolaze od zajednice koja se bavi tim programskim jezikom. Postoje dve GitHub stranice, jedna je namenjena dizajniranju C# , a druga je posvećena njegovoj primeni. Na veb lokaciji za dizajn postoji značajna interakcija sa ljudima koji nisu svakodnevno uključeni u rad sa C# , ali često ga koriste i oni daju ideje za razmatranje. Neke funkcije koje se dodaju C# potekle su sa tog izvora. Pošto ideje dolaze sa svih strana, Torgersen i njegov tim filtriraju ono što je važno, što uopšte nije lak zadatak. To je veliki programski jezik u pogledu upotrebe – postoje milioni programera za C# , tako da ima mnogo ideja i predloga.

U tom procesu se odlično primenjuje staromodna demokratija. Da bi sebi olakšali posao, Torgersen i njegovi kolege dizajneri C# usvojili su mehanizam za biranje, pri čemu svaki član tima procenjuje ideje koje dolaze putem GitHub-a i zalaže se za sve one za koje smatra da ih treba razmotriti.Odluke se ne zasnivaju samo na tome koliko je ljudi koja ideja zainteresovala, već i na tome da li odgovara planiranom evolucionom putu jezika i usvajanju sličnih ideja u drugim jezicima, objašnjava Torgersen.

Uspostavljanje prekretnica

Iako C# možda ne zauzima prvo mesto po popularnosti (ta čast pripada jeziku C или JavaScript -u, u zavisnosti od toga koji indeks gledate), zaslužan je za uvođenje značajnih tehničkih promena kod programera sa prelaskom na asinhrono programiranje u sredinom 2000-ih, među kojima su prvenstveno bile promene u suštinskom dizajnu koje su napravili Torgersen i njegov tim u „Majkrosoftu“. Posedovanje podrške za programski jezik za asinhrono programiranje odjednom je od puste želje postalo ključni aspekt mnogih programera, što je postavilo novi standard za industriju i dovelo do toga da nekoliko drugih glavnih programskih jezika – uključujući JavaScript – krene istim putem.

„To je bila velika prekretnica, jer nam je pomogla da se pozabavimo jednom od velikih promena u oblasti programiranja, a to je bio prelazak na oblak i mobilne uređaje“, kaže Torgersen. „Odjednom se pojavila mnogo veća potreba za programima za komunikaciju na različitim uređajima, bilo da se radi o serveru u oblaku, или o komunikaciji između mobilnih uređaja i servera, i tako dalje. To smo vrlo uspešno rešili i industrija je od tada počela da se razvija zahvaljujući našem pristupu. Na to sam veoma ponsan.“ Naravno, mnogo toga se dogodilo za petnaest godina otkako je Torgersen preuzeo kormilo C# od tvorca Andersa Hejlsberga. U novije vreme, porast broja platformi bez koda i sa kratkim kodom – posebno usred pandemije COVID A-19 – omogućio je ljudima sa malo или nimalo znanja o programiranju da prave funkcionalne aplikacije.
Te platforme su toliko jednostavne da, s obzirom na trenutni globalni nedostatak programera, omogućavaju čak i onima koji nisu programeri da razviju potpuno funkcionalne poslovne programe koji mogu da se integrišu u širu IT infrastrukturu preduzeća.

„Znam da mnogi programeri gledaju na to sa izvesnim prezirom, ali shvatamo da takve platforme ne mogu mnogo toga da nam pruže. Ipak, istovremeno, drago mi je zbog toga što se sve više ljudi posvećuje računarima na kreativan način, a samo programiranje postaje manje misteriozno i mnogo pristupačnije“, kaže Torgersen. Torgersen optimistično smatra da spomenute platforme i tradicionalno programiranje mogu zajedno da postoje, mada priznaje da postoji izazov u smislu „šta se dešava u graničnim područjima“.

C# 9.0 i novije verzije

Kao i svi savremeni programski jezici, C# nastavlja da se razvija. Uz C# 9.0 koji treba da se pojavi u novembru, sledeće ažuriranje će se usredsrediti na podršku „kratkotrajnom i nepromenljivom“ predstavljanju oblika podataka. „ C# 9.0 pokušava da preduzme neke naredne korake za C# kako bi olakšao bavljenje podacima koji dolaze kroz žicu i da izrazi pravu semantiku podataka, koja proističe iz onoga što nazivamo objektno orijentisanom paradigmom“, kaže Torgersen.  C# 9.0 preduzima sledeći korak u tom pravcu uvodeći funkciju koja se naziva Records, kaže Torgersen. To su referentni tipovi koji omogućavaju da čitav objekat bude nepromenljiv i da deluje kao vrednost.

„Već dugo shvatamo da pozajmljujemo ideje iz funkcionalnog programiranja da bismo dopunili objektno orijentisano programiranje na način koji zaista pomaže, na primer, orijentisanom programiranju u oblaku i pomaže u rukovanju podacima“, objašnjava Torgersen. Torgersen smatra da ne postoji konkretni „poslednji čin“ programskog jezika – или bar dok konačno ne dostigne neki, još nepoznati, datum roka trajanja, a to će se dogoditi.

6006-torgersen-zasto-je-programski-jezik-xa-c-xa-i-dalje-toliko-popularan-i-kakva-mu-je-buducnost