2024'te Rust hala değerli mi?

Sanki C++ da bir sonraki sürümlerde Rust'ın özelliklerini kendine entegre etmesi dolayısıyla yarışa daha kolay adapte olabilecek gibi geliyor ama bilemiyorum.
İşin açığı Rust memory ve concurrency safety açısından üstün bir dil. Fakat C++ hala template sistemi daha gelişmiş bir dil ve bunun getirdiği rahatlıklardan vazgeçmek çok zor benim için. C++ 26 ile compile time reflection da geliyor tmp altında. Reflection'ın runtime da data manupilation yapmayı ne kadar kolaylaştırdığını anlatamam.
Söz dizimi olarak benziyor.
İki dille de program yazmadın sanırım.
 
İşin açığı Rust Memory ve concurrency safety açısından üstün bir dil. Fakat C++ hala template sistemi daha gelişmiş bir dil ve bunun getirdiği rahatlıklardan vazgeçmek çok zor benim için. C++ 26 ile compile time reflection da geliyor tmp altında. Reflection'ın runtime da data manupilation yapmayı ne kadar kolaylaştırdığını anlatamam.

İki dille de program yazmadın sanırım.

C++ üzerine orta düzey bir sertifikam var Rust ile arkadaşlarla zaman zaman çalıştık.

İşin açığı Rust Memory ve concurrency safety açısından üstün bir dil. Fakat C++ hala template sistemi daha gelişmiş bir dil ve bunun getirdiği rahatlıklardan vazgeçmek çok zor benim için. C++ 26 ile compile time reflection da geliyor tmp altında. Reflection'ın runtime da data manupilation yapmayı ne kadar kolaylaştırdığını anlatamam.

İki dille de program yazmadın sanırım.

Rust söz dizimi olarak (nokta, virgül, küme parantizi vs.) benziyor.
 
Rust söz dizimi olarak (nokta, virgül, küme parantizi vs.) benziyor.
Söz dizimi ne demek biliyor musun? Syntax? Syntax dediğin nokta, virgül, süslü parantezden ibaret şey değil. Öyle bakarsan o zaman Python ve C++'da benziyor. Zig ve C++'da benziyor. Ya %1 benzerliği bile benzerlik olarak adlandırıyorsun. Yada syntax ne bilmiyorsun.

Rust'da değişken böyle tanımlanıyor.
Kod:
let var: i32 = 5;
C++:
int var = 5;
const auto var = int{5}; // Rust'a en yakın kullanımı böyle.


C++:
fn factorial(n: i32) -> i32 {
    let mut result = 1;
    for i in 1..=n {
        result *= i;
    }
    return result;
}

int factorial(int N) {
    int result = 1;
    for(int i = 1; i <= N; i++) {
        result *= i;
    }
    return result;
}

Mesela yukarıdaki kod için keywordlerin kullanımı, yapısı farklı farkındaysan. Ek olarak, let keywordünün default kullanımı constant variable. Direkt let deyip reassign denersen hata alacaksın çünkü immutable (değiştirilemez). let mut diye deklare etmen lazım değişkeni. Sonrasında değiştirmene izin veriyor. Bunlar daha aşırı temel farklar.
C++ üzerine orta düzey bir sertifikam var Rust ile arkadaşlarla zaman zaman çalıştık.
C++ conceptlerini kullanabiliyor musun? True type ne biliyor musun? constexpr, consteval ve constinit arasındaki farkları? 3-way operator ne biliyor musun? Kullanabiliyor musun? Threadleri kullanabiliyor musun? Templateleri ne kadar kullanabiliyorsun?
 
Garbage collector sistemi olmadığı için bazı low latency, high performance sistemler için güzel kullanım alanları mevcut. Ancak Türkiye'de iş ilanlarında vs. özellikle Rust bilen arayan büyük bir firma görmedim. Arayanlar da Senior veya Tech Lead (Staff Engineer) seviyesinde kişileri arıyorlar.

Eğer öğrenmediyseniz Golang'a yönelebilirsiniz. Özellikle yüksek TP ve düşük memory kullanımı isteyen yerler yana yana Golang geliştiricileri arıyor. Haberiniz olsun 😉.
 
Garbage collector sistemi olmadığı için bazı low latency, high performance sistemler için güzel kullanım alanları mevcut. Ancak Türkiye'de iş ilanlarında vs. özellikle Rust bilen arayan büyük bir firma görmedim. Arayanlar da Senior veya Tech Lead (Staff Engineer) seviyesinde kişileri arıyorlar.

Eğer öğrenmediyseniz Golang'a yönelebilirsiniz. Özellikle yüksek TP ve düşük memory kullanımı isteyen yerler yana yana Golang geliştiricileri arıyor. Haberiniz olsun 😉.
Açıkçası düşük seviye programlama ile daha çok ilgilendiğimden Golang’a yöneleceğimi düşünmüyorum. Yazınız için teşekkür ederim.
 

Yeni konular

Geri
Yukarı