сравнение с собой
Feb. 21st, 2026 10:38 pmнекоторое время назад провёл любопытный эксперимент - сбросил прогресс и начал играть с начала в shenzhen i/o.
вкратце, это симулятор embedded-разработчика, где нужно собирать из очень своеобразных чипов заданные устройства, размещая и соединяя их на плате, и писать для них код на своеобразном ассемблере. проверка успешности решения автоматической серией тестов.

как это часто бывает, игра поначалу забавна, но очень быстро становится сложной. задачи выходят на пределы по памяти и месту, для решения требуется всё больше времени. ну.. у меня пределы, у меня требуется, не с кем сравнить. но правильнее сказать, не было с кем сравнить, ведь это вторая попытка! между ними было достаточно времени чтобы всё напрочь забыть и воспринять как совершенно новое. и вот закончив кампанию, я полез сравнивать свои старые и новые решения.
при решении большинства задач было ощущение, что я делаю это довольно логичным способом. логичное деление на блоки, естественное их расположение, оптимальное соединение, примерно понятно какой код. было сильное подозрение, что варианты размещения сойдутся с точностью до клеточки, а код - с точностью до имён меток.
ну и что же?
оказалось, что решения похожие или очень похожие только в самых простых задачках. даже там где ожидалось полное совпадение, варианты гармонизировались разными соображениями. в одном случае красиво оказалось обойтись без перемычек, а в другом - выровнять элементы.
а уж в задачах сложных они оказались не просто разные, а очень разные. даже один и тот же человек решит одну и ту же задачу по-разному.
вкратце, это симулятор embedded-разработчика, где нужно собирать из очень своеобразных чипов заданные устройства, размещая и соединяя их на плате, и писать для них код на своеобразном ассемблере. проверка успешности решения автоматической серией тестов.

как это часто бывает, игра поначалу забавна, но очень быстро становится сложной. задачи выходят на пределы по памяти и месту, для решения требуется всё больше времени. ну.. у меня пределы, у меня требуется, не с кем сравнить. но правильнее сказать, не было с кем сравнить, ведь это вторая попытка! между ними было достаточно времени чтобы всё напрочь забыть и воспринять как совершенно новое. и вот закончив кампанию, я полез сравнивать свои старые и новые решения.
при решении большинства задач было ощущение, что я делаю это довольно логичным способом. логичное деление на блоки, естественное их расположение, оптимальное соединение, примерно понятно какой код. было сильное подозрение, что варианты размещения сойдутся с точностью до клеточки, а код - с точностью до имён меток.
ну и что же?
оказалось, что решения похожие или очень похожие только в самых простых задачках. даже там где ожидалось полное совпадение, варианты гармонизировались разными соображениями. в одном случае красиво оказалось обойтись без перемычек, а в другом - выровнять элементы.
а уж в задачах сложных они оказались не просто разные, а очень разные. даже один и тот же человек решит одну и ту же задачу по-разному.