metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-22 08:20 pm

Провокационный вопрос

Знают ли разработчики ядра и околоядерного софта под линукс современные методики разработки софта - как-то объектно-ориентированный дизайн, функциональное программирование, доказательство валидности программ, всякие там DSL и кодогенерации?

[identity profile] kiryl.livejournal.com 2013-01-22 05:57 pm (UTC)(link)
Ну, давай по порядку ;)

> как-то объектно-ориентированный дизайн

Да. VFS линуксячий вполне себе объектно ориентированный.

> функциональное программирование

кто-то знает, кто-то -- нет.

make считаем за функциональное программирование? ;)

> доказательство валидности программ

Я не знаю. кто-то должен знать.

> всякие там DSL и кодогенерации

Какие-то небольшие куски могут генерироваться, например таблица syscall'ов на x86.

Ещё есть http://coccinelle.lip6.fr/, которую в ядре пользуют для поиска/правки типичных ошибок или массовых изменений API'я. Она же умеет патчи генерировать.

[identity profile] metaclass.livejournal.com 2013-01-22 05:59 pm (UTC)(link)
А, значит как и везде - используют, но не массово.

[identity profile] gmax-lj.livejournal.com 2013-01-22 07:13 pm (UTC)(link)
http://www.devicetree.org/Main_Page
за кодогенерацию сойдёт?

[identity profile] jek-hor.livejournal.com 2013-01-22 08:25 pm (UTC)(link)
Тут просто реально некуда всунуть большую часть перечисленного.