Bir geliştirici, Rust'ta GNU Coreutils'in yeniden uygulanmasını sunuyor 

gnu-coreutils-pas

Bu proje için Rust'ı kullanmak, birçok potansiyel hata tamamen ortadan kaldırıldığı için bu süreci hızlandırmaya yardımcı olacaktır.

Sylvestre Ledru, Rust'ta GNU Coreutils'in yeniden uygulanması üzerinde çalışmaya başladı COVID-19 salgını sırasında ve geçen hafta FOSDEM'in 2023 baskısında sundu. Uutils adı verilen çaba, artık birçok Linux dağıtımı tarafından paketlenmiştir ve Yocto projesi aracılığıyla ünlü bir sosyal ağ tarafından da kullanılmaktadır.

Rust ve C++ dillerinin karşılaştırmalarının ortak bir yönü vardır: Bellek güvenliği açısından Rust'ın C++'a üstünlüğünü vurgulamak. RisingWave editörü, C++ projesinden ayrıldıktan sonra neden yerel Bulut DBMS'sini Rust'ta sıfırdan yazdığını açıklıyor.

"Rust, derleme sırasında sahiplik kuralları getirerek bellek ve iş parçacığı güvenliğini sağlar. C++'da yaygın olarak kullanılan bir bellek yönetim mekanizması olan RAII'nin ötesine geçer. İki avantajı vardır. İlki açıktır: Rust derleyicisi programımızı onayladığında, çalışma zamanında herhangi bir bölüm hatası veya yarış durumu yaşamayacağız, bu da özellikle yüksek düzeyde eşzamanlı kod tabanında ve çoğunlukla eşzamansız durumda, onlarca saatlik hata ayıklama gerektirecektir. İkincisi daha inceliklidir: Rust'ın derleyicisi, bu tür hatalı davranışlara neden olabilecek sıkıca iç içe geçmiş kod parçacıklarını azaltan hata türlerini sınırlandırır. Hata replikasyonu, deterministik yürütme kullanılarak önemli ölçüde geliştirilmiştir. »

GNU Coreutils bir pakettir GNU projesinden Unix benzeri işletim sistemleri için gerekli birçok temel aracı içeren: cp (bir dosya veya dizini kopyala), mkdir (bir dizin oluştur), vb. Bir geliştirici, Rust dilinde bir yeniden uygulama sunar.

Hedeflerden biri: paketi diğer işletim sistemlerinde kullanılabilir hale getirmek: Windows, macOS, Android, FreeBSD, vb. Hareket, C ve C++'da yeni projelere başlamaya devam edip etmeme veya sadece Rust dilini seçme konusundaki tartışmayı canlandırmak için geliyor.

"Rust dili, bellek yönetimi söz konusu olduğunda varsayılan olarak güvenlik garantileri sunar. Mozilla'da kullanımı bellek güvenliği sorunlarına neden olan C ve C++'da durum böyle değil”, diye vurguluyor Sylvestre Ledru.

Ancak Bjarne Stroustrup, Rust ve C++ arasındaki karşılaştırmaların, yazılımı güvenli hale getirme kavramını belleği güvence altına almayla sınırladığı konusunda aynı fikirde değil:

"'Güvenlik' kavramının tek bir tanımı yoktur ve programlama stilleri, destek kitaplıkları ve statik analizden yararlanarak çeşitli güvenlik türleri elde edebiliriz. Bu nedenle Bjarne Stroustrup, yazılım güvenliği açısından C++'dan ne elde edilebileceğinin, diğer şeylerin yanı sıra, geliştiriciye ve özellikle dilin sunduğu araçlar hakkındaki bilgisine, derleyici konusundaki ustalığına vb. bağlı olduğunu öne sürer.

C++'ın kendilerine sunduğu olanakların farkında olan Google mühendisleri, bu dilde bir kredi doğrulayıcı oluşturmaya giriştiler. Bellek işaretçisi ayırma yönetimi yoluyla bellek güvenliğini sağlayan, Rust derleyicisinin bir özelliğidir.

Google ekibi, yayını bir önceki yılın üçüncü çeyreğinde çıkan, sonucuna vardı C++ benzeri sistemin böyle bir alıştırmaya uygun olmadığını. ve için C++'da bellek güvenliğinin sağlanabileceği program yürütme sırasında kontrollerle. Başka bir deyişle, Yavaş C++ kodu ile Rust'a eşdeğer bir güvenlik düzeyi elde etmek mümkündür..

RisingWave editörünün piyasaya sürülmesi, Rust'ın yıllardır C ve C++'a alternatif olarak sunulan diğer dillerden sıyrılmasıyla geliyor. Aslında, Linux çekirdeği Mozilla'nın sistem programlama diline giderek daha açık hale geliyor.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.