Торгерсен: Зашто је програмски језик C# и даље толико популаран и каква му је будућност

Две деценије након свог стварања, програмски језик C# је и даље један од најпопуларнијих и најчешће коришћених програмских језика на свету. Милионима људи је најомиљенији због свестраности и лако читљиве синтаксе, и тако је брзо постао приручник за веб и мобилне апликације, развој игара, пословне апликације и још много тога. Иако са програмским језиком Јава дели блиско порекло – првобитно је замишљен као супарник програмском језику развијеном у компанији Sun Microsistems (данас Oracle) 1996. године – C# се углавном развијао својим путем од самог почетка 2001. године, не само захваљујући снажној подршци компаније „Мајкрософт“. Језик је у највећој мери популаран због своје тенденције да брзо прихвати нове функције. Мадс Торгерсен, менаџер „Мајкрософтових“ програма и водећи дизајнер за C#, каже да је управо тај напредни дизајн омогућио програмском језику да прикупи тако велику корисничку базу током своје двадесетогодишње историје.

„Снажно стремљење ка иновацијама одувек је разликовало C# од осталих програмских језика“, каже Торгерсен. „Мислим да постиже прилично прагматичну равнотежу јер се све оно што радимо усредсређује се на сценарије у којима се налазе прави програмери. Веома нам је стало да свака иновација буде подстакнута тежњом за развијањем корисности, а не првенствено лепоте. Истовремено, трудимо се да одржимо језик јасним и разумљивим и да ви томе тежимо.“ Торгерсен је био главни руководилац дизајна C# у последњих 15 година. Провео је четири године као ванредни професор на данском Универзитету Архус, пре него што је 2005. године напустио академску заједницу и отиснуо се у индустрију. Сада води тим у компанији „Мајкрософт“ и главна дужност му је да координира будући правац развоја C#. За разлику од Торгерсена, већина чланова дизајнерског тима језика C# укључена је у стварање и примену програмског језика и углавном ради у одређеним областима активности у компанији. У међувремену, Торгерсенов задатак је управља поступком дизајнирања језика C# и одржава спецификацију језика.

Према његовим речима, чланови тима се прилично често окупљају, отприлике два пута недељно по два сата, да би доносили одлуке и покретали креативни рад у следећој верзији C#.

Милион различитих извора

Иако је своје тежиште увек имао у „Мајкрософту“, C# је програмски језик отвореног кода и као такав развија се онако како се развијају програми отвореног кода. Иако га је првенствено покренула компанија „Мајкрософт“, идеје редовно долазе од заједнице која се бави тим програмским језиком. Постоје две GitHub странице, једна је намењена дизајнирању C#, а друга је посвећена његовој примени. На веб локацији за дизајн постоји значајна интеракција са људима који нису свакодневно укључени у рад са C#, али често га користе и они дају идеје за разматрање. Неке функције које се додају C# потекле су са тог извора. Пошто идеје долазе са свих страна, Торгерсен и његов тим филтрирају оно што је важно, што уопште није лак задатак. То је велики програмски језик у погледу употребе – постоје милиони програмера за C#, тако да има много идеја и предлога.

У том процесу се одлично примењује старомодна демократија. Да би себи олакшали посао, Торгерсен и његови колеге дизајнери C# усвојили су механизам за бирање, при чему сваки члан тима процењује идеје које долазе путем ГитХуб-а и залаже се за све оне за које сматра да их треба размотрити.Одлуке се не заснивају само на томе колико је људи која идеја заинтересовала, већ и на томе да ли одговара планираном еволуционом путу језика и усвајању сличних идеја у другим језицима, објашњава Торгерсен.

Успостављање прекретница

Иако C# можда не заузима прво место по популарности (та част припада језику C или JavaScript-у, у зависности од тога који индекс гледате), заслужан је за увођење значајних техничких промена код програмера са преласком на асинхроно програмирање у средином 2000-их, међу којима су првенствено биле промене у суштинском дизајну које су направили Торгерсен и његов тим у „Мајкрософту“. Поседовање подршке за програмски језик за асинхроно програмирање одједном је од пусте жеље постало кључни аспект многих програмера, што је поставило нови стандард за индустрију и довело до тога да неколико других главних програмских језика – укључујући JavaScript – крене истим путем.

„То је била велика прекретница, јер нам је помогла да се позабавимо једном од великих промена у области програмирања, а то је био прелазак на облак и мобилне уређаје“, каже Торгерсен. „Одједном се појавила много већа потреба за програмима за комуникацију на различитим уређајима, било да се ради о серверу у облаку, или о комуникацији између мобилних уређаја и сервера, и тако даље. То смо врло успешно решили и индустрија је од тада почела да се развија захваљујући нашем приступу. На то сам веома понсан.“ Наравно, много тога се догодило за петнаест година откако је Торгерсен преузео кормило C# од творца Андерса Хејлсберга. У новије време, пораст броја платформи без кода и са кратким кодом – посебно усред пандемије COVIDА-19 – омогућио је људима са мало или нимало знања о програмирању да праве функционалне апликације.
Те платформе су толико једноставне да, с обзиром на тренутни глобални недостатак програмера, омогућавају чак и онима који нису програмери да развију потпуно функционалне пословне програме који могу да се интегришу у ширу ИТ инфраструктуру предузећа.

„Знам да многи програмери гледају на то са извесним презиром, али схватамо да такве платформе не могу много тога да нам пруже. Ипак, истовремено, драго ми је због тога што се све више људи посвећује рачунарима на креативан начин, а само програмирање постаје мање мистериозно и много приступачније“, каже Торгерсен. Торгерсен оптимистично сматра да споменуте платформе и традиционално програмирање могу заједно да постоје, мада признаје да постоји изазов у смислу „шта се дешава у граничним подручјима“.

C# 9.0 и новије верзије

Као и сви савремени програмски језици, C# наставља да се развија. Уз C# 9.0 који треба да се појави у новембру, следеће ажурирање ће се усредсредити на подршку „краткотрајном и непроменљивом“ представљању облика података. „C# 9.0 покушава да предузме неке наредне кораке за C# како би олакшао бављење подацима који долазе кроз жицу и да изрази праву семантику података, која проистиче из онога што називамо објектно оријентисаном парадигмом“, каже Торгерсен. C# 9.0 предузима следећи корак у том правцу уводећи функцију која се назива Рецордс, каже Торгерсен. То су референтни типови који омогућавају да читав објекат буде непроменљив и да делује као вредност.

„Већ дуго схватамо да позајмљујемо идеје из функционалног програмирања да бисмо допунили објектно оријентисано програмирање на начин који заиста помаже, на пример, оријентисаном програмирању у облаку и помаже у руковању подацима“, објашњава Торгерсен. Торгерсен сматра да не постоји конкретни „последњи чин“ програмског језика – или бар док коначно не достигне неки, још непознати, датум рока трајања, а то ће се догодити.