All streams
Search
Write a publication
Pull to refresh
-5
0

User

Send message
Ну то есть ошибки были, есть и будут — просто вы не готовы мириться конкретно с UB, и его отсутствие в Форте вас удовлетворяет. Позиция ясна. А меня вот, как человека от сохи, не удовлетворяет Форт в общем и целом, ну вырвиглазный же язык.

Вот реально, будущее могло бы быть у Раста, не будь он тоже отчасти вырвиглазным. А сейчас нам остается надеяться на статические анализаторы для Си, если нам реально нужно фильтровать лажу ан масс.
АИ-2 продается


Ничего себе, правда! И типа даже обязательными для предприятий являются. Там йодид калия и цистамин только, как я понимаю?

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

Да черт даже с ними, с плакатами в учреждениях. Была масса, точнее ХЕРОВА ГОРА различной специальной документации на этот счёт. Она не была массово доступна населению, но выпускалась огромными количествами и с ней были ознакомлены сотни тысяч людей из отрасли и вооруженных сил. Все наиболее болезненные шишки уже были набиты задолго до Чернобыля, в многочисленных (хотя и не таких масштабных) авариях задолго до того. Количество погибших от острой и хронической лучевых болезней до Чернобыля много больше, чем во время него. Так что, вы правы, все всем было отлично понятно по части последствий, вопрос лишь в том, что опыт в быстрой оценке текущей ситуации в этом деле редко бывает за плечами. Читая отчёты по многочисленным авариям на радиоактивных производствах диву даёшься, как долго даже специально подготовленные люди доходят до того, что же они творят, что на самом деле случилось и что будет в следующие пять минут. Так было и в Чернобыле — лишь к вечеру 26-го стали примерно ясны масштабы бедствия.

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


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


В 90-е читал в "МК" рассказ а-ля "художественный мемуар" про 42-й год, где некий политрук высокого звания (лично Мехлис наверное) поднял в атаку полк (плотными рядами, как положено). Первые ряды попали на минное поле и сразу все погибли. Командир полка заметил, что надо бы остальных остановить, но политрук сказал "ну ладно уж, что теперь, начали же уже, не возвращать же их обратно". Вот сцена с вертолетами снята ровно так.

Гм, у нас на ОБЖ (так официально назывался предмет) рассказывалось, например, как устанавливать наиболее популярные противопехотные мины… Ну и все остальное в том же духе.

Гм, это именно та фотография, про которую я подумал?

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


То есть я понял что:
1) пить много водки, чтобы было не страшно и голова работала спокойно.
2) есть много Йодомарина.
3) бежать куда подальше, менять шины, сжигать одежду, мыться ПАВами каждый час.
4) любое найденное животное или растение варить с бентонитом.


Скажите, а продаются ли радиоаптечки для параноиков?

Гм, ну вы знаете… Мой шеф по диссертации умудрился в свое время попасть в ликвидаторы. Провел там несколько месяцев. Когда я об этом узнал, то в шутку отшатнулся, типа "от вас фонит". Он посмеялся и сказал — "лично я погибших от радиации не видел, хотя они конечно были, зато из-за пьянки прямо там погибли или отравились пятеро из нашей роты". Так что проблема водки в чернобыльской теме существует, хотя и не отменяет никак радиации и вообще с ней напрямую не связана.

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


Насчёт лучшего языка:
1) Специалистов со знанием Форта прямо пруд пруди (сарказм). И писать на нем прямо страсть как удобно (сарказм). И библиотек наверное много, особенно от вендоров (сарказм).
2) Писать сколько-нибудь сложные проекты на ассемблере — ну уж нет, я через это проходил (правда там было развитие, а не написание с нуля, но все же). Опять же гора библиотек под ассемблер (сарказм).
3) Раст имеет весьма странный синтаксис и вообще сам по себе странен. Нужно наверное очень много на нем писать, чтобы перестать потеть от одного внешнего вида. Ну и расчет специалистов/библиотек все уже конечно не так плохо, но просто капля в море по сравнению с сишным наследием.


Я чесгря ожидал, что вы плюсы предложите, но нет.


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


P.S.: Пожалуй не стал бы спорить с вами насчёт Раста в условной параллельной вселенной, где никто не видел Си и нет столько наследия. Но не в нашей.

Это-то да, но суть в том, что подобный код в принципе писать нельзя. Зачем же его обсуждать?

И, все-таки, напишите ваши соображения по поводу того, чем заменить тут Си. Правда интересно ваше мнение.
Я вас все-таки прошу — ну скажите же уже, на чем писать эмбеддерам? Правда, интересно ваше мнение (Раст не предлагать).
Ну еще раз — во второй функции написан очевидный бред…
Если нужно устанавливать/сбрасывать отдельные биты — то bit banding является лучшим выбором и по сути для этого сделан. Если же говорить о «записи вообще», без привязки именно к дерганию битов, о чем собственно я и писал постом выше, то и SWP достаточно.

Предлагаю дискуссию завершить, а то по третьему кругу пошли. Думаю все всё уже поняли.
то есть для GPIO они неприменимы


Весомо, упустил.

Зато он работает — в отличие от LL/SC. Которые, как бы, для совсем-совсем другого.


Буквально для того же, но, как стало известно, не подходят для портов ввода-вывода.

«Записать не глядя» — да


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


Здесь сразу задам простой вопрос — вы из их числа?

В Форте так оно и есть. Попробуйте опровергнуть. :)


Ненене, простая логика требует от вас это доказать. А я уж потом выскажу контраргументы, если найду.
И это, извините, называется «простой язык»?


Именно так. Язык — простой. Система разработки в целом — сложная и, что собственно и играет здесь роль, многовариантная.

Почему не решается? У других как-то решается.


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

Почему разработчиков Chrome уведомляют о том, что у них компилятор сменится тогда-то и тогда-то (и связано это в основном с вопросами поддержки разных версий OS)… а для разработчиков поделки в 1000 раз меньшего размера — это катастрофа?


Насчет катастроф вы явно преувеличиваете, но вообще это обычное дело — чем крупнее и компетентнее команда, тем лучше она умеет «сопротивляться» любым внешним подачам. Чего тут обсуждать? Язык-то как влияет на эту картину?

В некотором роде C — это анти-ассемблер


Все, победили, с этим спорить невозможно.

Ну так что же, какому языку следует учиться эмбеддерам?
То есть да, сегодня Си популярен просто потому, что он популярен


Угу, «так вышло»…

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


Гм, ну нет, как раз для того же самого — писать переносимые программы.
К слову — статья зачетная, прочитал еще тогда. Согласен с основной мыслью, хотя моих утверждений это никак не отменяет.

Однако при этом они не понимают ни того, зачем нужен UB, ни как писать переносимые программы


То есть, если кратко — они плохо пишут программы. Это так и есть, большинство программистов, в том числе эмбеддеров — плохие. Замена Си на что-то другое решит эту проблему?

Возражение — самое простое: язык C призван не быть ассемблером


Ок, предлагаю следующее — я отказываюсь от утверждения про «высокоуровневый ассемблер» в пользу в общем-то более верного «низкоуровневый язык». С этим не будете спорить?

К ассемблеру куда ближе языки типа Форта или PL/M


На которых никто не пишет, из чего следует некоторый вывод…

Однако будете ли вы записвывать документированные свойства языка в «ошибки компилятора» или нет — зависит


Приведите пример языка, в котором все ошибки воспринимаются программистом как «свои».

Ну то есть надёжные решения в эмбеде тоже никому не нужны — нужны работающие как-нибудь… а как же рассказы про то, что всё должно быть суперпроверено и надёжно?


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


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

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


Все еще хуже — проект собирается только одной конкретной версией тулчейна и не переносится в другую IDE без танцев с бубном. И это никак не решается знанием стандарта Си.

Вполне возможно, что ни одного. А почему ответ на этот вопрос важен?


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

Во-вторых я не вижу смысла рассуждать о том, что было бы, если написать заведомо некорректный код (который не пройдет не то что через сепаратный статический анализатор, а даже тупо через базовый компилятор), а затем попытаться его скомпилировать с оптимизацией. Наверное вы считаете, что хороший язык позволяет писать любую муру — и она работает, я вот придерживаюсь иной точки зрения.

К слову — многие ли языки пройдут через этот ваш тест?

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity