Noel'den hemen önce tanıtılan yeni bir programlama dili olan Rue, bellek güvenliğini çöp toplayıcılar olmadan iyi performansla birleştiriyor. Benzer bir konsepti takip eden Rust'un daha da geliştirilmiş halidir. Ancak Rue'ya erişim, özellikle yeni başlayanlar için daha kolay olmalı. Özel bir özellik, AI asistanı Claude'un Rue için derleyiciyi (x86-64 ve ARM64) geliştirmesidir.
Duyurudan sonra devamını okuyun
Rue, Ruby on Rails ve Rust'ta önemli roller oynayan Steve Klabnik tarafından tasarlandı. Rust'a yeni başlayanların çoğunun anlamakta zorlandığı, Rust'un güvenli bellek ödünç alma konseptini basitleştirmeye çalışıyor.
Rue, değişken değer semantiğine sahip afin türleri kullanır. Bu, geliştiricilerin ilgili türleri yalnızca bir kez kullanabileceği anlamına gelir. Blogda bir örnek gösteriliyor:
struct FileHandle { fd: i32 }
fn example() {
let handle = FileHandle { fd: 42 };
use_handle(handle); // handle moves here
use_handle(handle); // ERROR: value already moved
}
Ancak şunu açıkça belirtmeniz durumunda kopyalama mümkündür:
@copy
struct Point { x: i32, y: i32 }
fn example() {
let p = Point { x: 1, y: 2 };
use_point(p); // p is copied
use_point(p); // OK, p is still valid
}
Tüketilmesi gereken bir değer ekleyebilirsiniz linear imza:
Duyurudan sonra devamını okuyun
linear struct DatabaseTransaction { conn_id: i32 }
fn example() {
let tx = DatabaseTransaction { conn_id: 1 };
// ERROR: linear value dropped without being consumed
}
Rue, derleyicinin halihazırda bu özellik ile değerlendirdiği ifadeler kavramını Zig'den alır. comptime. Türler şu şekilde de oluşturulabilir:
fn Pair(comptime T: type) -> type {
struct { first: T, second: T }
}
fn main() -> i32 {
let IntPair = Pair(i32);
let p: IntPair = IntPair { first: 20, second: 22 };
p.first + p.second
}
Klabnik, fikirlerini hayata geçirmek için Claude ile birlikte çalışır. Rue'nun nasıl görünmesi gerektiğine dair bir fikri olsa da derleyici oluşturma deneyimi yoktu. Bu iş yapay zeka tarafından yapılıyor: “Ve biliyor musun? İşe yaradı.” Bir programı derlemeye yönelik ilk girişim işe yaramadı, ancak bir dizi hata ayıklamanın ardından işe yaradı.
Rue sitesi bunun henüz başlangıç aşamasında olan bir araştırma projesi olduğunu ve gerçek projelere hazır olmadığını vurguluyor. Katılmak isterseniz GitHub'u ziyaret edebilirsiniz.
Ayrıca okuyun
(DSÖ)

Bir yanıt yazın