Рубріки: Мнение

«JavaScript — это уродливый Франкенштейн»: главное из интервью создателя JSON о проблемах JS и 23-летних сеньорах

Вікторія Пушкіна

На YouTube-канале «Мы обречены» вышло интервью с создателем JSON и автором книг «JavaScript. Сильные стороны» (2008) и «Как работает JavaScript» (2018) Дугласом Крокфордом

Highload выбрал самое интересное из этого видео. Рассказываем, что Дуглас думает:

  • О том, что в современном JavaScript плохо, а что хорошо
  • О плохой инженерной культуре в фронтенде
  • О проблемах современного IT: выгорании, 23-летних сеньорах и эйджизме

________

Далее со слов Дугласа Крокфорда

Дуглас Крокфорд на конференции Codemotion в 2018 году / Codemotion

О том, что в современном JavaScript плохо, а что хорошо

JavaScript — это уродливый Франкенштейн, и он всегда был таким. JavaScript придумали за десять дней: это слишком короткий срок для разработки языка программирования. С каждым новым обновлением он становится все больше и уродливее. 

Но меня это не беспокоит: я всегда рекомендовал использовать лишь хорошие части — они не сильно меняются. А все новые чудовищные возможности я игнорирую.

Главная хорошая часть, это то, что JavaScript — функциональный язык с динамическими объектами.

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

Рекурсия в JavaScript / Dev

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

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

Мой совет: используйте библиотеку Parseq. Она позволяет разделять, что в программе будет выполняться параллельно, а что — последовательно, компоновать все и строить элегантные системы без ужасных нагрузок и путаницы.

О плохой инженерной культуре в фронтенде

Некоторые фронтендеры приходят из дизайна. То есть они начинают со стилей CSS, а потом переходят на программирование и JavaScript.

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

Большинство самоучек смотрят примеры кода в интернете, но большинство кода в сети — это д**рьмо. Можно ли винить тех, кто потом пишет такой же д**рьмо? Нет. Нужно ли их учить писать чистый и структурированный код? Да.

Risovach

Я предлагаю посылать таких фронтендеров на конференции, где они смогут добрать недостающие знания. А еще помогать в повседневной работе: ведь все мы в одной лодке.

О проблемах современного IT: выгорании, 23-летних сеньорах и эйджизме

Трудно предсказать, когда что-то будет работать достаточно хорошо, чтобы вы могли ввести это в эксплуатацию или быть уверенным, что это не даст сбой другим системам. Мы до сих пор не знаем, как делать программы хорошо. Разработка ПО — это все еще загадочное искусство. И это проблема. Хорошо бы, если бы мы могли ее решить.

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

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

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

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

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024