«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 лет назад и это была очень плохая идея. Давайте попробуем что-то еще».
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: