
Në komunitetin e zhvilluesve të bërthamës Linux ka pasur mospajtime mbi integrimin e gjuhës së programimit Rust. Christoph Hellwig, mbajtësi i nën-sistemit DMA, KVM, Slab Allocator dhe arkitekturës PowerPC në bërthamën Linux, i cili dikur ishte anëtar i komitetit teknik të organizatës Linux Foundation dhe kishte qenë paditës në një proces gjyqësor të lidhur me GPL ndaj VMware, refuzoi të konfirmonte patch-et që lidhen me mbështetjen e zhvillimit të drivereve në gjuhën Rust.
Patch-et e propozuara, që shtojnë mbështetje për funksionet e nën-sistemit DMA, kanë shkaktuar shqetësime mbi kompliksimin e përditësimit të kodit dhe mundësinë e uljes së cilësisë së software-it. Disa zhvillues preferojnë të mbajnë ndërfaqet e programimit në gjuhën C, për të shmangur kompliksitetet e tjera.
Si arsye për refuzimin u përmend kompliksimi i përditësimit të kodit për shkak të mbështetjes në gjuhë të tjera dhe dëshira për të ruajtur ndërfaqet e programimit për DMA në një formë të lexueshme në gjuhën C, pa i mbivendosur ato me mbështetje të paqartë. Christoph sugjeroi që të adresohet direkt në API-në origjinale C të DMA në çdo driver në gjuhën Rust, për të mos krijuar abstraksione të tjera nga të cilat do të varëseshin mbajtësit e bërthamës.
Megjithatë, pavarësisht nga synimi i zhvilluesve të projektit Rust for Linux për të mbajtur të pavarur bazën e kodit të shkruar në Rust, u vendos një veto mbi pranimin e patch-eve.
Christoph theksoi se nëse zhvilluesit dëshironin të shkaktonin pamundësinë e përditësimit të Linux për shkak të përzierjes së gjuhëve të ndryshme të programimit në një bazë të vetme kodi, ata duhet ta bënin këtë në driverin e tyre, dhe jo ta shpërndanin këtë "tumor" mbi bërthamën kryesore.
Thelbi i problemeve tĂ« pĂ«rditĂ«simit Ă«shtĂ« se mbĂ«shtetjet Rust e vendosin mbajtĂ«sin nĂ« varĂ«si tĂ« kodit tĂ« shkruar nĂ« Rust. NĂ« shikim tĂ« parĂ« duket se mbĂ«shtetjet janĂ« thjesht mbivendosje mbi strukturat dhe funksionet C, por kjo nuk Ă«shtĂ« e vĂ«rtetĂ«. NĂ«se ka mbĂ«shtetje tĂ« tillĂ«, zhvilluesit e nĂ«n-sistemeve tĂ« shkruara nĂ« C duhet tĂ« marrin parasysh ndikimin e ndryshimeve tĂ« tyre nĂ« vazhdimĂ«sinĂ« e funksionimit tĂ« mbĂ«shtetjeve. Ădo ndryshim nĂ« strukturat e tĂ« dhĂ«nave ose funksionet e brendshme nĂ« C mund tĂ« çojĂ« nĂ« nevojĂ«n pĂ«r tĂ« ndryshuar kodin e mbĂ«shtetjeve, prandaj ndryshimet qĂ« ndikojnĂ« nĂ« mbĂ«shtetje nĂ« kodin C duhet tĂ« ndjekin dhe tĂ« sinkronizohen me kodin nĂ« Rust. ShumĂ« mbajtĂ«s nuk janĂ« tĂ« gatshĂ«m tĂ« marrin pĂ«rgjegjĂ«sinĂ« e shtuar pĂ«r tĂ« zgjidhur problemet qĂ« lindin nĂ« kodin e Rust, dhe nuk kanĂ« ndĂ«rmend tĂ« shpenzojnĂ« kohĂ«n e tyre pĂ«r tĂ« ndjekur gjendjen e mbĂ«shtetjeve Rust.
Burimi: linux.org.ru
