Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

DHH
Отец троих детей, создатель Ruby on Rails + Omarchy, совладелец и технический директор 37signals, директор Shopify, автор бестселлеров NYT и победитель в классе Le Mans 24h.
Одним из самых длительных расколов в программировании является противостояние статической и динамической типизации. На протяжении всей своей карьеры я слышал миллион аргументов с обеих сторон, но видел очень немногие из них, которые когда-либо убедили кого-либо в чем-либо. Поскольку рационализации, маскирующиеся под разум, редко работают в вопросах веры. Всегда найдется оправдание для пути слона.
Это не значит, что нет людей, которые сменили лагеря. На самом деле, такие люди обычно кричат самые громкие рационализации. Часто с обаянием вегана, который всю жизнь был всеядным, или традиционного банкира, который удачно прокатился на криптовалюте. Чем короче вера, тем ярче пламя.
Лично я без стыда отношусь к динамической типизации. Вот почему я так люблю Ruby. Он в полной мере использует динамическую типизацию, позволяя поэтический синтаксис, который приводит к такому красивому коду. Для меня Ruby с явной статической типизацией был бы как салат с шариком мороженого. Они просто не сочетаются.
Я также признаюсь, что в прошлом придерживался евангельской позиции в пользу динамической типизации. До такой степени, что страдал от недуга Единственной Истинной Пропозиции. Видя отсутствие энтузиазма к динамической типизации как отражение недостатка образования, опыта или, возможно, даже компетенции.
О, какая глупость.
Как пытаться убедить интроверта в том, что им действительно понравятся вечеринки, если бы они просто немного расслабились. Что на самом деле очень весело находиться в многолюдных помещениях, часами крича, чтобы общаться, потому что как насчет этого VIBE!
В наши дни я научился ценить великолепие множественности. Программирование было бы ужасным занятием, если бы мы все были ограничены одной парадигмой. Человеческая природа слишком разнообразна, чтобы принимать такие ограничения на свою креативность.
Можете ли вы представить, если бы все визуальное искусство должно было быть выполнено в стиле кубизма? Или реализма? Или все романы написаны в коротком, прямом стиле Хемингуэя? Как быстро это стало бы скучно!
Это разрушило бы магию программирования. Это уникальное слияние искусства и инженерии.
Но мне потребовалось время, чтобы прийти к этим выводам. Я восстанавливаюсь от решения всех проблем. Поэтому, когда я вижу, как люди клянутся в неверии, что кто-то, где-то может предпочесть JavaScript TypeScript, я улыбаюсь и вспоминаю дни, когда я видел их рвение в зеркале.
Это не значит, что все подходы к программированию сводятся к равным, но различным умонастроениям. Есть пределы этому релятивизму. Но динамическая и статическая типизация определенно находятся в своих рамках. Так же как функциональное и объектно-ориентированное программирование. Полюса по обеим этим осям показали, что могут создавать отличное программное обеспечение на протяжении десятилетий (и ужасные вещи тоже!).
Теперь люди благословлены способностью выражать себя одинаково хорошо с любого конца. Однако такая амфиболическая природа кажется редкой, как свидетельствует полное недоверие, так часто выражаемое с обеих сторон, что другая сторона может занимать разумную позицию.
Я не амфиболический. Мне не нравится статическая типизация, и объекты оживляют мой внутренний взор. Но я научился ценить тот факт, что другие освещают свою креативность с такой же интенсивностью, как и я свою, используя ограничения функционального программирования и явно прописанные типы.
Пока мне никогда не придется загрязнять свой Ruby подсказками типов или писать весь фронтенд-код на TypeScript, я могу так счастливо сосуществовать с теми, кто обожает Go или не переносит JavaScript. Да здравствует различие!
196
Топ
Рейтинг
Избранное


