A Fish Shell 4.0 béta megjelent: A C++-kód Rust nyelvre történő átírásával

kami911 képe

Az interaktív, felhasználóbarát Fish Shell parancssori környezet ünnepek előtti nagy lépéseként debütált a 4.0 béta verziója. Ennek a kiadásnak egyik legfontosabb újdonsága, hogy a C++-ban írt kódot Rust programozási nyelvre portolták.

Miért váltottak Rustra?

A Fish Shell 4.0 bétában a C++-kódbázist Rust nyelvre írták át, ami számos változással járt. A váltást indokló pull request a következő érveket hozta fel:

  • Senki sem szereti igazán a C++-t vagy a CMake-et, és nincs egyértelmű megoldás az elavult eszközkészletekről való átállásra. Az évek múlásával ez egyre nagyobb problémát jelent.
  • A C++ kezd "örökségi nyelvvé" válni, és a jövőben nehezebb lesz új közreműködőket találni. Ezzel szemben a Rust egy aktív és növekvő közösséggel rendelkezik.
  • A Rust lehetővé teszi a párhuzamos függvények végrehajtását, amihez C++-ban nehezebb lenne támogatást nyújtani.
  • Rustban írva a Fish Shell továbbra is modernnek és relevánsnak fog tűnni a felhasználók szemében.

Ezt a pull requestet még 2023 elején nyújtották be, és most, a Fish Shell 4.0 béta kiadásával realizálódott.

Egyéb újítások a Fish Shell 4.0 bétában

A Rustra való átállás mellett a Fish Shell 4.0 béta számos egyéb fejlesztést is tartalmaz:

  1. XTerm és Kitty protokollok támogatása

    • Az XTerm modifyOtherKeys billentyűkódolásának támogatása.
    • A Kitty billentyűzet-protokoll progresszív fejlesztései, amelyek jobb felhasználói élményt kínálnak.
  2. Önálló telepítésre alkalmas binárisok

    • Támogatást kaptak az önállóan telepíthető bináris fájlok, egyszerűsítve a Fish Shell használatba vételét.
  3. Ctrl-R történelemjavítások

    • Jelentős fejlesztések a Ctrl-R történetkeresési funkcióban, amely gyorsabbá és intuitívabbá teszi a korábbi parancsok közötti böngészést.
  4. Scripting fejlesztések

    • Számos szkriptezési funkciót finomítottak, kibővítve a Fish Shell felhasználóinak lehetőségeit.
  5. Interaktív funkciók javítása

    • Különféle fejlesztések érkeztek az interaktív használathoz, például a billentyűzet-kezelés és a shell válaszképességének optimalizálása.

Miért fontos ez a lépés?

A Rust nyelvre való átállás nem csupán technikai változás, hanem hosszú távon biztosítja a Fish Shell modernitását, relevanciáját és fejleszthetőségét. A Rust közösség dinamikus növekedése és a nyelv képességei, például a párhuzamosság támogatása, lehetővé teszik, hogy a Fish Shell továbbra is innovatív és felhasználóbarát maradjon.

A Fish Shell 4.0 béta már elérhető tesztelésre, így a fejlesztők és lelkes felhasználók kipróbálhatják a legújabb funkciókat és fejlesztéseket. A végleges verzió a bétatesztelési fázis után várható.