5 въпроса към Ужвал Шарма за настоящето и бъдещето на JavaScript

5 въпроса към Ужвал Шарма за настоящето и бъдещето на JavaScript
През септември 2021 г. специален гост на DataArt беше Ужвал Шарма, Node.js Core Collaborator и представител на TC39 - технически комитет, отговорен за разработването на езика JavaScript. Ужвал беше лектор в IT TALK, технологично събитие, което DataArt организира регулярно. Избрахме пет от най-важните въпроси, на които той отговори по време на събитието, а ако искате да научите повече за лекцията му, можете да изгледате запис от срещата с Ужвал Шарма в Санкт Петербург.

- Какво е TC39?

- TC39 (по-точно Технически комитет № 39) е част от ECMA, Европейската асоциация на производителите на компютри със седалище в Швейцария. TC39, като нейно звено, е организация, отговорна за стандартите в JavaScript, език, от който повечето от нас наистина се интересуват. TC39 има уебсайт (https://tc39.es), където се опитахме да обясним възможно най-ясно какво правим. Комитетът вече е събрал и приложил огромен брой предложения за промени и допълнения в езика и този списък се актуализира непрекъснато. Всички допълнения и промени в JavaScript преминават през същата процедура. И всички тези предложения са събрани в нашето хранилище.

- Имате ли любима библиотека за JavaScript?

Имам, разбира се, и както вероятно се досещате, точно върху това работих. Temporal, според мен, се харесва на всички, които са го използвали. Особено в сравнение с Date, който беше добавен към JavaScript през 1995 г. (дори не бях роден все още). Всъщност, Date винаги е бил далеч от перфектното. Почти е невъзможно да се напише код с него. Всички разработчици на JS, които се занимават с дати и часове, трябва да се позовават на Moment.js, Luxon.js, date-fns или други подобни библиотеки. Temporal решава този проблем.

- Как виждате бъдещето на JavaScript?

- На първо място трябва да се има предвид, че JavaScript е разработен през 90-те години на миналия век, тоест в коренно различен свят. След това производителността на процесорите нараства поради тактовата честота и те стават все по-бързи. Сега всичко работи напълно различно. Възможно е мащабиране поради допълнителни ядра, които могат да бъдат свързани при необходимост и изключени, ако е нужно да се спести енергия на батерията. Най-малкият компютър в наши дни има поне четири ядра, а повечето имат осем. Но JavaScript все още не може да се възползва от това. Затова бих искал да видя JS с много нишки, което да позволява да се пише ефективен код за всяко устройство.

article image

- От какво се страхуват разработчиците на JavaScript? Притеснително ли е бързото развитие на WebAssembly?

- Лично аз не разбирам защо WebAssembly се разглежда като конкурент на JavaScript. Дори намирам WebAssembly за страхотен и много полезен, тъй като за някои действия в браузъра езикът за програмиране на ниско ниво е много по-подходящ. Ако създавате игра за браузър, прилагате филтри към снимки или разработвате сложни приложения по по-прост начин, по-разумно е да използвате WebAssembly. Но не е подходящ за други случаи. Затова ми се струва, че тези два програмни езика могат не само да съжителстват паралелно, но и да се допълват. 

Почти целия си живот съм посветил на изучаването на JavaScript и успоредно с това открих едно интересно нещо. Хората, които критикуват JavaScript, се настроиха негативно поради злоупотребата с него. Но JS е просто инструмент, който може да се приложи по най-различни начини. Не е много приятно, когато не можеш да решиш даден проблем. Но това определено не е по вина на програмния език, а в неподходящото му използване.  

article image

- Какво можете да кажете за JavaScript общността?

- Лично за мен тази общност се превърна във втори дом. JS не само ми даде възможност да си намеря работа, което е очевидно, но благодарение на това създадох и много близки приятели. JavaScript поддържа екосистема от прекрасни хора, не всеки език за програмиране има такава приятелска общност. Сега нещо подобно се развива и около Rust - всеки, който е взаимодействал с тази общност, изпитва най-топли чувства към нея. Като цяло мисля, че неслучайно атмосферата на JavaScript конференциите винаги е толкова спокойна и приятна.

article image