МЫСЛИ | JAVASCRIPT

Тенденции приходят и уходят, а JavaScript - навсегда

Держите мои Java-бобы. Это официально.

О, JavaScript - тот ребенок 90-х, который каким-то образом выбрался из тени более устоявшихся языков программирования, таких как Java и семейство C, - вы далеко продвинулись и достигли точки, в которой нет никаких сомнений. что ты здесь, чтобы остаться.

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

Так как именно мы сюда попали? Какие хорошие и плохие стороны JavaScript? и как нам стать в этом профессионально?

JavaScript - язык сценариев, который превратился в язык программирования

Давайте начнем - JavaScript был создан за 10 дней парнем по имени Брендан Эйх. Я наблюдал за ним несколько разговоров. Он из тех парней, которые выглядят достаточно старыми, чтобы быть вашим дядей, но не такими старыми, чтобы изобрести целый язык, который однажды захватит Интернет в том виде, в каком мы его знаем. Для ничего не подозревающих троллей в разделе комментариев вы не подумаете, что он отец JavaScript.

Изначально JavaScript назывался Mocha, но от него отказались в пользу маркетинговых целей, чтобы составить конкуренцию очень популярному в то время языку, также известному как Java. Многие люди не осознают, что ядро ​​парадигм программирования JavaScript фактически смоделировано по образцам Self, Scheme и Pearl. Основное влияние Java в основном основано на синтаксисе.

Именно здесь разработчики часто путаются и разочаровываются, особенно те, кто пришел с Java или любого другого строго типизированного языка программирования без надлежащего предварительного знакомства с JavaScript. Они начали применять основанные на Java концепции и шаблоны проектирования кода в коде JavaScript, но вскоре после этого оказались в затруднительном положении. JavaScript не похож на Kotlin - еще один язык программирования, который в основном взял лучшие части Java и переработал его, добавив свои особые особенности. Но Котлин - это совсем другая история.

Вернемся к JavaScript.

В промежутке между запретом Apple Flash и апплетов на всех iPhone и iPad в сочетании с решительной пропагандой JavaScript у разработчиков не было другого выбора, кроме как работать с единственной имеющейся у них опцией с открытым исходным кодом и широко поддерживаемой браузером - JavaScript.

В некотором смысле этот шаг помог демократизировать Интернет и сделал его доступным для разработчиков. В это время на сцену вышли Angularjs, затем React.js и Vue. Node.js уже существовал и использовал JavaScript способами, которые никто не считал возможным, - перемещая, казалось бы, простое (и изначально предназначенное только для браузеров) в бэкэнд-пространство, где можно управлять веб-серверами.

За очень короткий промежуток времени JavaScript превратился из часто высмеиваемого ребенка 90-х в полноценный, полнофункциональный вариант, который легко взять и сделать что-то быстро и надежно.

Зарплаты разработчиков JavaScript во всем мире довольно сопоставимы и стабильны друг с другом. Вот краткая таблица для справки:

Australia: $112,229 per year (Indeed)
Canada: $82,786 per year (Indeed)
Germany: €58,108 per year (Glassdoor)
India: ₹ 5,18,875 per year (Indeed)
South Africa: R 472 710 per year (Indeed)
United Kingdom: £49,001 per year (Indeed)
United States: $111,069 per year (Indeed)

Согласно отчету DevSkiller, основанному на анализе более 200 000 тестов кодирования в 143 странах, JavaScript является самым популярным тестом, который разработчики ИТ-навыков проходят для своей платформы автоматизированного технического скрининга. 40% проведенных тестов основаны на Javascript.

Отчет Hackerank помещает JavaScript в список лидеров мирового спроса, при этом 48% работодателей говорят, что им нужен JavaScript как часть набора навыков разработчика. Такие фреймворки, как node.js, Angular и React, часто изучаются на работе, а не преподаются явно в рамках учебной программы по информатике.

Общие хорошие и плохие части

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

Будучи мультипарадигмой, разработчики не привязаны к определенному способу кодирования, что позволяет структурировать код на основе практичности, а не требуемой чистоты. Он слабо типизирован, и неявное приведение типов ускоряет операции кодирования, но с некоторыми оговорками.

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

Прототипное наследование - это еще одна неправильно понимаемая реализация, когда дело доходит до JavaScript. Когда мы изучаем объектно-ориентированное мышление, его часто объясняют так:

  • у вас есть объект
  • этот объект имеет атрибуты
  • методы - это то, что может делать объект

Прототипное наследование, однако, представляет собой другой способ объектно-ориентированного структурирования и работает как деконструированный класс, объединенный посредством ссылок. Когда разработчики пытаются применить типичный метод мышления в объектно-ориентированном мышлении и пытаются превратить JavaScript во что-то, чем он не является.

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

Как бороться с плохим кодом JavaScript

Исходя из опыта и унаследованного кода, в большинстве случаев плохой код JavaScript возникает по следующим причинам:

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

Хотя эти вещи применимы ко всем языкам, мы видим это гораздо больше в JavaScript из-за того, насколько легко их запустить и запустить. Если с вашим кодом что-то не так, JavaScript все равно будет работать - ошибки и все такое. В JavaScript ни одна ошибка не вызовет ваше приложение, как NullPointerEvent в Java.

Так как же бороться с плохим кодом JavaScript?

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

Заключительные мысли: как стать профессионально эффективным разработчиком JavaScript

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

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

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

Спасибо за чтение, и я надеюсь, что вам понравилось это произведение.

Ссылки, которые могут вам понравиться: