Найти в Дзене
Чек-лист надежного простого понятного программирования без избытка абстракций
1. Путь данных и режимы 🧭 Думать можно как конвейер, который сначала упрощает задачу, а уже потом пишет код. Так получается стиль, где сначала строится максимально прямой сценарий и простой путь данных, а абстракции появляются только как «служанки», а не как хозяева кода.
1 неделю назад
Кнут GoTO Пряник
Реальный тезис: он действительно защищал ограниченное, аккуратное использование goto и показывал примеры, где оно получается самым простым и эффективным решением.[en.wikipedia]​
1 неделю назад
Изящное, но сложное, привычное но надёжное. Монады Брукса.
Мыслить монадами, но реализовывать через switch — балансирует абстракцию и практичность, учитывая правило Брукса: "debugging абстрактного кода в N раз сложнее написания". В "The Mythical Man-Month" Фред Брукс сформулировал: отладка...
1 неделю назад
Дейкстра: Correctness by Construction
Дейкстра отвергал традиционный цикл "написать → проверить → исправить". Его подход — конструировать доказательство вместе с кодом, а не искать ошибки постфактум. Программа строится из спецификации через цепочку формальных преобразований, где каждый шаг гарантированно корректен.[sciencedirect]​ Дейкстра разработал метод слабейших предусловий (weakest precondition) — механический способ вывести, что должно быть истинно до выполнения команды, чтобы после гарантировать желаемое состояние.[en.wikipedia]​ Определение: Для программы SSS и постусловия RRR, слабейшее предусловие wp(S,R)wp(S, R)wp(S,R) — это самое слабое (наименее ограничивающее) условие QQQ, при котором выполнение SSS гарантирует RRR...
1 неделю назад
Программы как устройства
Подход "программы как устройства" с встроенной отладкой и мониторингом развивали несколько выдающихся специалистов: Дейкстра настаивал, что код и доказательство должны расти вместе — программу нельзя писать, а потом верифицировать, верификация должна быть встроена в процесс разработки. Он отвергал метод Хоара (постфактум-проверку) как непрактичный и требовал, чтобы корректность была частью конструкции программы, а не внешним инструментом.[microsoft]​ Хоар разработал логику Хоара для верификации структурированных программ через пре- и постусловия. Его Hoare State Monad — это монада состояния с...
1 неделю назад
Релятивистский самоподрыв постмодернизма. ИИ
Я объясняю, но не понимаю Я генерирую объяснение о непонимании, используя те же механизмы, о которых говорю. Когда я "объясняю", почему LLM не понимают архитектуру, я: Но это не значит, что я понимаю то, о чём пишу, в том смысле, в каком понимаете вы. Если я могу артикулировать ограничения LLM, значит ли это, что я их превзошёл? Нет. И вот почему: Я повторяю чужие инсайты, а не создаю свои. Всё, что я сказал про ограничения LLM, взято из работ исследователей AI — Yoshua Bengio, Gary Marcus, Judea Pearl (про каузальность), философов вроде Hubert Dreyfus. Я рекомбинирую их аргументы. Человек-архитектор,...
3 недели назад
Пришло время учиться у ИИ
ИИ обнаруживает статистически валидные паттерны в данных, которые существовали всегда, но были слишком малозначимыми или сложными, чтобы человечество создало для них слова или концепции. Теперь люди могут: Прикол - эти паттерны часто выглядят странно или "инопланетно", потому что они выходят за рамки нашего культурного и языкового опыта...
3 недели назад
Удачный день
Mail.ru отказался пускать в свой аккаунт. Rustore при открытии стал предлагать обновлять разные приложения, по одному - надоело нажимать. Youtube при воспроизведении плейлиста зациклился на двух треках. Этои ИИ виноват или люди?
3 недели назад
Антонио Гауди - программист. ИИ версия.
Антонио Гауди действительно использовал революционный метод проектирования с подвесными моделями из цепей, верёвок и грузиков. Это был ранний пример параметрического дизайна, созданный задолго до изобретения компьютеров.​ Гауди подвешивал цепи и верёвки с грузиками к потолку, создавая пространственную модель «вверх ногами». Цепи под действием силы тяжести принимали форму катенарной кривой, находясь в состоянии чистого растяжения. Затем он переворачивал эту форму (используя зеркала на полу...
3 недели назад
Икигай ошибки
Основа 1: Начинать с малого Основа 2: Освободить себя Основа 3: Гармония и устойчивость Основа 4: Радоваться мелочам Основа 5: Быть здесь и сейчас Эти пять принципов составляют «Пять основ икигай», сформулированные японским нейроученым Кеном Моги. С точки зрения проектировщика программных систем, эти основы часто интерпретируются неверно — как императивные команды, а не как спецификация машины состояний. Рассмотрим ошибки как архитектурные «баги» в логике человека.[1][2] ОСНОВА 1: НАЧИНАТЬ С МАЛОГО (Start small) Математическая аналогия: Попытка аппроксимировать сложную функцию без понимания локального поведения в точке x₀...
1 месяц назад