Здравствуйте, Pzz, Вы писали:
Pzz>А у тебя глаз не начинает дергаться от обилия восклицательных знаков, которые в расте торчат отовсюду?
да не особо, четсно говоря. у меня больше глаз дергается от шеридановских загонов про докер и про его идеальный мир программирования с розовыми пони и единорогами. и вот от этого map[int]bool{}
Здравствуйте, Sheridan, Вы писали:
S>Я непротив изоляции. Я против когда изоляция — цель использования контейнеров. Я когда такое вижу — сразу понимаю: проект писался абы как, используемые либы — древнее говно мамонта, ибо обновлять их никто и не думал. В современном дистрибутиве без контейнера софт вряд ли запустится.
Здравствуйте, Sheridan, Вы писали:
S>У меня от таких погроммистов подгорает постоянно.
Чем ниже порог входа и чем больше памперсов в языках — тем больше вот таких вот безмозглых будет приходить в профессию
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Sheridan, Вы писали:
CC>>Современное софтостроение пришло к тому, что с некоторыми вендорами народ порой вообще боится обновляться, ибо хрен его знает что эти косорукие там сломали. S>Поэтому рядом с продом должен быть стэйж.
Это далеко не всегда реализуемо. В разы дешевле не трогать то, что работает.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Pzz, Вы писали:
Pzz> еще и делают, в ущерб даже и производительности, этот порядок псевдослучайным, разным при каждом вызове.
Это уже совсем дикий маразм какой то
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
CC>Такое ощущение что у тебя обработка ошибок делается через catch (...) на саааамом верху, ибо в нормальном мире, где failure is an option обрабатывать обычные ошибки исключениями уж очень неудобно.
Ну-ка, ну-ка, поподробнее про "обработку ошибок в нормальном мире". Я каждый раз когда слышу такие утверждения, сразу вспоминаю код новичков на Erlang'е, да и многих других языках, типа такого:
var ret = do_work();
if (ret instanceof Error) {
emit_log("calling do_work failed because of ", ret.exception)
}
Мне при виде такого сразу хочется руки оторвать тем, кто не понимает, что такое "обработка ошибок". Если так уж вышло, что только на самом верху ошибку можно обработать, то именно там и надо ставить catch.
И кто этим "стэйдж" пользуется? Нонче модно "стейдж" устраивать слегка иначе, например, путем выбора "стейдж" страны. Лучше, чтоб та страна была не в противофазе от часового пояса разработчиков. Желательно, чтобы пользователи знали английский (ну или иной родной язык разработчиков, скажем, мандарин). Хорошо бы чтоб страна была примерно от 1% до 5% пользователей.
_>Но тогда же получается, что и открывающаяся фигурная скобка избыточна! Что ж её не отменить? Может немного подправив синтаксис,они авторы, почему нет. Оно же наверно того стоит, тем более, что синтаксически она получилась не особо нужноа, а визуально только мешает. Помнишь наверно как Вирт на каком-то этапе своего пустопорожнего творчества, в Модуле или Модуле-2, избавился везде или почти везде от begin просто завершая любую конструкцию end'м Что за маразм, только закрывающиеся скобки? Да маразм, и сейчас оно по сути так и выглядит
Не. Одну скобку можно потерять на счет раз.
В отличие от ключевого слова.
Но от слов отвыкли в пользу скобок. _>Ах да, отступы и ... Питон. Не буду на нем писать, если не заставят и не заманят, но вряд ли. Но это субъективно и на большее не претендую, и при этом признаю, что в нем хотя бы эта идея законченная и целостная.
Вот нифига не субъективное.
Сколько знаю профессиональных программеров — никто питон не любит. Точно как у тебя: если ОЧЕНЬ надо, то напишу, а так — не-не-не...
Скорее всего — это особенность всего сообщества Си-подобных программистов.
При этом Go народ вполне себе принимает.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Pzz, Вы писали:
S>>Я непротив изоляции. Я против когда изоляция — цель использования контейнеров. Я когда такое вижу — сразу понимаю: проект писался абы как, используемые либы — древнее говно мамонта, ибо обновлять их никто и не думал. В современном дистрибутиве без контейнера софт вряд ли запустится. Pzz>А зачем еще нужны контейнеры, кроме как для изоляции?
Быстроразворачиваемое окружение для разработки/тестов
Масштабирование "на лету" aka ввод новых мощностей при увеличении нагрузки (практикуется в облаках)
Pzz>(идею использовать контейнеры, чтобы скрыть свою криворукость, я отвергаю, как несознательную, но отдаю себе отчет, что в реальной жизни это сплошь и рядом).
Достаточно увидеть огонь в глазах программиста, до которого в первый раз доходит что в контейнер можно воткнуть старое чтото (либу, компилер, что угодно) и хост при этом будет не против, чтобы понять: лишь массовые публичные розги на городских площадях способны исправить ситуацию
То есть люди осознано идут и подготавливают своим нетленкам тепличные условия. Настолько тепличные, что их софт потом в реальном мире, вне контейнеров, не работает.
Здравствуйте, CreatorCray, Вы писали:
CC>>>Современное софтостроение пришло к тому, что с некоторыми вендорами народ порой вообще боится обновляться, ибо хрен его знает что эти косорукие там сломали. S>>Поэтому рядом с продом должен быть стэйж. CC>Это далеко не всегда реализуемо.
Было бы желание.
CC>В разы дешевле не трогать то, что работает.
Ой, сильно черевато жестоким крахом в будущем, когда таки потрогать придётся. А там мало того что пропасть каньонная между тем состоянием которое там и тем, какое надо, да ещё вдобавок у нетрогательного персонала опыта никакого вообще.
Здравствуйте, SkyDance, Вы писали:
S>>Поэтому рядом с продом должен быть стэйж.
SD>И кто этим "стэйдж" пользуется? Нонче модно "стейдж" устраивать слегка иначе, например, путем выбора "стейдж" страны. Лучше, чтоб та страна была не в противофазе от часового пояса разработчиков. Желательно, чтобы пользователи знали английский (ну или иной родной язык разработчиков, скажем, мандарин). Хорошо бы чтоб страна была примерно от 1% до 5% пользователей.
В серьёзных проектах есть. И не один. И у заказчиков несколько полигонов кроме прода (стейж, для "поиграть", аварийный), и у разработчиков — чуть ли не у каждого свой полигон.
SD>В общем, мне бедных Киви иногда даже жалко
Это те, которые уже всё или есть какие-то ещё?
Здравствуйте, LaptevVV, Вы писали:
LVV>Не. Одну скобку можно потерять на счет раз.
Вот, вот. И открывающаяся теряется, потому как для её поиска нужно затратить некоторое время и усилия. Разумеется оставить только закрывающиеся скобки предлагал не всерьёз, а чтобы взглянуть на тему осуждения немного с другой стороны.
LVV>В отличие от ключевого слова.
Отличие только в том, скобки — парный элемент. Мы к этому привыкли и привыкли по логичным причинам. А так для восприятия, да еще в отдельной строчке end ничем не лучше "}"
LVV>Но от слов отвыкли в пользу скобок.
Ну и замечательно.
Здравствуйте, LaptevVV, Вы писали:
LVV>Скорее всего — это особенность всего сообщества Си-подобных программистов. LVV>При этом Go народ вполне себе принимает.
Go — забавный язык, с точки зрения сишника.
Например, когда в Go из слайса делается сабслайс, они разделяют общую память. Потом, если к исходному слайсу сделать append, он может среаллоцироваться, и тогда память разделится. А может и не среаллоцироваться, если у него места в хвосте было достаточно припасено.
Все это открывает не менее интересные возможности, чем common-блоки в Фортране. Не знаю даже, как бывшие Питонисты во всем этом выживают.
Или вот, к примеру, если из слайса по-наивному сделать очередь, добавляя элементы в конце и забирая в начале, все на вид будет вполне работать. Но только выделенная под это дело память будет всегда расти и никогда не освобождаться. Так можно гигабайт, например, сожрать, не заметив. Особенно если делать это неторопясь.
Или, к примеру, если ты добавляешь записи в map, но забываешь их оттуда удалять. Они ж сами никуда не исчезнут и будут занимать память. Так можно сделать утечку памяти в языке со сборщиком мусора. В Питоне так тоже можно, кстати. И в JS.
Здравствуйте, CreatorCray, Вы писали:
S>>У меня от таких погроммистов подгорает постоянно. CC>Чем ниже порог входа и чем больше памперсов в языках — тем больше вот таких вот безмозглых будет приходить в профессию
До тех пор, пока программисты будут бизнесом выгодно доиться обналичиваться, бизнес будет тянуть в профессию всех, до кого дотянется.
Надо не языки переусложнять, а требовать повышения зарплаты в 5 раз. Вот создать профсоюз и требовать. Как докеры в США.
Здравствуйте, SkyDance, Вы писали:
SD>И кто этим "стэйдж" пользуется? Нонче модно "стейдж" устраивать слегка иначе, например, путем выбора "стейдж" страны. Лучше, чтоб та страна была не в противофазе от часового пояса разработчиков. Желательно, чтобы пользователи знали английский (ну или иной родной язык разработчиков, скажем, мандарин). Хорошо бы чтоб страна была примерно от 1% до 5% пользователей.
SD>В общем, мне бедных Киви иногда даже жалко
Здравствуйте, CreatorCray, Вы писали:
vsb>>Ровно один минус — обработка ошибок через возрат значений вместо исключений. В остальном мне всё очень нравится. CC>Такое ощущение что у тебя обработка ошибок делается через catch (...) на саааамом верху, ибо в нормальном мире, где failure is an option обрабатывать обычные ошибки исключениями уж очень неудобно.
У меня она вообще никак не делается для 99% ошибок. Она делается во фреймворке, на самом верху, да. И это удобно. Лучший код это тот код, который не пришлось писать.
И в пресловутом го 99.9% ошибок обрабатываются ровно так же — на самом верху. А во всех остальных местах просто return err
Pzz>Go — забавный язык, с точки зрения сишника. Pzz>Например, когда в Go из слайса делается сабслайс, они разделяют общую память. Потом, если к исходному слайсу сделать append, он может среаллоцироваться, и тогда память разделится. А может и не среаллоцироваться, если у него места в хвосте было достаточно припасено.
Дада, старый добрый UB, но теперь без SIGSEGV
Как много веселых ребят, и все делают велосипед...
SD>var ret = do_work();
SD>if (ret instanceof Error) {
SD> emit_log("calling do_work failed because of ", ret.exception)
SD>}
SD>
SD>Мне при виде такого сразу хочется руки оторвать тем, кто не понимает, что такое "обработка ошибок". Если так уж вышло, что только на самом верху ошибку можно обработать, то именно там и надо ставить catch.
Ошибки разные бывают. Ну вообще, нужно же ее по месту залоггировать и прокинуть дальше. В managed языках типа явы и дотнет
наверное и цпп, есть механизм throw, которые прокидывает исключение дальше.
В примере catch нужен для логов, кмк.