Рубрики
Без рубрики

Itwamtsp: я думаю, что мы все делаем одну и ту же точку

Баннер аббревиатуры Python и Perl полностью отличается … Или они?. Помечено программированием, Python, Perl, аббревиатуры.

Первоначально опубликовано Неизгладимая голубая пера

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

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

Эти аббревиатуры являются Tmtowtdi. [Есть более одного способа сделать это] и Toowtdi. [Есть только один способ сделать это] Отказ

В течение многих лет я был сторонником Tmtowtdi, несмотря на отсутствие опыта в сообществе Perl, откуда приходит аббревиатура. Это было просто логично для меня, особенно учитывая мою позицию, что Программирование – это искусство, а не наука Отказ Я просто поднял аббревиатуру в прохождении, найдя его хорошим перефразией моей собственной фразы: «Есть как минимум сто способов достижения чего-либо, а около десяти хороших путей».

Тем не менее, мой первый реальный язык программирования был Python, и мы получаем Toowtdi от этого сообщества. Это происходит из Tim Peters Дзен Питона Отказ

Должен быть один- и предпочтительно только один -обязательный способ сделать это. Хотя этот путь может быть не очевидно, если вы не голландский.

Нет логика, чтобы выяснить, что мы не на одной странице. Часть этого следует ожидать – Perl и Python являются двумя совершенно разными языками, построенными вокруг двух совершенно разных философий! Однако с течением времени я начал точить что-то не так … И это была та же проблема в обоих лагерях. Программисты писали плохой код и со ссылкой на их любимую аббревиатуру выбора, чтобы оправдать его.

Мы пропустили точку?

Проживая в мире C ++, я давно известно упсиды и недостатки Tmtowtdi. Используется соответствующим образом, мы находим довольно красивые пневматические инновации. Используется ненадлежащим образом, мы получаем дерьмовый код с этим аббревиатурой на него. Честно говоря, дихотомия начинала сводить меня с ума.

Затем недавний проект побудил меня снова подобрать старый старый питон. Когда я начал повторно погрузиться на этот язык, я бродил в # Партон, канал IRC, где я взял свои первые шаткие шаги как программист все эти годы назад (крича в Недбат и _habnabit за то, что он надоел меня! Несомненно

Мне потребовалось несколько дней, чтобы помнить, что он был Питон, который дал нам Тоутди, который казался противоречивым ко всему, что я наблюдал в кодировке мира. Я даже обсудил самый страшный и ядовитый пропонент неправильного использования этой точки зрения, программное обеспечение Militaricus в полевых руководстве к обычным ботаникам в течение последних нескольких лет. Тем не менее, поскольку я наблюдал за разговорами в #Python, я не видел ни одной ерунды от регулярных, независимо от того, насколько они испытывали. Они каким-то образом выдержали дзен Питона без развязки инноваций.

У меня был долгий разговор с другим кодером по этой теме, благодаря которому я начал исследовать мышление позади Тоутди. Я пришел к выводу, что было два различных (и в значительной степени несоответствующих) аргументов для теории:

«Мы всегда делаем это таким образом». (Может также называться «распознавание шаблона»). «Этот способ, как известно, работает лучше всего. «Я видел оба использования в дикой природе. Под видом # 2 мы находим довольно сперживые инновации. Под видом # 1 мы получаем дерьмовый код с этим аббревиатурой на нем.

Подожди минутку, это звучит знакомо …

Вот когда это ударило меня: Если оба лагеря рассматривали то же самое преимущество для соответствующего использования, и точно такой же недостаток для неправильного использования, мы действительно уверены, что они размахивают разными флагами?

Проблема имеет тенденцию выглядеть так, чтобы иллюзия кролика или утки. Лагерь «One Way» принимает выпуск с лагерем «много способов» из-за небрежного кода и дезорганизации. Лагерь «много способов» не любит лагерь «один путь» из-за жесткости и очевидной слепоты к инновациям. Но когда вы наклоняете голову вправо и вискать, вы понимаете, что небрежные кодеры и жесткие программисты находятся на ленивости безразлично к инновациям других кодер.

Другими словами, все днобсы страдают от другого абникационного состояния: NIH [не изобретена здесь].

Проблема пришла, когда два лагеря увидели только половину проблемы. «Тима Тоди» (как мы произносим Tmtowtdi), сказал: «Мы должны решить эту проблему жесткости!» Тем временем лагерь Тоутди сказал: «Мы должны стандартизировать эффективные подходы к поощрению усыновления!» Страдальцы NIH, прикрепленные к тому, что лагерь оказали лучшее оправдание для их присущей лени, и обе стороны пришли к выводу, что враг должен быть людьми на другой стороне поля – те, которые сопротивлялись стандартизации или уменьшенной гибкости.

Конечно, я рисую фотографию слова здесь, но если я знаю свою историю программирования, оба движения в то же время начались одновременно, и они только пришли к выводу, что другая была проблема после факта. На самом деле, Guido Van Rossum и Larry Stater находятся на довольно приятных условиях друг с другом, по словам любимого BDFL Python:

Забавно то, что в то время как в более низких рядах много враждебно, я действительно был очень дружелюбным с Ларри Стеной и Томом Кристиансеном с тех пор, как мы встречались пять лет назад на симпозиуме VHLL, который Том организовал.

Все, что сказать, я думаю, что мы пропустили точку оба аббревиатуры.

Когда вы забираете аббревиатуры и честно посмотрите, как гуру в обоих лагерях подходят кодирование, вы обнаружите, что на самом деле не массивная разница.

Например, добросовестный программист TMTOWTDI не использует свой баннер в качестве оправдания для небрежно и неэффективного кода. Он следует за принятыми сообществами стандарты, насколько это разумно, использует общие алгоритмы и избегают проектных моделей, которые, как известно, вызывают проблемы. Он будет использовать Quicksort Over Bubble Word любой день недели, а не потому, что QuickSort – это «один способ сделать это», но потому что это доказано быстрее, и, таким образом, является правильным инструментом для работы.

Эта вообще невысказанная половина своего стиля кодирования поглощается в удлиненную версию аббревиатуры: Tmtowtdibscinable (произносится «Тима Toady Biacarbanate») – есть более одного способа сделать это, но иногда консистенция тоже не плохая вещь. (У нас действительно есть проблема с аббревиатурами в этом поле!)

Между тем, добросовестный программист Toowtdi не использует ее баннер в качестве оправдания для бессмысленного приверженности «так, как мы всегда делаем вещи». Она всегда ищет способы сделать ее код быстрее, уборщиком и более эффективным. Она знает, что истинные питоновые средства выполнения любой цели станут самыми быстрыми и наиболее элегантными, и она использует это означает, что из-за собственной присущей заслуги, а не только потому, что «все это делает».

Как сказал Симпсон в #пютоном, «один путь» должен пойти с доказательством оптимальности. «Лучший способ должен быть доказан, а лучшие способы открываются все время. Мы должны искать объективное лучшее решение для конкретной проблемы, и истинные Pythonistas делают именно это.

Если мы пересматриваем Дзен Питона Мы быстро осознаем, что для большинства из этих одиночных «очевидных решений» мы не голландцы. Мы не знаем языка, а также парень, который его написал, поэтому мы не всегда видим самый короткий и наиболее эффективный путь к тому, где мы идем. Как только кто-то найдет лучший путь, остальные из нас все FacePalm в унисон, потому что мы пропустили то, что сейчас стало очевидно.

Когда вы просматриваете проблему через этот объектив, вы понимаете, что оба лагеря стремятся к точно такой же цели: Чтобы найти наиболее эффективное и элегантное решение Отказ Tmtowtdi напоминает нам оставаться открытыми новыми идеями, а Тоутди напоминает нам стремиться к лучшему имеющемуся решению. Это две стороны одной монеты.

Конечно, мы должны помнить, что каждая конкретная проблема программирования чревата тонкостью и взаимосвязанностью. Никто из нас никогда не узнает всех «текущих лучших путей», потому что никто из нас не может даже представить сотой всех возможных конкретных проблем. Кроме того, эти «текущие лучшими способами» всегда заменяются лучшими способами, на и дальше, пока мы не будем работать на беговой дорожке инноваций, пытаясь продолжать встать. Возможно, это одна из замечательных вещей о кодировании – всегда что-то новое.

Прежде чем мы сберем наших баннеров Tmtowtdi и Toowtdi, я должен сказать, что у них есть место. Дзен Питона Определяет сам язык Python – должен быть один очевидный способ сделать вещи. Между тем «Тима Тоди» определяет сам язык Perl, язык, который поддается экспериментам. Не заменяет другое: Python и Perl у обоих есть свое место, наряду с сотнями других уникальных языков программирования.

Все, что считается, возможно, нам нужна новая аббревиатура для того, как мы решаем проблемы – тот, который не может щитить по своей природе ленивый кодирование любого вида. Я нет Тим Питерс, но я предлагаю следующее:

Tamesfa: Для чего угодно есть более элегантное решение!

Хотя могут возникнуть некоторые редкие ситуации, когда это не так, я думаю, что это довольно безопасное баннер для волны. В конце концов, даже алгоритмы долго не сдерживались новыми и неожиданными конкурентами!

Как вы думаете? Можем ли мы объединиться под новую аббревиатуру и двигаться вперед к лучшим и лучшим решениям вместе? Есть ли другая часть этого исторического рифта, которую я упустил из виду? Пожалуйста, оставьте комментарий! (Просто будь хорошим.)

Образ кредита: «Издевающийся аргумент для птиц» Chiltepinster лицензирован под CC-BY-SA 3.0 .

Оригинал: “https://dev.to/codemouse92/itwamtsp-i-think-were-all-making-the-same-point”