JavaScript больше не «также»

Статья Каково это — изучать JavaScript в 2016 году широко разошлась по кругу, и я до сих пор вижу, как она всплывает каждые несколько дней в каком-нибудь чате или где-то еще.

Я не большой поклонник статьи. Я считаю, что он слишком старается быть забавным. Я понимаю, почему это находит отклик у людей.

Я думаю, что количество людей, разочарованных нынешним состоянием изучения JavaScript, очень велико по историческим причинам.

Раньше JavaScript был очень простым языком. Сначала он почти не использовался, потому что он не работал стабильно в разных браузерах. И никто не воспринял это всерьез. Затем эта проблема была решена с помощью jQuery и более мощных браузеров, и каждый смог улучшить свои веб-сайты с помощью JavaScript.

Вам даже не нужно было быть разработчиком JavaScript, чтобы использовать JavaScript, вы могли быть дизайнером, бэкенд-разработчиком. Раньше считалось, что у вас есть основной опыт в чем-то другом, и JavaScript был чем-то, что вы делали «также».

Поскольку возможности браузера резко возросли, люди начали переносить в браузер все больше и больше функций, и поэтому сложность, которая когда-то была известна только во внутренних приложениях, достигла внешнего интерфейса. Между прочим, это произошло много лет назад, и многие люди до сих пор недооценивают это как сумасшедшие.

Из-за этой сложности все инструменты, которые помогают справиться со сложностью — уже хорошо известные в бэкенде и системных языках — начали проникать и во фронтенд.

Почему?

Потому что, если у вас есть сложная проблема, вам нужно комплексное решение, чтобы максимально повысить эффективность и свести к минимуму вероятность ошибок.

Программисты JavaScript теперь должны не только научиться писать JavaScript и использовать библиотеку. Они также должны быть в состоянии управлять сложностью. О долгосрочных проектах.

Шаблоны, руководства по стилю, линтинг, модули, всевозможные абстракции, объектно-ориентированное программирование, функциональное программирование, функциональное реактивное программирование и (вздох) даже ТИПЫ пробились во фронтенд-разработку. Плюс, конечно, инструменты, которые вам нужны, чтобы делать все это и создавать скомпилированные и/или оптимизированные файлы для браузера или сервера.

JavaScript больше не является «также». JavaScript как язык и как экосистема стоит особняком. Если вы хотите научиться писать приложения определенной сложности с помощью JavaScript, вы должны посвятить себя изучению именно этого, если хотите добиться чего-либо за разумное время. Это уже не запоздалая мысль.