gccrs, Rust dilinin GCC üzerinden eksiksiz bir alternatif uygulamasıdır
Rust dilinin GCC'ye (GNU Derleyici Koleksiyonu) arayüz sağlamayı amaçlayan "gccrs" projesinin GCC 13'e entegre edilmesinin planlandığı yakın zamanda duyuruldu. Bu ayın başlarında düzenlenen FOSDEM geliştirici konferansında mühendis Arthur Cohen, gccrs'nin mevcut durumunu özetleyen bir sunum yaptı.
gccrs projesine aşina olmayanlar için, bu proje GCC üzerinde Rust dilinin tamamen alternatif bir uygulamasını sunmakta olup, amacı GNU araç zincirine tam olarak entegre olmaktır.
Bu projenin kökeni, birkaç yıl önce, Rust'ın hala 0.9 sürümünde olduğu bir topluluk çabasıdır; Mozilla'nın yarattığı dil o kadar çok değişikliğe maruz kaldı ki, bir topluluk çabasının yetişmesi zorlaştı.
Artık dil kararlı olduğuna göre, alternatif derleyiciler oluşturma zamanı:
“2014'te başlayan (ve 2019'da yeniden başlatılan) çaba, 2020'den beri devam ediyor ve çok çaba sarf ettik ve çok ilerleme kaydettik. GCC'nin ilk sürümünü gccrs'ye yükledik. GCC 13'ü bir sonraki yüklediğinizde, içinde gccrs olacaktır.
Kullanabilir ve hacklemeye başlayabilirsiniz, kaçınılmaz olarak çöktüğünde ve korkunç bir şekilde öldüğünde sorunları bildirebilirsiniz. Yaptığımız en büyük şeylerden biri, rustc test paketinin çalışması için çalışmaktır," dedi Arthur Cohen, bu ayın başlarında FOSDEM konferansında yaptığı sunumda.
Rustc derleyici test paketini başarıyla çalıştırma yeteneği de bir hedef olmaya devam ediyor. Cohen'e göre, Rust'ın GCC arayüzü ayrıca eski Rust libcore sürümü 1.49'u da hedefliyor.
gccrs projesinin SSS bölümünde, Rust'ın kullandığı tüm LLVM derleme teknolojilerinin "bazı GCC uyumlu arka uçlardan yoksun olduğu, bu nedenle bir gccrs uygulamasının entegre geliştirmede kullanılmak üzere bu boşlukları doldurabileceği " belirtiliyor.
Bununla birlikte, Rust-GCC derleyicisinin (gccrs) hala çok erken bir aşamada olduğunu ve gerçek Rust programlarını derlemek için henüz kullanılamayacağını unutmayın.
GCC ekibi geçen Temmuz ayında gccrs'nin bir derleme paketi olarak entegrasyonunu onaylamak için oy kullandı . Bu projenin önemi, Linux çekirdeği için taşıdığı önemde yatmaktadır. Aslında, Linux çekirdeği genellikle GCC ile derlenir, ancak bellek güvenliği nedenleriyle çekirdek kodunda C'nin yanı sıra Rust dilinin de kullanılmasına izin verme planları istikrarlı bir şekilde ilerlemektedir.
"Rust for Linux" projesi geçtiğimiz Ekim ayında resmi olarak ana Linux 6.1 Git ağacıyla birleşti ve Rust'ı 31 yıllık özel olarak C tabanlı geliştirmenin ardından Linux geliştirmeye ayrılmış ikinci dil haline getirdi.
“Gccrs'nin gerçek bir Rust derleyicisi olmasını istiyoruz, bir oyuncak projesi ya da Rust'a benzeyen ama Rust olmayan bir dili derleyen bir şey değil; gerçekten bu test paketinin çalışmasını sağlamaya çalışıyoruz" diye ekledi. Sunum sırasında Cohen, GCC 13'ün Rust arayüzünün iyi bir başlangıç yaptığını ancak daha yapılacak çok iş olduğunu söyledi. Ödünç alınan doğrulama kodu şu anda bariz bir şekilde yok, yerleşik ve içsel modüller için destek hala devam ediyor ve Rust kodunu Linux için derlemenin önemli kilometre taşına henüz ulaşılmadı.
Hatırlatmak gerekirse, Rust for Linux projesi, Linux çekirdeğine yeni bir sistem programlama dili kazandırmayı amaçlamaktadır. Uzmanlara göre, Rust'ın Linux çekirdeği için ikinci bir dil olarak değerlendirilmesini çok ilginç kılan önemli bir özelliği vardır: (güvenli olmayan kod mantıklı olduğu sürece) tanımsız davranışların oluşmasını engeller.
Bu, ücretsiz kullanım sonrası, çift serbest bırakma, veri yarışları vb. gibi hataların olmamasını içerir. İlgili tartışmalar, Rust dili lehine C'yi terk etme olasılığı etrafında dönüyor. Ancak Linux'un yaratıcısı Linus Torvalds, Rust for Linux projesinin belirtilen amacının bu olmadığını söyledi.
Son olarak, gccrs arayüzünün yaklaşmakta olan GCC 13 sürümüne entegre edilmiş olmasına rağmen, Rust geliştiricilerinin çoğunun bunu Rust'ın resmi LLVM derleyicisine alternatif olarak kullanabileceği bir durumda olmadığını belirtmekte fayda var .
En azından GCC 14 ile gelecek yıla kadar olmamalı.
Kaynak: https://fosdem.org/