Так что со мной это случалось несколько раз в последнее время (не упоминая ни одного имени) — я прочитал какой-то хитрый трюк или что-то другое, что кто-то понял в JavaScript, и я, как о, это круто, мне интересно, как это работает
. Поэтому я продолжаю это, только чтобы выяснить, что автор не знает, как это работает, и чтение их кода также не проливает свет на это, потому что большая часть работы выполняется внешней структурой .
Меня чертовски раздражает, что так много современных разработок JavaScript зависит от фреймворков. Не потому, что с прагматической точки зрения что-то не так, а потому, что я интересуюсь механикой вещей , а программирование с помощью фреймворков затемняет механику . Просто слишком трудоемко проработать эту запутанную цепочку зависимостей и посмотреть, что на самом деле делает скрипт. И код самой платформы, как правило, оптимизирован до такой степени, что он практически неразборчив — отлично подходит для скорости и эффективности на практике, но очень труден для чтения и понимания.
Конечно, с точки зрения разработчиков, использующих фреймворки, это как раз то, что нужно. Механика должна быть скрыта, чтобы приложение было проще и быстрее создавать. И, конечно же, фактическим конечным пользователям совершенно все равно — точно так же, как мне все равно, как работает моя машина, я просто хочу, чтобы она поехала.
Но если бы я был автомехаником, у меня могла бы быть другая точка зрения… и вот мы здесь! И мы обнаруживаем, что целое поколение разработчиков сейчас производит сложные приложения без глубокого понимания того, как они работают. Я думаю, что я, вероятно, звучу элитарно, чтобы критиковать это, и, возможно, я так, но это все еще беспокоит меня, потому что делает большую часть этого развития бесполезной для меня. Мне просто все равно, что X сделал лучший сценарий предварительного просмотра изображений, используя jCloth или что-то еще — я не впечатлен, потому что, насколько я понимаю, они не написали его; больше, чем я был бы впечатлен тем, кто создает музыку с использованием пресетов на клавиатуре Casio (аля Fatboy Slim, хотя в его случае это была клавиатура Yamaha!).
Мне все еще может нравиться музыка, но я не буду считать их музыкантом и не смогу поговорить с ними о тонкостях теории музыки.
Что если есть полезный прием, который я хочу использовать, или особый подход, который имеет смысл, но я не могу использовать его, не вводя зависимости в мой код — зависимости, которые раздувают кодовую базу и замедляют работу приложения . JavaScript уже является интерпретируемым языком, а фреймворки являются интерпретирующей средой, поэтому приложения, написанные с использованием фреймворка, по существу используют метакод — код, который интерпретируется интерпретируемым интерпретатором! Как может быть что-то, что увеличивает работу интерпретатора и размер кодовой базы?
Все это напоминает мне сериал под названием «Самый большой неудачник» . Шоу похоже на «Большого брата» для людей с хроническими проблемами с весом — каждую неделю они пытаются похудеть с помощью диеты и чрезмерной физической нагрузки, и каждую неделю один из них отстраняется, а последний оставшийся человек становится коронованным потерпевшим
( отличный каламбур!) Но шоу не имеет ничего общего со здоровьем или фитнесом; разработчики программ в конечном итоге не заботятся о благополучии участников или о плохом примере, который они подают, поощряя такую интенсивную и неустойчивую потерю веса. Шоу не об этом, просто давайте посмеемся над толстыми людьми
.
На мой взгляд, разработка на основе фреймворка аналогична этому. Это может привести к быстрым и простым результатам, но на самом деле это не программирование, и оно не представляет для меня никакого академического интереса. Мне все равно, если он делает хороший телевизор
, я забочусь о веществе ниже.
Мне интересен сам язык, и я нахожу его крайне разочаровывающим, потому что на самом деле так мало людей пишут на нем.