Pull to refresh

Comments 33

Вот уж не думал в статье про Go встретить клон Mocha. :)
Кстати о джаваскрипте. Можно в Go запускать тесты автоматически при каждом изменении в файлах проекта? Скорость компиляции позволяет сделать это частью цикла разработки?
GoConvey как раз этим и занимается
Я имею в виду без веб-интерфейса. В консоли, как mocha -w
запустить в консоли goconvey. закрыть вкладку в браузере
и смотреть вывод в консоли

но имхо в браузере симпатичнее
Почему-то тут написано, что надо использовать отдельный скрипт на питоне.
прикольный вариант не использовал такой
как я писал выше мне нравится веб-интерфейс
(ремарка специально для главного хабратролля lair)

Мне доводы lair часто кажутся гораздо более убедительными, чем ваши. Не можешь атаковать мысль — атакуй мыслителя. Грустно всё это.

Так что, пишите тесты! С Go это так просто, что нет больше оправданий не писать.

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

Знаете, чем «мыслители» отличаются от троллей? Мыслитель стремиться докопаться до сути, тролль — доказать свою изначальную точку зрения.

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

Знаю, поэтому так и написал. Но вы привели очень опасное определение тролля. Оно в большей степени вам подходит, чем вашим оппонентам.

За статью — спасибо. Если когда-нибудь вернусь к Go, будет полезна. Но зачем нужна была эта эмоциональная хрень в конце? Если не нравится вам, что есть мнения, отличные от ваших, это не повод обзывать людей троллями. Но как бы кощунственно это ни звучало, мне нравится наблюдать как два профессионала мочат друг друга :) в качестве побочного эффекта наружу выходит огромное количество знаний и опыта (с обеих сторон), про которые не пишут статьи
Но вы привели очень опасное определение тролля.

Давайте проще — есть нечто А и Б. Один человек попробовал А и Б и делится с другими своим мнением. Другой, попробовал только А, и тратит массу сил и времени, чтобы очернить Б. Точка зрения первого и точка зрения второго — это опыт против предвзятости.

Если не нравится вам, что есть мнения, отличные от ваших, это не повод обзывать людей троллями.

Ну я повторюсь, я обожаю общаться предметно с людьми с другими мнениями, когда эти мнения подкреплены практикой и опытом. 8К комментариев вышеупомянутого юзера, как-бы намекают.
Не обязательно пробовать Б, чтобы делать о нём какие-то выводы. Кроме того, насколько я понял, ситуация несколько иная. Ваши оппоненты (не все, но некоторые точно) имели дело с Go.

Разговор в духе:
— Вы: в Go правильно так.
— Оппоненты: пробовал, не понравилось, так не удобно. Криво сделано. Вон там лучше.
— Вы: у тебя нет опыта. У гугла есть. А Пайк написал линукс. Поэтому ты лузер и ничего не понимаешь.
— Оппоненты: попробовал ещё раз. Все равно не понравилось.
— Вы: ты просто ничего не понял. Ты делаешь это неправильно.
— Оппоненты: ну напиши чего я не понимаю и почему это должно быть удобно.
— Вы: ты тролль, у тебя 8к комментов, которые как бы намекают. Go прекрасен! Кто не с Go, тот лох.
Не обязательно пробовать Б, чтобы делать о нём какие-то выводы.

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

Разговор в духе:
— Я: в Go принято так.
— Оппоненты: Go писали идиоты, так плохо.
— Я: нет, Go писали не идиоты, а одни из опытнейших программистов планеты.
— Оппоненты: сектанты, выбрали язык из-за авторитета! Ведь всем известно, что язык без исключений могли придумать только идиоты.
— Я: Нет, у исключений есть масса своих проблем, неочевидных поначалу, но видимых с опытом.
— Оппоненты: докажи! вот я придумал код, в котором исключения объективно лучше.
— Я: Речь о компромиссах, ваш код — частный пример, который не имеет ничего общего с проблемой исключений.
— Оппоненты: (яростно минусуют) Вот в C#/Java/Rust все классно, а Go — говно.
Честно, стараюсь разобраться в чём дело, но не могу (не способен). В диалоге с вами возникают ровно те же ощущения, что при использовании Go. Вроде бы всё хорошо и гладко, вроде бы даже аргументированно, вроде и опыт есть и человек хороший. А всё равно фигня какая-то несъедобная на выходе.
Ну, я про свои ощущения не буду писать, пожалуй, от общения с некоторыми комментаторами.

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

Как вы понимаете, человек, который никогда не был в США, но тратящий тонну времени и сил, чтобы доказать мне, что там плохо, и строящий для этого убедительные аргументы — это не адекватный собеседник. Ему не интересно узнать, как там (а ведь есть такая хорошая возможность), ему интересно только навязать свое мнение, сформированное его изоляцией и телевизором.

Вот такой уровень вышеобозначенного собеседника тут.
Поймите же, что не в Европу и не в США вы зовёте и не их расхваливаете. А Зимбабве. И нет желания ехать туда чтобы проверять ваши доводы, которые не убедительны вобще ни разу. Ну какое мне дело, что там живёт лучший программист планеты, и что Гугл качает оттуда нефть? Мне туда всё равно не хочется. Да, я там ни разу не был, но мне как-то достаточно рейтинга википедии об индексе уровня жизни, чтобы понять, что ноги моей там не будет. И я буду странным белым взглядом смотреть на человека, который не только публикует посты о Зимбабве (за что ему огромное спасибо), но и всеми мыслимыми способами агитирует за переезд туда и кроет всех чуть не матом, кто возражает. А вы всё витаете в заблуждениях, что Зимбабве — это центр мира, что это лучшая страна в мире и т.п. И обижаетесь, когда вам возражают, даже те, кто там не был.
Вот вы прямо демонстрируете мой поинт. Вы не были в стране А, про которую пишет человек, там находящийся, но вы «объективно уверены», что это Зимбабве, а не США. Человек вам пишет — это США, а вы ему — нет, это Зимбабве, мне по телевизору сказали.

Уж наезд про то, что я считаю Go лучшим языком в мире — простите, не по адресу. У меня крайне взвешенный взгляд на применимость языков, просто та сфера, в которой я больше всего работаю — серверный софт, как раз наиболее удачная ниша для Go. Поэтому, ваши надежды о том, что я «витаю в заблуждениях» также несостоятельны, как и попытка неизвестную вам страну обозвать Зимбабве.
Вы не были в стране А, про которую пишет человек, там находящийся, но вы «объективно уверены», что это Зимбабве, а не США. Человек вам пишет — это США, а вы ему — нет, это Зимбабве, мне по телевизору сказали.

Ещё раз, на пальцах. Go — это Зимбабве. Ваши статьи — про жизнь в Зимбабве. В Зимбабве нет правил дорожного движения (ПДД), вы про это написали статью. Вам сказали — что за хрень? С ПДД намного удобнее, весь мир пользуется ПДД в том или ином виде. Вы же доказываете, что ПДД не нужно, потому что в Зимбабве один простой закон — «Смотри-В-Оба». Он настолько прост, что ПДД не требуется. Вам говорят — не, нафиг-нафиг такую страну где нет ПДД. А вы что? Вы обвиняете всех (меня уже тоже) в недостатке опыта, и что вам обязательно надо съездить в Зимбабве, чтобы понять, что без ПДД можно прожить. Поймите: я не хочу без ПДД. В частности, поэтому я не хочу в Зимбабве. Окей, по-вашему я теперь тролль, который не был в Зимбабве, но которому по телевизору сказали, что без ПДД — это плохо. Ещё раз: спор не о том, в какой стране вы находитесь. Вы находитесь в стране Go, с этим никто не спорит. Спорят с тем, что страна без ПДД — не так уж хороша, по крайней мере для тех, кто привык соблюдать ПДД.

И еще немного по поводу опыта и навязывания.

Воображение на то и дано человеку, чтобы не испытывать всё на себе и уметь представить результат согласно своему опыту. Вы же навязываете свою точку зрения, что при обсуждении языков программирования любой опыт, кроме непосредственно использования Go должен быть исключен, а также запрещаете использовать воображение. И удивляетесь откуда столько минусов. У этой статьи 9 минусов на настоящий момент, все девять — лично ваши, потому что статья объективно хорошая. Может быть, это повод задуматься? Что там Пайк говорит про самокритичность? Извините за резкое сравнение, но именно такую линию держат одержимые сектанты. Мой вам дружеский совет: меняйте подход к популяризации.
Ещё раз, на пальцах. Go — это Зимбабве

Вот это я называю — неумение выйти из рамок предвзятости. Вы вбили в голову себе, что незнакомая страна А — это Зимбабве, и сколько вам люди из той страны не пишут, что это не Зимбабве, вы будете непоколебимы в своем «мнении» — вам же виднее :) Это то, что в статье «For better of for worse» автор называл «пытаясь объяснить популярность Go… — они считают всех дураками».

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

Продолжайте воображать, что США — это Зимбабве. Мне только не нужно это навязывать, у меня есть практический опыт, а воображение я предпочитаю использовать для чего-то более креативного, чем хейтерские комментарии :) Договорились?

Извините за резкое сравнение, но именно такую линию держат одержимые сектанты.

Не извиняю :) Вы чуть выше так возвышенно писали о необходимости уметь принимать чужую точку зрения, а теперь обзываете сектантами тех, кто не согласен с вашим «мнением со стороны» о том, что США это Зимбабве.

И удивляетесь откуда столько минусов.

Вот опять — с чего вы взяли, что я этому удивляюсь? Откуда эта страсть придумывать мои мысли и приписывать их мне?
Глядя на все эти «мороженным лечат горло» и «да поймите вы, что вы находитесь в Зимбабве, мне по телевизору сказали», я давно не удивляюсь.
Читать будем?

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


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

То что там нет ПДД — это вы сами себе придумали, потому что в вашей реальности есть правило «должно быть ПДД». Если бы вы приехали в эту страну и обнаружили, что там давно уже все пересели self-driving автомобили, вы бы могли пересмотреть свои убеждения. Но не раньше.

Нет, серьезно, есть вещи, которые нельзя понять просто прочитав спецификацию или википедию. Так или иначе, ваше представление о мире ограничено вашим практическим опытом — будь это языки или политический устрой страны. Вот lair уже потратил целые часы и килобайты текста, чтобы мне доказать, что Go не стимулирует правильно обрабатывать ошибки. Он находит и придумывает «убедительнейшие» доказательства, оперируя спецификацией и частными примерами, но если бы он сам попробовал писать на Go — не предвзято, разумеется — он бы обнаружил, что сам язык, тулинг и экосистема вокруг него, приводят к прямо противположному его мнению эффекту — язык воспитывает внимательное отношение к ошибкам. Эти вещи можно обнаружить только на практике, и либо принять их. либо погрузиться в когнитивный диссоннанс, как автор одной из предыдущих статей, который имел «объективные доказательства» того, как плох дизайн Go, но разглядевший, что на практике эффект совершенно иной.

А вообще из-за вот таких комментариев — «поверь, что наше мнение более правильное, чем твое», которые мусолятся раз за разом очень маленькой группкой людей тут — Хабр приобретает своеобразную репутацию. Мой вам дружеский совет: меняйте подход к отношению к новым и незнакомым вам вещам. Прислушивайтесь больше к тем, кто имеет практический опыт, а не к диванным теоретикам.
Аналогия неверна. Верная аналогия — в США, когда болит горло — советуют поесть мороженного. А у нас категорических не рекомендуют. Не надо ездить в США, чтобы узнать зачем есть мороженное, когда болит горло. И не надо ездить в США, чтобы усомниться в эффективности такого лечения.
в США, когда болит горло — советуют поесть мороженного

Как вы удачно. Я жил в США, и могу вас заверить, что не советуют там такого. Но вы же не будете меня слушать, вы найдете убедительные доводы, что вы правы, а я нет :)
Как вы удачно.

Удачно, точно. Вам привели аналогию, которая верно отражает положение вещей, но вы взялись обсуждать не суть аналогии, а её форму. Как вы достаточно часто делаете и в дискуссиях об исключениях и дженериках.
Я жил в США, и могу вас заверить, что не советуют там такого.

Если с вашей точки зрения тот факт, что я не жил в США, а вы жили, делает ваше утверждение более заслуживающим доверия, чем моё, то несомненно утверждение человека, который родился в США, вырос в США и живёт в США до сих пор, будет более достоверным, чем ваше.
Но вы же не будете меня слушать, вы найдете убедительные доводы, что вы правы, а я нет :)
Как скажете :). Есть гугл, который сразу находит такое. Или такое.

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

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

Ну и есть гугл, который сразу находит такое. Или такое.

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

Я, правда, не понимаю, зачем тратить время на подобные дискуссии. Хотите думать, что в США все лечат горло мороженным — верьте. Но мне не нужно это рассказывать, еще и доказывая, что я не прав :) Я такого не понимаю, правда.
Не хочу ввязываться в дискуссию на десятки комментариев о том, почему эта аналогия верна или не верная, это уход от темы.

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

У меня сложилось впечатление, что вы считаете свои примеры обработки исключений общими. Это так?
Я, правда, не понимаю, зачем тратить время на подобные дискуссии.

Я тоже не понимаю, именно поэтому я предложил вам оппонировать сути аналогии, а не её форме. Но вы почему-то этого не сделали.

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

Нет, тема ветки — почему я считаю его яростным троллем.

lair приводит вам примеры, где обработка ошибок в стиле go неудобна. Так приводите примеры, где она удобна.

Я начинаю уставать от этого. Человек говорит «мне неудобно». Я говорю «у этого 'неудобства' есть важное преимущество». А человеку кроме своего «неудобно» больше ничего не интересует. Поверьте, за те сотни комментариев, я уже хорошо увидел, пытается ли человек услышать аргументы или тупо бомбит своим мнением, пока от него не устанут.

Человек говорит «мне неудобно». Я говорю «у этого 'неудобства' есть важное преимущество».

Если я правильно понял, то важным преимуществом является тот факт, что обработка ошибок является такой же частью кода, как и бизнес логика. Пожалуйста, сделайте ещё шаг — напишите, чем это хорошо для программиста. В каких случаях это очень удобно. Дайте ссылок на код с хорошо сделанной обработкой ошибок. Это окажет неоценимую помощь всем, кто пытается понять, как программировать на Go, имея за плечами многолетний опыт программирования на Джаве или С# или С++.
Пожалуйста, сделайте ещё шаг — напишите, чем это хорошо для программиста.

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

Вы серьезно? Я статью про это писал, и несколько статей на тему переводил.

Только вот как подход, рекомендуемый в Go помогает не забивать на ошибки — непонятно.

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

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

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

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

Это только в тех случаях, когда понятно объяснить словами невозможно.
Вот, что я понял из опубликованного вами на хабре. Я правильно понял?

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

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

Это только в тех случаях, когда понятно объяснить словами невозможно.

По-моему, это именно этот случай.
Sign up to leave a comment.

Articles