Re[15]: Почему программисты прошлого были умнее
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.01.26 02:56
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Сказал же — нарушение LSP.

Ну так его там нет.

V>Ты его нарушаешь через явный if.

Нет.
V>С этим сразу на пересдачу, почему нельзя так делать. ))
Кто вам такое сказал?

V>Ты давай конкретней, плиз, а то сии эмоции "я очень-очень считаю, что вы очень-очень неправы" — позиция безумца.

Конкретно: в примере нет нарушения LSP. Вы его видите — докажите, что оно есть.

V>Фуф... Ты на моей памяти делал эту ошибку уже много раз, и продолжаешь совершать одну и ту же ошибку — у тебя тут НЕТ чистой алгебраической системы типов, коль ссылочные типы данных отделяются явным образом от нессылочных из-за мутабельности данных и отсутствия GC.

Это совершенно неважно. Ссылочный тип в Algole W позволяет перечислять варианты того, на что ссылается — это и есть алгебраический тип.
V>Сосредоточься, плиз: в иммутабельной алгебраической системе типов с GC ссылочная семантика неотличима от семантики значений! А раз нет ссылочной семантики, то неоткуда взяться null!
Это совершенно нерелевантное рассуждение, т.к. в Algol W не было иммутабельной алгебраической системы типов.

V>Плюс система типов открыта, т.е. даже полноту диспетчеризации ПМ в общем случае гарантировать невозможно.

Да где ж она открыта-то? Вы спецификацию читали?

V>LSP ведь очень прост, и как раз абстрактный итератор — один из наилучших примеров следования этому принципу.


V>Не-не-не, проги глючат даже в защищённой памяти вовсе не из-за null (бо по null честный вылет), а из-за обращения к мусорным адресам — к удалённым объектам или за пределы массивов, в т.ч. "условных" массивов, т.е. динамически выделенных "просто участков памяти".

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

V>А по null уже лет 30 никуда обратиться невозможно.

V>Но ошибки на хреналлиарды продолжают происходить!
Вот именно, т.к. проблема не в том, что мы "прочитаем из null что-то неверное", а в том, что программа упадёт в рантайме. И это будет нам стоить денег.

V>Ты никогда не писал на Фортране или Бейсике?

V>Ил просто на Паскале без динамического выделения памяти? ))
Ну так в Algol-то было динамическое выделение памяти.

S>>http://i.stanford.edu/pub/cstr/reports/cs/tr/68/98/CS-TR-68-98.pdf


V>По ссылке у тебя некая альтернативная реализация Algol W, где прямо указаны отличия от спецификаций Хоара и Вирта.

Да? Процитируйте же эти отличия.
И заодно можете показать техническое описание оригинальной реализации Вирта, в которой осознанно отказались от сборки мусора.

V>Но только зачем ты столько бегал, если чуть более поздний Algol 68 уже требовал сборку мусора прямо по своей спецификации?

Потому, что Хоар ссылался именно на Algol W.

V>Зато Algol W в своей спецификации сборку мусора не требовал.

V>Есть же вики:
V>https://en.wikipedia.org/wiki/ALGOL_W
V>Есть другие ресурсы:
V>https://grokipedia.com/page/ALGOL_W
V>Ну и как ты собрался что-либо "доказывать" при таких вводных?
Да я-то легко — приводя, к примеру, ссылки на спецификации.
V>Это ж натуральное безумие...
S>>Смешно.
V>Местами смешно, конечно.
V>Но когда упоротость переходит границы здравого смысла, то уже досадно за потраченное время.
V>Ну пусть тогда будет просто порка сугубо как напоминание остальным, что надо быть (а) тщательнее и (б) уметь вовремя остановиться, если вдруг пошёл не туда. ))
Совершенно с вами согласен. Вот вам всё уже принесли и объяснили на пальцах — нет, вы упорствуете. Аргументируете одно заблуждение другим — и по нарастанию бредовости.
Вместо того, чтобы написать "да, я опростоволосился, в Algol W была сборка мусора и способ отличить запись-заглушку от настоящей записи", вы продолжаете выдумывать альтернативную реальность.
Вас уже ткнули носом в спеку исходной реализации Алгола — но нет, не в коня корм. Вы всё ещё думаете, что можно рассуждать на темы, в которых ничего не понимаете, путём беглого чтения одностраничных статеек из википедии.
Удачи. Отвечать вам далее не буду, т.к. у меня есть более интересные занятия, чем спорить с идиотами, да ещё и об очевидном.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.