Программная инженерия cs.SE

4 статей

Инженерия программ: как программы проектируют, собирают и поддерживают.

статей

Свойства как компас: точное программирование
Туман сгущается над строкой «def max(a: Int, b: Int): Int». Что она делает? Возвращает большее из двух чисел — но как это проверить? Можно написать десяток тестов с конкретными парами: max(2,3)=3, max(5,5)=5, max(-1,0)=0. И всё равно останется тревога: а вдруг для какого-нибудь миллиона и минус миллиона она сломается?
Дипломатический протокол для чипа и кода
Штутгарт, 2025 год. Инженер-программист подключает ноутбук к тестовому автомобилю не для диагностики, а чтобы заменить «личность» машины — как меняют прошивку смартфона. Но вместо секундного обновления его ждёт каскад несовместимостей. Каждый электронный блок управления (ЭБУ) говорит на своём наречии, привязанном к микросхеме конкретного поставщика.
Квантовая система путает чертежи, а инженеры — нет
Квантовые устройства перестали быть лабораторными курьёзами. Их собирают, настраивают и чинят как обычную технику — только внутри у них не просто ток, а хитросплетения частиц, которые могут быть в нескольких состояниях сразу. Инженеры чертят схемы, программисты пишут код, физики рассчитывают эффекты. У каждого свой набор моделей, и их нужно сводить воедино, чтобы устройство работало.
Как ИИ перестал читать лишнее: метод E3 против информационной энтропии
Программные помощники для написания кода, или AI-ассистенты, часто действуют как повар, который ради варки одного яйца перечитывает всю кулинарную книгу. Получив задачу внести крошечное исправление, они заново открывают десятки файлов и проверяют давно известные связи.