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

Ничто в таких топиках не выводит меня из себя больше, чем эта фраза. Она не помогает ничего понять, ничего не проясняет, а самое главное, в контексте топика, как правило абсолютно бессмысленна!




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

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

Особенно хорошо такое поведение иллюстрируется в дискусиях Windows vs Linux.

Появляется человек, говорит, что каждой задаче свой инструмент и что споры на эту тему бессмысленны. Когда его спрашивают, что он имел в виду, и какие задачи он предлагает решать с помощью какой ОС, он спокойно отвечает, что конечно Linux надо ставить на сервера, а когда речь идёт о десктопах или ноутбуках — надо использовать Windows. Собственно полностью игнорируя тот факт, что большая часть дискуссии посвящена доказательству того, что Linux великолепен для домашнего использования, а в остальной части люди аргументировано доказывают, что ничего лучше, чем Windows, на сервер установить просто нельзя. Они в его глазах фанаты, мнение которых внимания не заслуживает. Но, вместо того, чтобы включиться в дискуссию и попытаться доказать свою позицию фактами, он позиционирует себя носителем абсолютной истины.

Лучше бы он прямо сказал — «Линукс на сервер, а винду простым юзерам, а кто со мной не согласен — дебилы». Это было бы как-то честнее и вежливее.

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

Все и так в курсе, что для каждой задачи надо подбирать свой инструмент!


Никто с этим не спорит, вся суть дискуссии в том, чтобы выяснить какой инструмент выбрать для определённого спектра задач. Если ты явился в дискуссию и с умным видом начал вещать очевидные вещи — ты явно либо не понимаешь о чём вообще разговор, либо считаешь своё мнение априори правильным. В первом случае расслабься и почитай, что люди хотят сказать друг другу, во втором — добро пожаловать в дискуссию. Только не забудь в своём комментарии указать какому конкретно инструменту подходит какая конкретно задача и напиши почему. Будешь сильно удивлён количеством не согласного с тобой народу.

Кстати да, о народе.

Твоё мнение зачастую радикально отличается от мнения других людей


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

Так все тут с тобой солидарны и своё мнение тоже имеют.

Или ты хочешь сказать, что сравниваемые инструменты очень разные, и процедура сравнения теряет смысл?

Ты не поверишь, но…

Сравнивают только разные вещи


Потому, что одинаковые вещи — они по определению эквивалентны.

Сравнивают разные вещи и сравнивают их по определённому критерию.

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

Сравнивать вещи нельзя, только если нету никаких критериев.

Тут важно упомянуть ещё один факт.

В статьях A vs B критерии всегда присутствуют, пусть и неявно.


Ворвись в обсуждение что лучше — Go или Rust и спроси как у этих языков с поддержанием морального облика программистов. На тебя конечно посмотрят как на ненормального, но ты извлечёшь для себя важный урок — все спорщики неплохо представляют себе критерии по которым нужно сравнивать языки программирования. Только они хорошо понимают о чём говорят, и явной необходимости перечислять критерии не видят. Дискуссия достаточно быстро переходит в обсуждение преимуществ и недостатков языков при решении тех или иных задач, включая простоту чтения кода и лёгкость его написания.

Или может ты хотел сказать, что выбор инструмента уникален для каждой конкретной ситуации и, не имея всех подробностей контекста, обсуждать инструменты нельзя?

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

В общем что я хочу сказать тебе от лица всех, кто думает, что go отстой, потому что в нём нет дженериков и всех, кто думает, что отсутствие дженериков ни разу не проблема, а также от лица тех, кто считает, что nodejs заруливает go в минуса.
Спасибо кэп!

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

Или лети дальше, другие топики страдают без твоей неоценимой помощи и ждут твоего неминуемого визита!

Комментарии (45)


  1. malaf
    17.12.2015 18:32
    +13

    Ну серьезно, к чему тут хабы php и node.js?


    1. oshibka404
      17.12.2015 18:36
      +1

      Они, наверное, указывают на то, что именно подвигло автора написать этот топик habrahabr.ru/post/273259/#comment_8691695


      1. poxu
        17.12.2015 18:54

        Ну в общем да, дискуссии эти нынче нередко возникают именно на почве анализа достоинств и недостатков php и nodejs.


        1. Milfgard
          17.12.2015 21:49
          +20

          Ну вы же понимаете, что каждой теме — свой хаб?


          1. stepanp
            17.12.2015 22:10
            +8

            хватит говорить об этом, мы и так вкурсе


            1. Mithgol
              17.12.2015 23:22
              +10

              Наш вкурс зачастую радикально отличается от вкурса других людей!


  1. Frost47rus
    17.12.2015 18:34
    +5

    Крик души просто :)


    1. poxu
      17.12.2015 18:54

      Именно :)


    1. redmanmale
      17.12.2015 21:55
      +1

      Мазь же, ну.


  1. inborn_killer
    17.12.2015 18:36

    Надеюсь, вы не решили повторить подвиг товарища GLAUBEROV с его анализом?


    1. dbagaev
      17.12.2015 18:58

      Я было подумал, что статья именно этим анализом и навеяна, но нет, уже указали, откуда ветер дует :-)


      1. inborn_killer
        17.12.2015 19:30

        Не всё так однозначно =)


        1. poxu
          17.12.2015 19:50
          -1

          Действительно не всё


  1. vayho
    17.12.2015 18:41

    Часто эта фраза просто попытка остановить бессмысленный спор. Бессмысленный это когда разговор о PHP и Node.js скатывается в обсуждение аллегорий и аналогий http://habrahabr.ru/post/273259/#comment_8691591


    1. poxu
      17.12.2015 18:52

      Обратите внимание, эта фраза сильно предшествует обсуждению аллегорий и аналогий.


  1. rumkin
    17.12.2015 18:52
    +4

    Cпорь, либо не мешай спорить!?


    1. poxu
      17.12.2015 18:57
      -3

      Не совсем. Скорее, если берёшься участвовать в дискуссии, то вначале разберись, что именно люди обсуждают.


  1. Delphinum
    17.12.2015 19:27
    +1

    Кэп, а как быть при переходе дискуссии в область «удобства» (которая встречается практически во всех IT спорах)?


    1. poxu
      17.12.2015 19:31

      Оглашать критерии удобства и продолжать дискутировать. :) Бывает правда вариант, что просто не нравится технология человеку, а чем он толком объяснить не может. Я в таких случаях стараюсь так и говорить.


      1. Delphinum
        17.12.2015 19:33

        Критерии удобства? ) Интересно, а можно пример таких критерий?


        1. poxu
          17.12.2015 19:38

          Ну возьмём, например язык программирования. Мне удобно, когда в экосистеме языка присутствует система сборки, файлы которой человекочитаемы и не требуют IDE для редактирования. В идеале хорошо, если эти скрипты можно писать непосредственно на языке или на его упрощённом диалекте.


          1. Delphinum
            17.12.2015 19:40
            +4

            А мне удобно когда этого не присутствует. Кто из нас прав?


            1. poxu
              17.12.2015 19:46

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

              Если вы имели в виду непосредственно выяснение того, какой должна быть система сборки — это тема для отдельной дискуссии. Опять же, выясняем критерии которым должна соответствовать система сборки и сравниваем.


              1. Delphinum
                17.12.2015 19:50
                +1

                Ну про систему сборки это ваше, я про критерии удобства. Мне удобно одно, вам другое. Кто в споре прав то? Чье «удобство» более «удобное» и «правильное» и должно быть главным «удобством» из всех возможных «удобств»?


                1. poxu
                  17.12.2015 19:55
                  +1

                  Правильного удобства нету и быть не может. В споре важно не выяснить, кто прав, а максимально чётко изложить свои доводы. Чтобы те, кому удобно то же, что и вам, имели возможность узнать что вы выбираете и почему.


                  1. Delphinum
                    17.12.2015 20:06
                    +1

                    Вот это уже хороший ответ, спасибо


  1. vlreshet
    17.12.2015 19:32
    +22

    Вы прочитали изложение на тему «в интернете кто-то неправ».


  1. Lopar
    17.12.2015 20:07
    +5

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

    Скажу в оправдание фразы «для каждого дела свой инструмент». Вообще эта фраза в подавляющем большинстве случаев используется только когда разговор упирается в канонiчное:
    image

    Что за этим следует? «Jpeg! Only JPEG!» и слив кармы. Но это — стандартный срач на Хабре. Все к этому привыкли и подсознательно обходят это стороной. Но давайте не раздувать степени маразма. Писать статьи, основной месседж которых: «да как вы посмели нас критиковать?!» — это уже откровенный перебор. Что дальше? Суд за нетолерантность?(irony)


    1. poxu
      17.12.2015 20:14
      +4

      Обратите внимание, человечек слева чётко озвучивает в каких случаях png лучше jpg. А не успокаивается на констатации факта, что каждой задаче надо подбирать свои инструменты.
      Основной мессадж статьи — не «да как вы посмели нас критиковать?!». Основной мессадж статьи — «больше аргументированной критики, меньше капитанских выкриков!»


      1. Lopar
        17.12.2015 20:29
        +2

        Значит мы с вами в разных спорах бываем. Или всё настолько запущено, что каждый считает себя левым человечком. Тогда надо сообща учиться слушать. Потому что даже на самые разумные тезисы есть просто огромная вероятность услышать «ваши примеры пустое место! то же самое можно сделать и на #osname, а вы просто не умеете её готовить вот и беситесь».


      1. Lockal
        17.12.2015 22:14
        +2

        На каждый болт инструмент найдётся более совершенный инструмент, о котором многим ещё предстоит узнать. Понятие «аргументированной критики» субъективно. Чем больше автор статьи напишет «аргументированных» пунктов, тем выше вероятность того, что он покажет провал в знаниях, тогда-то холивар и начнётся. Но всё же даже неудачная попытка сравнить две технологии несёт в себе какую-то новизну (хотя бы в комментариях), а вот вашу статью можно было опубликовать 20 лет назад и никто бы не заметил разницы.

        И да, касательно PNG...
        image


        1. poxu
          17.12.2015 22:28

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

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

          Ну и про PNG. Вы могли бы многозначительно заявить, что есть инструменты и получше PNG, а потом не менее многозначительно замолчать, но вы предпочли не только уточнить о каких инструментах идёт речь, но и подкрепить своё заявление наглядным примером.

          Для того, чтобы таких, как вы, стало больше я и написал эту статью.


          1. Lopar
            18.12.2015 19:05

            без уточнения для каких задач подходят инструменты, обсуждаемые в дискуссии
            Почему же без уточнения? Вот же, ваш же пример:
            Когда его спрашивают, что он имел в виду, и какие задачи он предлагает решать с помощью какой ОС, он спокойно отвечает, что конечно Linux надо ставить на сервера, а когда речь идёт о десктопах или ноутбуках — надо использовать Windows.
            И вся статья посвящена тому, что вас бесит, когда человек говорит именно так. А тут в оправданиях вы уже развернулись на 180° и утверждаете, что основная цель статьи — сделать так, чтобы люди говорили такие вещи.
            Так чему верить?

            p.s.
            Кстати вот тоже удивила позиция по поводу картинок:
            вы предпочли не только уточнить о каких инструментах идёт речь, но и подкрепить своё заявление наглядным примером
            Я просто больше не знаю что можно в том сообщении обозвать наглядным. Обе картинки, по сути — высмеивающие, где проблема специально гипертрофирована до невозможности. Иначе можно было бы банальным сравнением сделать вывод, что JPG в десятки раз чётче и качественнее чем PNG. Оба случая (имей они место в реальном споре) — не наглядный пример, а ни что иное, как манипулирование фактами и подтасовка доказательств с целью подтвердить свою точку зрения и опровергнуть чужую. Нельзя стараться сделать так, чтобы таких людей стало больше. Таки людей вообще надо не допускать к полемике, в идеале.


    1. scrutari
      17.12.2015 23:11
      +3

      На JPEG версии этой картинки непонятно, в чем прикол.


      1. Lopar
        18.12.2015 19:08

        И это нормально. Учитывая тот факт, что в этих комментариях нет ни одной JPEG картинки (кроме некоторых пользовательских аватаров). :)


  1. dstarcev
    17.12.2015 20:47
    +3

    Поверьте, не все в курсе. От уровня «PHP программист» до уровня «Программист» должен пройти ощутимый рост. Кому-то важные истины объясняют старшие товарищи, а кто-то доходит до них сам. Второе, как правило, дольше. Большинство программистов, которых я встречал, были именно "{stackName} программистами", а предложение изучить новый язык или технологию вызвало бы у них внутренний протест и нежелание выходить из зоны комфорта. И даже формулировки могут быть разные: «я перешел с python на node.js» или «новый проект пишeм на node». В первом случае чувствуется, что человек кардинально изменил свою жизнь. А во втором — просто взял другой инструмент из чемодана.
    Так что, не все в курсе. Уж поверьте.


  1. DexterHD
    17.12.2015 21:41
    +1

    Хватит говорить о том, что каждой задаче — свой инструмент, мы и так в курсе

    Те кто в курсе просто не холиварят на данную тему. Как и на тему «ИнструментА vs „ИнструментБ“.


    1. poxu
      17.12.2015 21:48

      Холиваров не бывает, если только превосходство инструмента А над инструментом Б для задачи В очевидно. А так — для каждой задачи свой инструмент и я считаю, что для задачи В подходит инструмент Б. Мой оппонент же считает, то это инструмент А. И каждый считает, что его инструмент для данной задачи подходит лучше и у каждого есть множество доводов за и против.


  1. Wolf6969
    17.12.2015 22:18
    +9

    ИМХО, Хватит говорить что кому то хватит говорить…?


    1. dstarcev
      17.12.2015 22:24
      +7

      Вы нарушили рекурсивный запрет!


  1. withkittens
    17.12.2015 22:29

    Аминь.


  1. pandas
    17.12.2015 23:11
    +5

    Накипело / крик души? Во что превратился хабр


  1. stack_trace
    18.12.2015 01:38
    +1

    Они в его глазах фанаты, мнение которых внимания не заслуживает.

    Вы пишете так, словно фанатов не бывает. Я же часто вижу, как данную фразу применяют именно тогда, когда спор идёт между явными фанатами определённых технологий. Пример — тот же спор Rust vs Go. Постоянно наблюдаю как один из языков объявляется «ненужным» и бесперспективным только лишь потому, что автор, похоже, даже не догадывается, что бывают области, отличные от той, в которой нравящийся ему язык хорошо справляется. В этом контексте, ИМХО, фраза более чем осмысленна и имеет цель разъяснить человеку, что он слишком узко смотрит на предназначение инструмента. Ведь то, что инструмент плохо подходит для конкретной задачи не делает его хуже. Максимум — делает его хуже для этой задачи.


  1. Morozov_5F
    18.12.2015 09:24

    Мне очень интересно, к чему был вообще этот пост? То, что автора раздражает, когда пытаются пресечь дискуссию, которая не приводит ни к чему? Ведь спор «ради спора» (а я понял из статьи и комментариев автора, что именно для этого нужны дискуссии) — это бессмысленная вещь, сотрясание воздуха, пустые рассуждения. Тот же спор Linux vs. Windows. Я был свидетелем (да и многие из нас были), когда спор начался с того, где проще написать свой TCP-сервер, а закончилось словами пользователя Windows: «Да линукс твой полный отстой, у меня вот каждый раз, когда пытаюсь поставить, слетает видеодрайвер» и идет окончательное превращение спора в холивар. В споре должна рождаться истина, а люди, которые с пеной у рта доказывают то, что их технология «удобнее объективно ну сам попробуй точно говорю». Такой подход можно понять со стороны литературных критиков, но никак не математиков, программистов, физиков и других людей, так или иначе связанных с естественными науками. Важна рациональность, а не пустословие.
    Возможно, автор и на меня повесит клеймо из разряда «он тоже говорит, что для каждой ситуации свой инструмент, вот и бесится». Я скажу, что я просто выражаю свое мнение, как и просил автор.


  1. scrutari
    18.12.2015 12:22

    Сравнивают только разные вещи

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