„Най-доброто нещо, което можем да направим днес с JavaScript, е да го оттеглим“, казва създателят на JSON Дъглас Крокфорд • DEVCLASS

JavaScript, най-популярният език за програмиране в света според повечето проучвания, се е превърнал в пречка за прогреса, според Дъглас Крокфорд, създател на спецификацията JSON (JavaScript Object Notation), използвана навсякъде за сериализиране на данни в уеб приложения.

Крокфорд направи това твърдение в ан интервю миналия месец:

„Най-доброто нещо, което можем да направим днес с JavaScript, е да го оттеглим. Преди двадесет години бях един от малкото защитници на JavaScript. Неговото обединяване на вложени функции и динамични обекти беше брилянтно. Прекарах десетилетие в опити да коригирам недостатъците му. Имах малък успех с ES5. Но оттогава има силен интерес към по-нататъшно раздуване на езика, вместо да бъде подобрен. Така че JavaScript, подобно на другите езици на динозаврите, се е превърнал в бариера за напредъка. Трябва да се фокусираме върху следващия език, който трябва да прилича повече на E, отколкото на JavaScript.”

JavaScript е най-популярният език за програмиране в света според повечето проучвания

Според проучване на StackOverflow по-рано тази година JavaScript се използва от над 65% от разработчиците, далеч пред втория Python с 48 процента (игнорирайки HTML, CSS и SQL, които не са езици с общо предназначение). Това е малко вероятно постижение предвид произхода му.

Брендън Айх измисли езика за Netscape през 1995 г., очевидно само за 10 дни. “През май направих 10 дни тежка работа, не спах много”, Eich каза на конференцията на dot.JS през 2018 г. През 2012 г. Eich каза Charles Severance от Computer, че: „Влязох, за да направя … език за програмиране за HTML, който да използват уеб дизайнери и програмисти, вграден директно в уеб страницата … не като Java, който беше език за професионалисти, където бихте изпълнявали реален код с декларации на типове и ще трябва да пишете по компилиран начин.“ Той добави, че „името е пълна лъжа. Той не е толкова свързан с Java, колкото с общ предшественик, C, в синтаксиса.

Айх нарече работата „бърза работа“, но също така каза, че „знаех, че ще има грешки, ще има пропуски, така че я направих много пластична като език. Това позволи на уеб разработчиците да го направят това, което искат да бъде.”

Защо JavaScript има такъв невероятен успех?

Има множество причини, включително далновидността на Айх, лекотата на учене и толерантността към код, който би бил грешка на много езици, като сравняване на низове с числа и получаване на резултат от здравия разум – въпреки че Айх по-късно наречено това “голямо съжаление, защото това нарушава важно математическо свойство.”

Друг важен фактор е, че решимостта на Google да направи приложенията, базирани на браузър, конкурентни на десктопа, даде на света двигателя V8 (2008), който заедно със SpiderMonkey на Mozilla и JavaScript Core на Apple даде на езика невероятна JIT-компилирана производителност. През 2009 г. Райън Дал излезе с Node.js, позволявайки на V8 да работи извън браузъра. Дал имаше предвид сървърните приложения, но днес Node.js и NPM (Node Package Manager) също са от съществено значение за процеса на разработка на повечето уеб приложения.

Процес на развитие? Част от проблема, посочен от Crockford, е, че заедно с увеличените възможности JavaScript придоби много сложност и типично приложение днес включва процес на изграждане, използващ WebPack, Rollup или някакъв друг пакет, далеч от оригиналната концепция на Eich.

Освен това много уеб разработчици не пишат JavaScript; по-скоро те пишат TypeScript, който се компилира в JavaScript. TypeScript е изобретен от Anders Hejlsberg в Microsoft, като обосновката е, че гъвкавостта на JavaScript и липсата на безопасност на типа го правят неподходящ за големи приложения. Сега TypeScript е език номер три в проучването, споменато по-горе, и е доказателство, че JavaScript не е много обичан. Появата на WebAssembly, двоичен формат, който може да бъде насочен от езици, включително C, C++, C# и Rust, е друга иновация, която може да подкопае господството на JavaScript.

„JavaScript избухна в популярност само за няколко години и да, екосистемата е ужасно сложна. Това е шега дори сред JS разработчиците на пълен работен ден колко луд е станал. Никой от нас не може да се справи”, призна разработчик в a скорошна дискусия на Hacker News.

JavaScript се развива с много нови функции и напредъкът може да бъде проследен туквъпреки че изискванията за съвместимост означават, че някои недостатъци не могат да бъдат коригирани, а от друга страна раздуването на функцията е постоянен риск.

Изборът на Крокфорд да замени JavaScript, д, е отклонение. Създаден от Марк Милър, Крокфорд и други, E е обектно-ориентиран език, предназначен за сигурни изчисления и по думите на Крокфорд, „елиминиращ много от лошите части на Java“.

Крокфорд също отбелязва, че JavaScript ще бъде трудно да се промени, особено защото това е езикът, поддържан от всеки браузър за манипулиране на DOM (Document Object Model). Запитан какво може да го замени там, Крокфорд каза: „Има две трудности. Първо, все още нямаме следващия език. Той трябва да бъде базиран на минимални възможности актьорски език, който е проектиран специално за сигурно разпределено програмиране. Нищо по-малко не трябва да се има предвид.

„Второ, трябва всички създатели на браузъри да го възприемат и едновременно с това да заменят DOM с добре проектиран интерфейс. Късмет с това.”