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

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

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




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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

      +13
      Ну серьезно, к чему тут хабы php и node.js?
        +1
        Они, наверное, указывают на то, что именно подвигло автора написать этот топик habrahabr.ru/post/273259/#comment_8691695
          0
          Ну в общем да, дискуссии эти нынче нередко возникают именно на почве анализа достоинств и недостатков php и nodejs.
            +20
            Ну вы же понимаете, что каждой теме — свой хаб?
              +8
              хватит говорить об этом, мы и так вкурсе
                +10
                Наш вкурс зачастую радикально отличается от вкурса других людей!
        +5
        Крик души просто :)
          0
          Именно :)
            +1
            Мазь же, ну.
            0
            Надеюсь, вы не решили повторить подвиг товарища GLAUBEROV с его анализом?
              0
              Я было подумал, что статья именно этим анализом и навеяна, но нет, уже указали, откуда ветер дует :-)
            0
            Часто эта фраза просто попытка остановить бессмысленный спор. Бессмысленный это когда разговор о PHP и Node.js скатывается в обсуждение аллегорий и аналогий http://habrahabr.ru/post/273259/#comment_8691591
              0
              Обратите внимание, эта фраза сильно предшествует обсуждению аллегорий и аналогий.
              +4
              Cпорь, либо не мешай спорить!?
                –3
                Не совсем. Скорее, если берёшься участвовать в дискуссии, то вначале разберись, что именно люди обсуждают.
                +1
                Кэп, а как быть при переходе дискуссии в область «удобства» (которая встречается практически во всех IT спорах)?
                  0
                  Оглашать критерии удобства и продолжать дискутировать. :) Бывает правда вариант, что просто не нравится технология человеку, а чем он толком объяснить не может. Я в таких случаях стараюсь так и говорить.
                    0
                    Критерии удобства? ) Интересно, а можно пример таких критерий?
                      0
                      Ну возьмём, например язык программирования. Мне удобно, когда в экосистеме языка присутствует система сборки, файлы которой человекочитаемы и не требуют IDE для редактирования. В идеале хорошо, если эти скрипты можно писать непосредственно на языке или на его упрощённом диалекте.
                        +4
                        А мне удобно когда этого не присутствует. Кто из нас прав?
                          0
                          Ну если темой был именно выбор языка программирования, то каждый может посмотреть на наш диалог и, если ему нужна такая система сборки, поддержать того, кто рекомендует язык, в котором такая система сборки есть. А если она ему не нужна — поддержать тех, кто использовать такой язык не хочет.

                          Если вы имели в виду непосредственно выяснение того, какой должна быть система сборки — это тема для отдельной дискуссии. Опять же, выясняем критерии которым должна соответствовать система сборки и сравниваем.
                            +1
                            Ну про систему сборки это ваше, я про критерии удобства. Мне удобно одно, вам другое. Кто в споре прав то? Чье «удобство» более «удобное» и «правильное» и должно быть главным «удобством» из всех возможных «удобств»?
                              +1
                              Правильного удобства нету и быть не может. В споре важно не выяснить, кто прав, а максимально чётко изложить свои доводы. Чтобы те, кому удобно то же, что и вам, имели возможность узнать что вы выбираете и почему.
                                +1
                                Вот это уже хороший ответ, спасибо
                  +22
                  Вы прочитали изложение на тему «в интернете кто-то неправ».
                    +5
                    Они в его глазах фанаты, мнение которых внимания не заслуживает. Но, вместо того, чтобы включиться в дискуссию и попытаться доказать свою позицию фактами, он позиционирует себя носителем абсолютной истины.

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

                    Что за этим следует? «Jpeg! Only JPEG!» и слив кармы. Но это — стандартный срач на Хабре. Все к этому привыкли и подсознательно обходят это стороной. Но давайте не раздувать степени маразма. Писать статьи, основной месседж которых: «да как вы посмели нас критиковать?!» — это уже откровенный перебор. Что дальше? Суд за нетолерантность?(irony)
                      +4
                      Обратите внимание, человечек слева чётко озвучивает в каких случаях png лучше jpg. А не успокаивается на констатации факта, что каждой задаче надо подбирать свои инструменты.
                      Основной мессадж статьи — не «да как вы посмели нас критиковать?!». Основной мессадж статьи — «больше аргументированной критики, меньше капитанских выкриков!»
                        +2
                        Значит мы с вами в разных спорах бываем. Или всё настолько запущено, что каждый считает себя левым человечком. Тогда надо сообща учиться слушать. Потому что даже на самые разумные тезисы есть просто огромная вероятность услышать «ваши примеры пустое место! то же самое можно сделать и на #osname, а вы просто не умеете её готовить вот и беситесь».
                          +2
                          На каждый болт инструмент найдётся более совершенный инструмент, о котором многим ещё предстоит узнать. Понятие «аргументированной критики» субъективно. Чем больше автор статьи напишет «аргументированных» пунктов, тем выше вероятность того, что он покажет провал в знаниях, тогда-то холивар и начнётся. Но всё же даже неудачная попытка сравнить две технологии несёт в себе какую-то новизну (хотя бы в комментариях), а вот вашу статью можно было опубликовать 20 лет назад и никто бы не заметил разницы.

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

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

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

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

                              p.s.
                              Кстати вот тоже удивила позиция по поводу картинок:
                              вы предпочли не только уточнить о каких инструментах идёт речь, но и подкрепить своё заявление наглядным примером
                              Я просто больше не знаю что можно в том сообщении обозвать наглядным. Обе картинки, по сути — высмеивающие, где проблема специально гипертрофирована до невозможности. Иначе можно было бы банальным сравнением сделать вывод, что JPG в десятки раз чётче и качественнее чем PNG. Оба случая (имей они место в реальном споре) — не наглядный пример, а ни что иное, как манипулирование фактами и подтасовка доказательств с целью подтвердить свою точку зрения и опровергнуть чужую. Нельзя стараться сделать так, чтобы таких людей стало больше. Таки людей вообще надо не допускать к полемике, в идеале.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            И это нормально. Учитывая тот факт, что в этих комментариях нет ни одной JPEG картинки (кроме некоторых пользовательских аватаров). :)
                          +3
                          Поверьте, не все в курсе. От уровня «PHP программист» до уровня «Программист» должен пройти ощутимый рост. Кому-то важные истины объясняют старшие товарищи, а кто-то доходит до них сам. Второе, как правило, дольше. Большинство программистов, которых я встречал, были именно "{stackName} программистами", а предложение изучить новый язык или технологию вызвало бы у них внутренний протест и нежелание выходить из зоны комфорта. И даже формулировки могут быть разные: «я перешел с python на node.js» или «новый проект пишeм на node». В первом случае чувствуется, что человек кардинально изменил свою жизнь. А во втором — просто взял другой инструмент из чемодана.
                          Так что, не все в курсе. Уж поверьте.
                            +1
                            Хватит говорить о том, что каждой задаче — свой инструмент, мы и так в курсе

                            Те кто в курсе просто не холиварят на данную тему. Как и на тему «ИнструментА vs „ИнструментБ“.
                              0
                              Холиваров не бывает, если только превосходство инструмента А над инструментом Б для задачи В очевидно. А так — для каждой задачи свой инструмент и я считаю, что для задачи В подходит инструмент Б. Мой оппонент же считает, то это инструмент А. И каждый считает, что его инструмент для данной задачи подходит лучше и у каждого есть множество доводов за и против.
                              +9
                              ИМХО, Хватит говорить что кому то хватит говорить…?
                                +7
                                Вы нарушили рекурсивный запрет!
                                0
                                Аминь.
                                  +5
                                  Накипело / крик души? Во что превратился хабр
                                    +1
                                    Они в его глазах фанаты, мнение которых внимания не заслуживает.

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

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое