A Rust nyelvvel kapcsolatos kritikát fogalmazott meg Brian Kerninghan a Unix és a C nyelv egyik legendás fejlesztője

Brian Kernighan, a Unix egyik atyja és a C nyelv társszerzője, aki jelenleg is aktívan tanít Princetonban, egy nemrégiben rögzített előadáson a VCF East konferencián osztotta meg gondolatait a Rust nyelvről. Habár rámutatott, hogy csak egyetlen egyszer próbálkozott a Rust írásával, tapasztalata egyértelműen kritikus volt — olyan nehéznek és időigényesnek találta, hogy ennek fényében valósággal fájdalmas élménynek nevezte.

A Rust nyelvvel kapcsolatos kritikát fogalmazott meg Brian Kerninghan a Unix és a C nyelv egyik legendás fejlesztője

Kerninghan: Fájdalmas élmény volt

Kernighan rendkívül őszintén fogalmazott a Rust kapcsán. Először annyit mondott, hogy tapasztalatának mértéke miatt „fenntartásokkal” érdemes kezelni véleményét — mindössze egyetlen Rust programot írt, így nem felkent szakértőként nyilatkozik. Ezután így foglalta össze élményét: „fájdalmas élmény volt”, mert képtelen volt megérteni azokat a mechanizmusokat, amelyek a memória biztonságát garantálják – még egy olyan program esetében is, ahol valójában nem is volt domináns szerepük.
Majd folytatta gondolatmenetét: a Rust csomagkezelési mechanizmusa – amit hegyekben emlegetett „crate-eket és hordókat” (barrels) – számára átláthatatlanul bőnek és lassúnak tűnt. Ehhez társult a fordító lassúsága, valamint az, hogy végeredményként kapott kód sem volt gyors – mindez nem nyűgözte le.

"

Mindössze egyetlen Rust programot írtam, ezért mindezt hatalmas szemernyi kétellyel érdemes kezelni” – mondta. „És számomra ez egy fájdalmas élmény volt… Egyszerűen nem tudtam felfogni azokat a mechanizmusokat, amelyek a memória-biztonságot szolgálták, egy olyan programban, ahol a memória valójában nem is jelentett problémát! A hozzá tartozó támogató mechanizmus – ez a crate-ekről, hordókról és hasonlókról szóló elképzelés – számomra felfoghatatlanul nagy és lassú volt.

És a fordító lassú volt, a kapott kód lassú volt…

Amikor megpróbáltam kideríteni, mi történik, azt tapasztaltam, hogy a nyelv időközben megváltozott azóta, hogy valaki közzétett róla egy leírást! Így napokba telt megírni egy olyan programot, amit más nyelveken talán öt perc alatt is elkészítettem volna… Nem hiszem, hogy a C-t egyhamar le fogja váltani.

Az sem segített a helyzeten, hogy amikor megpróbálta megérteni a működést, azt vette észre, hogy a nyelv közben változott — teljesen más volt, mint amit a leírások sugalltak. Így napokig tartott számára megírni egy olyan programot, amit más nyelveken talán öt perc alatt megírt volna.
Összegezve, Kernighan elismerte, hogy jó eséllyel előítéletes: „Valószínűleg túl kritikusan viszonyulok hozzá.” De szerinte rövid távon a Rust nem fogja leváltani a C-t.

A kérdés/válasz a VCF East konferencián hangzott el a Q&A blokkban, a videón 1:02:30-tól kezdődik

VCF East: UNIX: A History and a Memoir by Brian Kernighan

Kernighan egyike volt a szoftverfejlesztést forradalmasító legendáknak

Brian Kernighan a Bell Labs legendás kutatója volt, ahol olyan úttörő fejlesztésekben vett részt, amelyek meghatározták a modern számítástechnika alapjait. Ő írta a Unix egyik első bevezető kézikönyvét, valamint társszerzője volt a híres „The C Programming Language” könyvnek, amely Dennis Ritchie-vel közösen született, és évtizedek óta alapmű a programozói közösségben. Emellett a „The Practice of Programming” és a „The Unix Programming Environment” kötetekkel is hozzájárult a fejlesztők generációinak oktatásához.

Munkásságát mindig a tiszta, egyszerű és átlátható megoldások keresése jellemezte. Éppen ezért különösen érdekes, hogy kritikáját egy olyan nyelvvel kapcsolatban fogalmazta meg, amelynek célja a biztonság növelése szigorúbb szabályok révén. Kernighan öröksége a pragmatikus szemlélet, amely szerint a nyelvek és eszközök akkor a leghasznosabbak, ha megkönnyítik a programozók munkáját, nem pedig bonyolultabbá teszik azt.

A Rust jövője körüli viták

A támogatók szerint a Rust hosszú távon képes lesz biztonságosabb alternatívát nyújtani a C és C++ helyett, különösen olyan környezetekben, ahol a memóriahibák kritikusak lehetnek. Az ellenzők viszont úgy látják, hogy a meredek tanulási görbe, a fordító lassúsága és a dokumentáció hiányosságai komoly akadályt jelentenek a széles körű elterjedésben.

Kernighan professzor véleménye azért is fontos, mert generációk óta ő az egyik legnagyobb hatású gondolkodó a szoftverfejlesztés világában. Bár maga is elismerte, hogy tapasztalata a Rusttal korlátozott, mégis jól rávilágít arra, hogy egy nyelv sikere nem csak technikai kérdés, hanem azon is múlik, mennyire képes egyszerű és hatékony eszközt adni a fejlesztők kezébe.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.