LINUX.ORG.RU

Кризис при продвижении языка программирования Rust в ядро Linux

 , ,

Кризис при продвижении языка программирования Rust в ядро Linux

2

5

В сообществе разработчиков ядра Linux возникли разногласия по поводу интеграции языка программирования Rust. Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, отказался подтверждать патчи, связанные с поддержкой разработки драйверов на языке Rust.

Предложенные патчи, добавляющие обвязки для функций подсистемы DMA, вызвали опасения относительно усложнения сопровождения кода и возможного снижения качества программного обеспечения. Некоторые разработчики предпочитают сохранять программные интерфейсы на языке C, чтобы избежать дополнительных сложностей.

В качестве причины отказа упомянуто усложнение сопровождения кода при наличии обвязок на других языках и желание сохранить программные интерфейсы к DMA в читаемом виде на языке Си, без размазывания по непонятным обвязкам. Кристоф предложил напрямую обращаться к исходному Си API DMA в каждом драйвере на языке Rust, чтобы не создавать дополнительных абстракций, от которых вынуждены будут зависеть сопровождающие ядра.

Неcмотря на высказанное разработчиками проекта Rust for linux намерение о полностью самостоятельном сопровождении написанной на Rust кодовой базы, на прием патчей было наложено вето.

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

Суть проблем с сопровождением в том, что Rust-обвязки ставят сопровождающих в зависимость от кода на языке Rust. На первый взгляд кажется, что обвязки лишь надстройки над Си-структурами и функциями, которые никак не влияют на разработку и сопровождение кода на Си. Но это не так. При наличии подобных обвязок разработчики подсистем, написанных на Си, должны учитывать влияние их изменений на продолжение работоспособности обвязок. Любое изменение структур данных или внутренних функций на Си может привести к необходимости изменения кода обвязок, поэтому влияющие на обвязки изменения в Си коде нужно отслеживать и синхронизировать с кодом на Rust. Многие сопровождающие не готовы брать на себя дополнительную ответственность за исправление проблем, возникающих в коде на Rust, и не намерены тратить своё время на отслеживание состояния Rust-обвязок.

>>> Подробности (OpenNet)



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 5)
Ответ на: комментарий от micronekodesu

Если я сам принимаю решения и сам за них отвечаю то за что он тогда ходит в костюме, жмет руки и зарплата у него больше?

А вот так вот! :)

pihter ★★★★★
()
Ответ на: комментарий от gaylord

Тогда зачем писать на форум очевидный бред, если не знаешь, о чем говоришь?

Ты вот кем себя возомнил так разговаривать?

pihter ★★★★★
()
Ответ на: комментарий от pihter

Ты четыре дня думал и это лучшее, что у тебя вышло? Жалкое зрелище.

gaylord
()
Ответ на: комментарий от seiken

Здесь нет троллинга, просто зачем писать очевидные глупости в стиле бабок у подъезда? Ни разу не видела соседа, но он точно наркоман.

gaylord
()
Ответ на: комментарий от gaylord

Найти какой то там тикет, или посмотреть код это непосильная задача для 99% людей. И ЛОР это не форум программистов. Это форум людей которые разбираются во всех вопросах!

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от gaylord

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

zg
()
Ответ на: комментарий от MOPKOBKA

Найти какой то там тикет, или посмотреть код это непосильная задача для 99% людей. И ЛОР это не форум программистов. Это форум людей которые разбираются во всех вопросах!

Вот именно! Казалось бы, чтобы разобраться в том как R4L общается с апстримом достаточно бегло погуглить. Но нет, автор решил навалить очередного брюзжания «смузи, современные технологии, кококо». Аж противно от такой умственной импотенции инженеров.

gaylord
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.