Вы не понимаете, к сожалению ли, к счастью ли, ни архитектуру OTP, ни даже описанную мной проблему. Я про переключение между процессами, а вы вдруг про блокирующие вызовы.
Потому что иммутабельность делает сборку мусора ноубрейнером. Ну, помимо того что переключение между процессами в шедулере ОС могло бы ускориться примерно в тыщу раз.
Все, вот 100% все долговременно успешные проекты, которые контролируются их создателями — были созданы «ужасными, токсичными, людьми».
Спасибо, поржал. Вам с Воложем не доводилось никогда общаться? Может быть, вы знаете, кто такие Matthew Honnibal и Ines Montani? Joe Armstrong и Robert Virding? John Hughes? José Valim? Matz? Со всеми этими людьми мне посчастливилось пообщаться лично.
Гвидо до них по уровню и таланта, и интеллекта, и даже успешности — как до Луны.
А, извините, результат-то тогда откуда взялся?
Вам объяснить, что такое ложный силлогизм, и почему из «если бы Линус умел, было бы лучше» ну вот вообще никак не следует «если Линус не умеет — то все вообще кошмар», или сами как-нибудь?
Торвальдса, так, для справочки, никто никуда не подсидел; он по просьбе дочери так поступил. И я ему верю. А вашим домыслам, которые могут вдруг захлестать фонтаном — не особо.
Вы ответили сразу на два моих, слабо связанных между собой, комментария так, как будто это было одно сложносочиненное предложение.
Ну и:
библиотеки для скриптовых языков лучше писать на C
Да, капитан, спасибо за подсказку из 1995 года, у нас тут в будущем уже ржавчина :) Но даже несмотря на то, что в идеальном сферическом мире в вакууме, населенном единорогами и розовыми феями это и так, иногда все-таки приходится потакать нуждам бизнеса. В базу там, по ходу пьесы, результаты сбрасывать, проверять что-нибудь на соответствие с остальной бизнес-логикой, то се. Чтобы все эти проверки переписать на чем-нибудь низкоуровневом, Деннису Ричи года три потребуется.
Возьмите contracts.ruby который я в начале упоминал, или DSL напишите. Я, говоря про реальную жизнь, имел в виду «не нужно демонстрировать коллегам, что вы настолько умеете в метапрограммирование». А вдруг вы потом в лотерею миллион выиграете, а вашим товарищам — этот код поддерживать?
С другой стороны, я очень люблю пижонство и вот такая мини-библиотечка у нас уже три года в продакшене :) Но тут я точно знал, что это финальная версия, и дорабатывать ее не потребуется.
Да тоже далеко не всегда. Я у нас как раз пишу библиотеки в скриптовых языках, и этот код вообще мало, кто поймет, зато интерфейс у него прозрачный, ясный и хорошо задокументированный.
Код проекта, который будут поддерживать люди на протяжении долгого времени обязан быть простым и понятным. Код библиотек — обязан иметь простой и понятный интерфейс, под капотом он должен быть просто надежным и быстрым.
Вы оптимизацию алгоритмов в корке любого языка видели когда-нибудь? Код любой виртуальной машины? Да хоть исходники Docker’а?
Во внутренних библиотеках есть миллиард вещей, которые важнее читаемости. Но в какой-нибудь витринке магазинчика на новомодном фреймворке — да, если за секунду не понял все — надо переписывать.
Вообще-то первая версия, вышедшая в конце весны 1991 и умевшая запуститься и IO, была написана Линусом дома в одиночку, причем отвлекался он только на ругать с Танненбаумом, который так никогда и не помог ни единой строкой кода.
Вообще, мне кажется, разговор уперся в надуманную, противоречивую и неверную дихотомию «хороший код и грубияны» или «плохой код и милашки». Все сложнее. Кого-то надо хвалить, кого-то надо пинать — если нужен результат. Линус так не умеет (что нормально) и имеет полное право на любой стиль общения (а люди имеют право его и его детище игнорировать). Было бы лучше, если бы он нашел индивидуальный поход к каждому, и вот тут ругался, а вот тут — ласково объяснял, как надо? — Несомненно. Мог ли он так? — Очевидно, нет.
Но в коллективе из двадцати разработчиков, шеф всегда может найти золотую середину, и хороший шеф — находит. А у нас еще есть тафгай в моем лице, и мы играем в хорошего и плохого полицейского. Было бы лучше одним кнутом, или одним пряником? — Однозначно нет.
Значит вы ничего про го не знаете, а про эрланг мало понимаете, раз на нем писали все таки.
Я думаю, нам стоит дискуссию прекратить. Вы считаете, что я не знаю, и не умею, я тоже невысокого мнения о ваших когнитивных способностях, да и поднадоело мне приводить use-cases и ссылки.
Ну да, ну да. Вот только так получилось, что я в компании немного руководитель, и решать проблемы с подчиненными — моя непосредственная задача, помимо написания кода.
Так вот если ко мне придет Вася и нажалуется на Петю — то Вася завтра же будет уволен, а с Петей поговорим и попробуем еще поработать. Так что пример с судьями плохо масштабируется.
Потому что, например, мне настолько противен сам синтаксис Го, что я вынужден страдать а нет, подождите, я же просто на нем не пишу.
Дайте мне офис, в котором соблюдают другие правила (шучу, у меня как раз такой) и другой интернет (вот тут хуже, конечно) — и я вообще буду рад существованию их культуры.
Как вы ловко все время обходите тему создания продукта-то, а. Бесплатно, на протяжении долгого времени, кстати, в отличие от продавщицы в советском магазине.
Невозможно прислать пулл-реквест, не приложив к этому усилий, априори больших, чем любой отказ.
Вы вообще хоть когда-нибудь делали code review джуниоров, которых нельзя (и не хочется) в пень послать? Да я на каждый такой code review трачу усилий и времени в сто раз больше, чем они.
Разобраться в плохом коде гораздо сложнее и трудозатратнее, чем его создать.
Если два человека будут друг друга уважать, обоим будет приятнее.
Уважать — да, а врать про то, что код — конфета, просто сейчас Меркурий не в фазе Луны, поэтому мерджить не станем — нет.
Я недолюбливаю слова, определение которых не понимаю, и слово «токсично» относится именно к таким.
Прочитать такое, когда ты старался — неприятно.
Прочитать сто откровенно тупых пулл-реквестов в день — еще неприятнее.
Надо четко для себя понимать: я пулл реквест прислал, чтобы продукт улучшить, или чтобы меня по головке погладили? Если чтобы улучшить продукт — я пойду тренироваться и вылижу свой следующий пулл реквест так, что хрен придерешься.
А если только ради смайлика в ответ — то я пойду орать на всех углах какой Линус токсичный, и как мне безразлично, что он, работая по 16 часов в день, сделал возможным в принципе мой ноутбук за пятихатку вместо шести тысяч, мой телефон, и все IoT в моем доме: ведь Линус — о! ужас — токсичен.
Он и раньше писал прекрасно, я его G+ читал года с 2008, наверное.
Просто романы пишут не так, как повести; повести — не так, как стихи, а уж стихи — не так, как код ревью. Я убежден, что если бы не личность Торвальдса, со всеми этими нвидиями и письмами «мало-мальски разумный человек такого кода не напишет» — ни Линукса, ни Андроида сейчас бы не было в принципе.
Вон Танненбаум был какой милашка, и идеи у него были правильнее, и ресурса куда больше, и начал он раньше. А где сейчас Миникс?
Вы не понимаете, к сожалению ли, к счастью ли, ни архитектуру OTP, ни даже описанную мной проблему. Я про переключение между процессами, а вы вдруг про блокирующие вызовы.
Лол, фсе.
Нет :)
Потому что иммутабельность делает сборку мусора ноубрейнером. Ну, помимо того что переключение между процессами в шедулере ОС могло бы ускориться примерно в тыщу раз.
Несчастные функциональщики без двусвязных списков всю жизнь живут, и ничё.
Не потому, что не нужно. А потому что мутабельность нужно выжигать каленым железом.
А в некоторых это делают просто энтузиасты :)
А в некоторых — до сих пор — прям страшно вопрос задать; придёт какой-нибудь нуб с репутацией чуть за 10К и покажет тебе мир с копеечку.
Спасибо, поржал. Вам с Воложем не доводилось никогда общаться? Может быть, вы знаете, кто такие Matthew Honnibal и Ines Montani? Joe Armstrong и Robert Virding? John Hughes? José Valim? Matz? Со всеми этими людьми мне посчастливилось пообщаться лично.
Гвидо до них по уровню и таланта, и интеллекта, и даже успешности — как до Луны.
Вам объяснить, что такое ложный силлогизм, и почему из «если бы Линус умел, было бы лучше» ну вот вообще никак не следует «если Линус не умеет — то все вообще кошмар», или сами как-нибудь?
Торвальдса, так, для справочки, никто никуда не подсидел; он по просьбе дочери так поступил. И я ему верю. А вашим домыслам, которые могут вдруг захлестать фонтаном — не особо.
Вы ответили сразу на два моих, слабо связанных между собой, комментария так, как будто это было одно сложносочиненное предложение.
Ну и:
Да, капитан, спасибо за подсказку из 1995 года, у нас тут в будущем уже ржавчина :) Но даже несмотря на то, что в идеальном сферическом мире в вакууме, населенном единорогами и розовыми феями это и так, иногда все-таки приходится потакать нуждам бизнеса. В базу там, по ходу пьесы, результаты сбрасывать, проверять что-нибудь на соответствие с остальной бизнес-логикой, то се. Чтобы все эти проверки переписать на чем-нибудь низкоуровневом, Деннису Ричи года три потребуется.
Возьмите
contracts.ruby
который я в начале упоминал, или DSL напишите. Я, говоря про реальную жизнь, имел в виду «не нужно демонстрировать коллегам, что вы настолько умеете в метапрограммирование». А вдруг вы потом в лотерею миллион выиграете, а вашим товарищам — этот код поддерживать?С другой стороны, я очень люблю пижонство и вот такая мини-библиотечка у нас уже три года в продакшене :) Но тут я точно знал, что это финальная версия, и дорабатывать ее не потребуется.
Да тоже далеко не всегда. Я у нас как раз пишу библиотеки в скриптовых языках, и этот код вообще мало, кто поймет, зато интерфейс у него прозрачный, ясный и хорошо задокументированный.
Код проекта, который будут поддерживать люди на протяжении долгого времени обязан быть простым и понятным. Код библиотек — обязан иметь простой и понятный интерфейс, под капотом он должен быть просто надежным и быстрым.
Кстати. Придумал очень простой, но очень действенный тест для феечек из дискуссии, которые обвиняют всех вокруг в токсичности за «надо переписать».
Если вы хоть раз на Хабре поставили минус, хоть за статью, хоть за комментарий, хоть в карму — вы токсичный мудак.
И это неоспоримо, потому что анонимное «код — говно» еще хуже сказанного в лицо.
Вы оптимизацию алгоритмов в корке любого языка видели когда-нибудь? Код любой виртуальной машины? Да хоть исходники Docker’а?
Во внутренних библиотеках есть миллиард вещей, которые важнее читаемости. Но в какой-нибудь витринке магазинчика на новомодном фреймворке — да, если за секунду не понял все — надо переписывать.
Я вообще-то с вами скорее согласен, но
Вообще-то первая версия, вышедшая в конце весны 1991 и умевшая запуститься и IO, была написана Линусом дома в одиночку, причем отвлекался он только на ругать с Танненбаумом, который так никогда и не помог ни единой строкой кода.
Вообще, мне кажется, разговор уперся в надуманную, противоречивую и неверную дихотомию «хороший код и грубияны» или «плохой код и милашки». Все сложнее. Кого-то надо хвалить, кого-то надо пинать — если нужен результат. Линус так не умеет (что нормально) и имеет полное право на любой стиль общения (а люди имеют право его и его детище игнорировать). Было бы лучше, если бы он нашел индивидуальный поход к каждому, и вот тут ругался, а вот тут — ласково объяснял, как надо? — Несомненно. Мог ли он так? — Очевидно, нет.
Но в коллективе из двадцати разработчиков, шеф всегда может найти золотую середину, и хороший шеф — находит. А у нас еще есть тафгай в моем лице, и мы играем в хорошего и плохого полицейского. Было бы лучше одним кнутом, или одним пряником? — Однозначно нет.
Я думаю, нам стоит дискуссию прекратить. Вы считаете, что я не знаю, и не умею, я тоже невысокого мнения о ваших когнитивных способностях, да и поднадоело мне приводить use-cases и ссылки.
Так что конструктива не выйдет, увы.
А уж какой кошмар учить новый язык (разговорный) в 45 — словами не передать, даже при том, что он не второй, и даже не третий.
Ну да, ну да. Вот только так получилось, что я в компании немного руководитель, и решать проблемы с подчиненными — моя непосредственная задача, помимо написания кода.
Так вот если ко мне придет Вася и нажалуется на Петю — то Вася завтра же будет уволен, а с Петей поговорим и попробуем еще поработать. Так что пример с судьями плохо масштабируется.
Потому что, например, мне настолько противен сам синтаксис Го, что я
вынужден страдатьа нет, подождите, я же просто на нем не пишу.Дайте мне офис, в котором соблюдают другие правила (шучу, у меня как раз такой) и другой интернет (вот тут хуже, конечно) — и я вообще буду рад существованию их культуры.
Ну да, ну да, не будет дедлока, я игзаджерировал (пардон май френч :)
Вы комментарий, на который я отвечал, читали? Конкретно вот эту его часть:
Так-то я с вами-то согласен. А к автору того комментария — у меня есть вопросы, которые я и озвучил.
Как вы ловко все время обходите тему создания продукта-то, а. Бесплатно, на протяжении долгого времени, кстати, в отличие от продавщицы в советском магазине.
Вы вообще хоть когда-нибудь делали code review джуниоров, которых нельзя (и не хочется) в пень послать? Да я на каждый такой code review трачу усилий и времени в сто раз больше, чем они.
Разобраться в плохом коде гораздо сложнее и трудозатратнее, чем его создать.
Уважать — да, а врать про то, что код — конфета, просто сейчас Меркурий не в фазе Луны, поэтому мерджить не станем — нет.
Я недолюбливаю слова, определение которых не понимаю, и слово «токсично» относится именно к таким.
Прочитать такое, когда ты старался — неприятно.
Прочитать сто откровенно тупых пулл-реквестов в день — еще неприятнее.
Надо четко для себя понимать: я пулл реквест прислал, чтобы продукт улучшить, или чтобы меня по головке погладили? Если чтобы улучшить продукт — я пойду тренироваться и вылижу свой следующий пулл реквест так, что хрен придерешься.
А если только ради смайлика в ответ — то я пойду орать на всех углах какой Линус токсичный, и как мне безразлично, что он, работая по 16 часов в день, сделал возможным в принципе мой ноутбук за пятихатку вместо шести тысяч, мой телефон, и все IoT в моем доме: ведь Линус — о! ужас — токсичен.
Он и раньше писал прекрасно, я его G+ читал года с 2008, наверное.
Просто романы пишут не так, как повести; повести — не так, как стихи, а уж стихи — не так, как код ревью. Я убежден, что если бы не личность Торвальдса, со всеми этими нвидиями и письмами «мало-мальски разумный человек такого кода не напишет» — ни Линукса, ни Андроида сейчас бы не было в принципе.
Вон Танненбаум был какой милашка, и идеи у него были правильнее, и ресурса куда больше, и начал он раньше. А где сейчас Миникс?