Ön söz

Her zaman bu kadar net değildi ancak Rust programlama dili temel olarak güçlendirme ile ilgilidir: şu anda ne tarz bir kod yazdığının bir önemi yok. Rust, daha önce yaptığınızdan çok ama çok daha geniş bir alan yelpazesinde güvenle programlama yapmanız için size güç verir.

Örneğin, bellek yönetimi, veri gösterimi ve eşzamanlılığın alt düzey ayrıntılarıyla ilgilenen "sistemsel düzeyde" bir çalışmayı ele alalım. Geleneksel olarak, bu programlama alanı gizemli olarak görülür ve yalnızca yıllarını kötü şöhretli tuzaklarından kaçınmayı öğrenmeye adayan seçkin birkaç kişi tarafından erişilebilir. Ve bunu uygulayanlar bile, kodları istismarlara, çökmelere veya ağır sıkıntılara açık olmasın diye bunu dikkatli yapıyorlar.

Rust, eski tuzakları ortadan kaldırarak ve yol boyunca size yardımcı olacak samimi, cilalı bir araç seti sağlayarak bu engelleri ortadan kaldırır. Daha düşük seviyeli kontrole "dalması" gereken programcılar, bunu Rust ile, geleneksel çökme veya güvenlik açıkları riskini üstlenmeden ve kararsız bir alet zincirinin ince noktalarını öğrenmek zorunda kalmadan yapabilirler. Daha da iyisi, bu dil, sizi hız ve bellek kullanımı açısından verimli, güvenilir koda doğru doğal olarak yönlendirmek için tasarlanmıştır.

Halihazırda düşük seviyeli kodla çalışan programcılar, hedeflerini yükseltmek için Rust'ı kullanabilir. Örneğin, Rust'a paralellik eklemek nispeten düşük riskli bir işlemdir: derleyici sizin için klasik hataları yakalayacaktır. Ve kazara çökmeler veya güvenlik açıkları oluşturmayacağınıza güvenerek kodunuzdaki daha agresif optimizasyonların üstesinden gelebilirsiniz.

Ancak Rust, sadece düşük seviyeli sistem programlama ile sınırlı değildir. Komut satırı uygulamalarını, web sunucularını ve diğer birçok kod türünü yazmayı oldukça keyifli kılacak kadar etkileyici ve ergonomiktir — kitabın ilerleyen bölümlerinde her ikisinin de basit örneklerini bulacaksınız. Rust ile çalışmak, bir alandan diğerine aktarılan beceriler oluşturmanıza olanak tanır; Rust'ı bir web uygulaması yazarak öğrenebilir, ardından aynı becerileri Raspberry Pi'nizi hedeflemek için kullanabilirsiniz.

Bu kitap, Rust'ın kullanıcılarını güçlendirme potansiyelini tamamen benimsiyor. Bu, yalnızca Rust hakkındaki bilginizi değil, aynı zamanda genel olarak bir programcı olarak erişiminizi ve buna karşı olan güveninizi artırmanıza yardımcı olmayı amaçlayan samimi ve ulaşılabilir bir metindir. Öyleyse dalın, öğrenmeye hazır olun—ve Rust Topluluğuna hoş geldiniz!

— Nicholas Matsakis ve Aaron Turon