1. Поява JavaScript

Мова програмування JavaScript з'явилася ще у 90-х роках. Цю мову та її інтерпретатор написали буквально за кілька місяців. Основною метою JavaScript було додати примітивну анімацію до HTML-сторінки.

Ця мова жахлива, місцями абсурдна, і в ній суцільні костилі. Але в той же час це одна з найпопулярніших мов програмування у світі. Не тому, що вона хороша. Ні. Просто це єдина мова, яка працює всередині браузера.

2. JavaScript – це не Java

Перше, що тобі потрібно знати про JavaScript, це те, що вона не має жодного стосунку до Java. Так, синтаксис у них подекуди схожий, але це просто наслідок того, що на початку 90-х найпопулярнішою мовою програмування був C++, і обидві мови взяли його собі за основу.

JavaScript взагалі спочатку називався LiveScript – скриптова мова для пожвавлення сторінок. Але через різке зростання популярності Java наприкінці 90-х його перейменували на JavaScript.

JavaScript – це скриптова мова: вона заточена на те, щоб писати маленькі скрипти всередині HTML-сторінок. У ній відсутня типізація змінних, класи, області видимості, стандартні колекції. Жодних стандартів.

JavaScript дуже зручний, якщо над кодом працює одна людина: можна легко писати код як тобі заманеться. Але вона стає просто нестерпною, якщо над кодом працюють кілька людей. Відсутність стандартів призводить до того, що розумітися на коді іншої людини стає дуже, дуже складно.

Швидкість читання чужого JavaScript коду десь у 10-50 разів повільніша, ніж читання чужого Java-коду. І це не жарт. Іноді в чужому коді взагалі неможливо розібратися, особливо якщо йому вже кілька років і до нього внесено кілька десятків змін.

Саме про такий випадок і свідчить мем «тут треба все видалити та переписати»

3. Популярність JavaScript у наш час

Але сувора реальність, як зазначено вище, полягає в тому, що JavaScript – це єдина мова, яка працює всередині браузера. А браузер – це найпопулярніша платформа в інтернеті в наш час. Тому попит на frontend-розробників постійно зростає.

Ба більше, їхні зарплати вже досягли зарплат backend-розробників. Але заздрити тут нема чому. Будь-який frontend-проєкт через рік перетворюється на пекло. Адже у фронтенді є ще й обмеження на розмір коду, оскільки код завантажується браузером, і це впливає на швидкість завантаження сторінки.

Щоб якось зменшити безлад у своїх проєктах, фронтендери постійно пишуть нові фреймворки, які спрощують їхнє життя. І звичайно ж, ці фреймворки застарівають буквально за 3-5 років. Якщо 5 років тому хтось вирішив написати свій проєкт на суперсучасному фреймворку, то сьогодні про нього будуть говорити, що він стародавній, як мамонти, і як таке взагалі можна використовувати.

Але є й хороші новини: винайшли нову мову на заміну JavaScript – це TypeScript. Вона дуже гарна, у ній є типізація, класи, області видимості. До того ж, є спеціальний компілятор, який вміє компілювати TypeScript в JavaScript.

Усі великі frontend-проєкти використовують TypeScript замість JavaScript. Ба більше, багато сучасних frontend-фреймворків замість JavaScript використовують TypeScript. Наприклад, Angular, на якому написано фронтенд JavaRush.

Але це вже зовсім інша історія.