The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Уязвимость в snapd, позволяющая получить root-привилегии в с..."
Отправлено Sw00p aka Jerom, 14-Фев-19 18:00 
> Какая разница? Ты ошибку-то посмотрел по ссылке? Это реальная ошибка, которая реально
> была поймана. Вне зависимости от того, на чём написан rust. Его
> можно написать на ассемблере, или на lisp'е, или даже в машинных
> кодах написать, он всё равно отловит ту ошибку.

Давайте сначало разберемся с какими ошибками мы имеем дело. Если речь идет о логических ошибках, то это ваша проблема, это вы в ответе за то, как логически правильно должна выполняться ваша программа. Если вы ожидаете один результат, а машина выдает другой, то тоже ваша ошибка, либо вы не достаточно владеете знаниями о машине, либо в самой машине есть ошибка. Ошибки связанные с синтаксисом, и невнимательность я отбрасываю, меня больше волнует не человеческий фактор, хотя от него ни куда не убежишь. Я промолчу про всякие UB, отдельная тема.

> Нет не даст. И не заметит. Это особенности функционирования человеческой психики, человеческое
> мышление постоянно "срезает углы", оно всё построено на "срезании углов", на
> том, чтобы не думать одну и ту же мысль дважды. И
> никакие тренинги не могут научить человека не срезать углов. Можно научить
> его не срезать некоторые углы, но он всё равно продолжит срезать
> другие. А чтобы отловить ошибку вызванную изменением кода, надо обдумать всё-всё-всё
> заново. Целиком и полностью заново.

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

> Вам не приходилось сидеть и двадцать минут тупо смотреть на ошибку в
> коде и не видеть её?

Это банальная невнимательность!

>[оверквотинг удален]
> я напишу минимальный код, демонстрирующий баг... но баг не вылезает на
> минимальном коде... ммм... и ассемблерные дампы его выглядят правильно... а может...
> да хз... ёёёппп... мать ж твою за ногу, просто слов таких
> матерных нет, чтобы описать свою тупость, которая провела два часа времени,
> пытаясь заметить, что в третьей строчке сверху не та переменная используется...
> Она давно там используется, уже пару недель, но раньше это не
> было заметно, в силу стечения всяких обстоятельств. А потом я привык
> к тому, что эта переменная там, и перестал её замечать. И
> потребовались невероятные сознательные усилия, чтобы заметить её вновь.
> Не случалось такого? Если нет, то значит у вас ещё всё впереди.

Ну тут букет, нет гарантий безошибочности самой машины, системы, компилятора, языка, и придачу ваша невнимательность, не знание предметной области и т. д. Опять таки про UB (undefined behavior) промолчу

> Вам не приходилось читать о типографских ошибках, и как люди начиная с
> древних времён боролись с опечатками?

Ну и как это решается? машина тупо посимвольно сравнивает текст со словарем, и где собственно встречает различие, то выдает ошибку. Так вот, а кто этот словарь составлял? Где гарантии, что словарь сам не содержит ошибок (если человек заполнял этот словарь вручную, и собственно мог допустить ошибку)? Бесполезна в этом случае такая программа. Человек должен посимвольно весь словарь проверить, перепроверить с другими словарями и с уверенностью в 99% может её использовать, но 1% неуверенности все же остается. Программа исполнит ровно то, что написал человек. И думаю дальше смысла не вижу рассуждать о безошибочности программ, пока не безошибочен пишущий её человек.

> Было безнадёжно до появления компьютеров. С компьютерами
> же надежда забрезжила. Где-то в светлом будущем, наполненном AI.

нет, все осталось таким же, АИ вообще сказка детям, ни одна программа еще не написала ни единой строчки кода.

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

Ну это есть изьян, какой результат ожидать от заведомо сломанного механизма?

> Даже процесс переписывания программы -- это _пере_писывание, человек будет пользоваться
> кешированными мыслями при этом, и он будет повторять те же ошибки,
> но всё же ему придётся проводить много времени с кодом, ему
> придётся продумывать мысли на определённую глубину, чтобы создать код, и... может
> быть из этого что-то и выйдет. Я не уверен, но это
> единственный способ заставить человека думать заново, который мне приходит в голову.
> А! Ну да! Можно постоянно менять программистов! Новый программист, скорее всего
> не думал эту программу, и он будет вынужден думать её заново.

Много времени с кодом, ))) а что вы хотели? Вы изначально научную дисциплину превратили в "золотую курицу", и по жизни идете с девизом - время-деньги, на что вы жалуетесь? Жалуется ли математик, говоря, что он не решил какую-то гипотезу за месяц?

> Уууу... Вот эта ваша фраза наводит на мысль, что одному из нас
> двоих не помешает познакомиться с ассемблером, и этот один -- не
> я.

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

> И вопрос о том, что именно автоматизирует компилятор, после
> такого опыта не возникает вообще.

Зачем мне компилятор если есть транслятор? И каково мое удивление когда компилятор генерирует мою программу совсем не так как я писал бы на самом асм? Вы думаете это правильно? Компилятор за вас решает, что правильно и как должно быть, вы с этим соглашаетесь? Вы разве, получаетесь автором результирующей программы или программист компилятора? Тогда пусть будет добрым и напишет за меня программу.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру