Неисправимое зло. Javascript

март 14 , 2019

— Скажи, Добрый Железный Дровосек, почему когда я засовываю руку в чайник, на ней появляются красные волдыри? Мне нужен новый чайник?
— Нет, Мудрый Страшила, тебе нужны новые мозги.

Любой эксперт с ответов мэйл.ру знает, что javascript-программисты каждый день пишут зло. Они складывают массивы со строками, сравнивают эти строки с нулями, а переменные объявляют только в объекте window. Делать говно - это их судьба. Но не они такие, жизнь такая. То есть инструмент. Именно javascript заставляет делать то, за что приходится краснеть перед правильными сишниками.

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

Гораздо больше меня беспокоит, когда слышу подобное от людей, пишущих код не первый месяц. Когда человек всерьез интересуется, стоит ли связываться с javascript, в котором есть ТАКОЕ: [] + 0 равно "0". Когда ТАК ЛЕГКО завести глобальную переменную, всего лишь пропустив ключевое слово var. Когда до сих пор нет Нормального ООП.

Я не знаю, как фронтенд выжил без этого. Возможно, когда лучшим из нас надоело пушить в npm свои реализации функции trim, они занялись Настоящими Делами. Создали компиляторы, проверяторы и типизаторы. Да. Брендан Айк ни черта не смыслил в индустрии. Страшно подумать, где бы мы были сейчас, не создай ребята из Майкрософта TypeScript. Пожалуйста, повесьте им ордена на спину под героическую музыку из Гладиатора.

Когда я смотрю на безумное количество улучшателей неправильного яваскрипта, мне становится грустно. Старина Макконнелл, Дуглас Крокфорд и Стоян Стефанов больше не актуальны. Наступила новая эра. Сегодня ютуб - главный кладезь мудрости во фронтенде. Учим яваскрипт за 7 часов. С гарантией трудоустройства.

Впрочем, я отвлекся. О репутации фронтенда поговорим в другой раз. О репутации, которую мы заслужили.

А пока остается только спрашивать, зачем люди знакомятся с языком, складывая массивы со строками? Почему в качестве примеров кода приводят самописную галерею на jquery? Для чего упорно объявляют переменные глобальными?

Крики об ужасах яваскрипта напоминают мне плач ребенка, который споткнулся о камень. У ребенка будет виноват камень, а не он сам. Хорошая новость в том, что дети взрослеют. А взрослые - нет. Они уже взрослые.

Боюсь, что однажды в книгах по яваскрипту перестанут писать о замыканиях и прототипах. И начнут с того, что ajax-запросы "ходют на сервер", в консоли браузера не работают sql-запросы, а в стиралке не стоит мыть кота.

С таким отношением к проблемам не стоит связываться с яваскрипт.

Всем добра и правильного выбора.

Что еще почитать

Заходите в группу в контакте - https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Как Вам статья? Оцените!