Здравствуйте, LaptevVV, Вы писали:
LVV>Тлетворное влияние мэйнстрима... LVV>На интеле целые жеж без прерывания складываются
Да нет там никаких целых, есть алгебраические кольца (операции по модулю 2^N). И все там корректно делается, нет на этих кольцах никаких переполнений.
LVV>Зато нелокальный переход по исключению убрали...
Здравствуйте, vsb, Вы писали:
vsb>В целом надёжность софта значит гораздо меньше, т.к. обычно есть возможность обновить этот самый софт. С железом это сделать практически невозможно. Стоит отметить, что когда игры и программы распространялись на дисках, надёжность софта была повыше, т.к. у среднего покупателя не было возможности обновиться по интернету.
Так они были куда как проще, когда распостранялись на дисках.
vsb>К примеру Microsoft раньше использовала огромный парк тестовых машин самых разных конфигураций, на которых прогонялись все билды Windows. Когда это убрали, качество упало. Зато сэкономили деньги.
Windows 1.0 глючило неимоверно. Несмотря на парк тестовых машин (если он, конечно, был).
Здравствуйте, Александр Кузнецов, Вы писали:
АК>6. Перечитав в больнице много умных книжек Вскоре, неунывающий Вася нашёл новую работу. Он устроился разработчиком систем Искусственного Интеллекта в секретный проект по автоматизации систем управления ядерными реакторами... Через некоторое время прибывшая на Земню инопланетная экспедиция с прискорбием констатировала отсутствие на планете жизни.
К ядерному реактору обычно приделывают для подстраховки что-нибудь олдскульное, теплое и ламповое, способное отследить момент, когда Васино поделие пытается отправить содержимое реактора в открытый космос, аккуратно отрстранить это поделие от управление реактором и заглушить реактор.
Здравствуйте, Pzz, Вы писали:
N>>То-то на Go простейшее сложение чисел происходит с игнорированием переполнения. Ну подумаешь — не тот результат выражения, который задумал хомячок, ну, полетела ракета не вверх, а вниз. Pzz>"Операции с целыми числами" — это такой эвфемизм, который используется, чтобы не пугать граждан с образованием, эквиавалентным средней школе. Имеется ввиду, конечно, алгебраическое кольцо целых чисел по модулю 2^N. И нет там никакого переполнения, на кольце-то
Только вот проблема — программисту как раз нужны не произвольные операции на кольце, а контролируемые на 𝐙
И в разумных местах ему идут навстречу (C# checked контекст, Rust спец. методы и т.п.)
N>>Виртовская школа, говорите? Pzz>Go — это такой C 2.0. Удобный, но со своими подводными камнями. Местами весьма неочевидными. Старая школа, Ричи, Керниган, Пайк...
Pzz>Я как его увидел, слова Plan 9 и Alef сразу в голову пришли
Да можно всякие Limbo вспоминать хоть 20 раз в день, но это не поможет перестать наступать на типовые грабли всех видов.
Здравствуйте, netch80, Вы писали:
N>Только вот проблема — программисту как раз нужны не произвольные операции на кольце, а контролируемые на 𝐙 N>И в разумных местах ему идут навстречу (C# checked контекст, Rust спец. методы и т.п.)
В общем, все как всегда. Граждане ученые создали не такую машину, какая требуется народному хозяйству, а бригадирам машинистов не сообщили.
Думаю не последнее место занимает избыточность количества кода. В хардваре каждый транзистор на счету (ну, я по кр мере в это верю). Меньше элементов — надежнее система.
Есть хоть одна контора, которая бы практиковала KPI — W/N, где W — условый вес решенных программистом проблем, N — условный вес кода, на который при этом вырос проект? Хрен там. Бывает вообще зарплата прямо зависит от количества написанного кода. А теперь представьте если хардварщикам будут платить по количеству запроектированных в схеме элементов?
Как много веселых ребят, и все делают велосипед...
Здравствуйте, dsorokin, Вы писали:
D>По признание некоторых людей ПО, особенно операционные системы — это самое сложное творение человеческой мысли из всех существующих (не помню, где об этом читал)
Здравствуйте, okon, Вы писали:
O>Казалось бы процесс производства софта гораздо более короткий чем при проектировании железа или какого-либо устройства.
... O>Как разработчики железа при той же периодичности крупных релизов ~раз в 1 год добиваются надежной работы, хотя их цикл внесения изменений намного дольше.
8 марте, в перерывах между работами на дачном участке, беседовал с зятем на предмет, зачем внедряют в РФ проектную систему западного образца, когда перед этим прекрасно работала советская.
Он — типа менеджера в одной компании, которая занимается испытанием западных лекарств на россиянах. Такое в РФ теперь конкурентное преимущество обнажилось, после перестройки, хранить отходы других и испытывать чужие лекарства на себе (на населении, конечно).
Выяснили для себя, что такая система, очень похожая на то, что творится в разработке софта (РП, ПМ, АМ, линейные руками водители и прочая требуха) практически не применяется там, где имеют дело с вещами материальными — т.е. с двигателями, кораблями, вообще машинами. Но зачем внедряют эту дрянь в софтовых и прочих конторах, спрашиваю. И тут пришли к выводу что дело в кардинальной разнице между плановой и рыночной экономиками и социумами.
Что было при плановой ( это я помню) в разработке софта и железа к нему (или наоборот) на примере системы спутникового мониторинга окружающей среды в интересах народного хозяйства (не военного, это важно для нашего случая)? Сверху спускалось задание крупными блоками. По мере опускания к исполнителям его дробили, наполняли подробностями. Железо всегда было базой. И внизу одни делали железо, другие его запускали и контролировали (это делали именно военные, они заведовали всем летающим над страной и планетой, по традиции), третьи проектировали и писали софт, интегрированных с системами приёма данных. Писали обработку данных. И были заинтересованы, чтобы софт был стабильным и надёжным. И содержал средства отработки новых версий (не частых) железа. За это и платили деньги. Платил за всё не частник (это очень важно), а государство, т.е. вполне себе общественная организация, в советских условиях это реальностью, хотя уже и загибаемой (в 80-х) к эрэфийскому битию. И этой системе было важна именно надёжность и устойчивость. Так было записано в основах советской экономики и политики.
Рассказывать о тех деталях долго, скажу лишь, что современные системы, разрабатываемые частными РФ-конторками, в подмётки не годятся тем по масштабам и системности подхода (чётно слизанного с западных образцов, к тому-же).
А из беседы с зятем понят то, что этот знаменитый agile есть именно отражение частно-рыночного подхода к разработке софта, когда результат зачастую далёк от планируемого изначально, зато даёт больше (на 0.5 %) прибыли главному инвестору. Правда, инфляция при этом случилась уже в 5-15 %, ну да дело то житейское, это при СССР инфляции не было в принципе (кроме перехода к перестройке, по понятным причинам). Естественно, когда кони меняются на переправе или даже при заплыве, а софт дрейфует при любом колебании "рынка", то ничего реально хорошего с т.з. устойчивости произвести невозможно. Более того, устойчивое и надёжное — противоречит самой идее рыночного производства, где во главе всего — личная прибыль на всех этапах. И если личным интересам (читай прибыли) соответствует производство плохого софта, то софт обязательно должен стать плохим и ненадёжным. Зато его можно переделывать, улучшать и продавать по новой, особенно государственному заказчики.
И вот парадокс, нынче государственный заказчик (имея частную оболочку чиновника) ТОЖЕ заинтересован как можно в больших объёмах работы и длительности сроков исполнения. У него тоже ЧАСТНЫЙ теперь интерес. Парадокс — разрешился!
Короче, при рынке производить надёжный софт — невыгодно! И это — приговор! И в будущем (при капитализме, конечно, ведь есть и другие варианты, правда, они связаны с посягательствами на все подряд конституции), софт должен становиться всё хуже и нестабильнее. Т.к. именно это и ведёт к повышению личной прибыли одних за счёт ухудшения жизни других. А это и есть единственный путь получения прибыли из общего источника благосостояния — реальной работы многих для наживы немногих.
А железо — оно тоже стало ненадёжным, т.к. выгоднее продавать больше, часто сменяемого железа, чем надёжного и работоспособного в течении десятилетий! Скажем. мой холодильник работает с 1992 года, почти 30 лет! Заменяло только биметаллический переключатель датчика остывания -нагрева. Ремонтник на прощание сказал — берегите холодильник, таких теперь не делают.
Микроволновка LG проработала 20 лет, пора менять. Читаю отзывы — техника не живёт такая дольше 5 лет в среднем.
Про автомашины молчу, т.к. не пользую. Но слышал. что принято в массах менять машины раз в несколько лет, иначе кирдык. Хотя есть знакомые, пользующие опять-же старые (это важно!) машины уже десятилетиями.
АК>Всё до безумия просто. Вот есть у нас, допустим, программист-бракодел Вася.
АК>...1. Вася пишет ...
Так в чём же суть ответа? Так и не понял? В чём дело то? В чём ответ? Что такого основополагающего в том, что Вы описали? Всё описанное — дрянь, личный бизнес, попытки срубить денег. Ничего иного и быть не могло, включая падение банковских сервисов.
Почему софт перестали делать надёжным-то? Потому что не требуется его делать надёжным? С этим ещё можно было бы согласиться. Но из вашего текста это не следует явно. Прошу пояснить.
Еще давняя мысль на эту тему вспомнилась. В софте в отличии от хардвара со стороны сложно понять реализация каких вещей будет надежным решением, а каких (или каким путем) — надежно сделать практически невозможно.
К примеру, никто не делает трансфер пассажиров между авиарейсами прямо на лету. Ведь было бы удобно и сэкономило бы кучу бабла. Но даже кухарке очевидно, что как не пили такую технологию, но периодически люди в процессе такой пересадки будут падать с неба А в софте менеджмент апрувит любой костыль, ограничителем могут быть только сами девелоперы, но их склоняют к инкостыляции самими разными непотребными способами (эджайл и вот это вот все).
Как много веселых ребят, и все делают велосипед...
Здравствуйте, ononim, Вы писали:
O>Еще давняя мысль на эту тему вспомнилась. В софте в отличии от хардвара со стороны сложно понять реализация каких вещей будет надежным решением, а каких (или каким путем) — надежно сделать практически невозможно.
ORLY? Если бы было так, не было бы тупиковых аппаратных архитектур, на которые выброшены миллиарды, кривейших решений в плане дизайна всякой железной логики, протоколов общения и т.п., а также Meltdown, Spectre и тысяч тому подобных.
И то, сколько потратилось индустрией на освоение следующих шагов типа этих 10нм, 7нм, а сколько обещалось — показывает, что не всё так просто, мягко говоря.
O>К примеру, никто не делает трансфер пассажиров между авиарейсами прямо на лету. Ведь было бы удобно и сэкономило бы кучу бабла. Но даже кухарке очевидно, что как не пили такую технологию, но периодически люди в процессе такой пересадки будут падать с неба
Если это будет челноками-шлюпками — не будут. Но надо отработать проблемы турбулентности.
Если отбросить всевозможные социологические аспекты, методологии, то полагаю ответ прост — требования к софту сильно выросли, а вариативность условий в которых он работает и КАК его использует — практически безгранична.
Если вы возьмете ЭБУ автомобиля начала 2000-х, который суть программа то там и ошибок почти нет. А если возьмете блок комфорта современного авто (не важно кого, 50% +/- одинаковы), то проблем там, как правило много.
Железо, современное железо, хоть и может поразить кол-вом транзисторов и имеют талмуды-спецификации, но в отличии от софта — оно спаяно именно таким образом и никаким другим. В софте же все не так.
Если же опять спустится с небес на землю, то с банальными железками, опять же, например, в автомобилях — почти в любой модели есть родовые болезни. То задние двери сами себе проводку перебивают (привет, астра), то регулятор давления в рампе... заменялся заводом, у кого-то теплообменник ссыться постоянно, потому что инженеры бараны, у кого-то привод ГРМ расположен не спереди как у всех, а с заднице (на коробке, привет, туарег, VR6). Почти в любом каталоге одни запчасти заменяются новыми, в том числе и по причине просчетов.
PS: У бнв там вробще перманентные проблемы с указателями поворотов.