27 Mart 2023 Pazartesi

Çeviri: Rust nasıl bir yan projeden dünyanın en sevilen programlama diline dönüştü?


Onlarca yıldır kodlayıcılar kritik sistemleri C ve C++ ile yazdılar. ve C++ ile yazdılar.


Pek çok yazılım projesi, bir yerlerde bir programcının çözmesi gereken kişisel bir sorunu olduğu için ortaya çıkar.

Graydon Hoare'in başına gelen de aşağı yukarı buydu. 2006 yılında Hoare, açık kaynaklı tarayıcı şirketi Mozilla'da çalışan 29 yaşında bir bilgisayar programcısıydı. Vancouver'daki evine döndüğünde asansörün çalışmadığını fark etti; asansörün yazılımı çökmüştü. Bu olay ilk kez de yaşanmıyordu. 

Hoare 21. katta oturuyordu ve merdivenleri çıkarken sinirlenmişti. "Bu çok saçma," diye düşündü, "biz bilgisayarcılar çökmeden çalışan bir asansör bile yapamıyoruz!" Hoare, bu tür çökmelerin çoğunun programın belleği kullanma biçimiyle ilgili sorunlardan kaynaklandığını biliyordu. Asansör gibi cihazların içindeki yazılımlar genellikle programcıların çok hızlı çalışan ve oldukça kompakt kodlar yazmasına olanak tanımasıyla ünlü C++ ya da C gibi dillerde yazılır. Sorun şu ki, bu diller aynı zamanda yanlışlıkla bellek hataları (çökmeye neden olacak hatalar) oluşturmayı da kolaylaştırıyor. Microsoft, kodundaki güvenlik açıklarının %70'inin bu dillerde yazılan kodlardan kaynaklanan bellek hatalarından kaynaklandığını tahmin etmektedir.

Çoğumuz, kendimizi 21 kat merdiven çıkarken bulsak, sinirlenir ve orada bırakırdık. Ama Hoare bu konuda bir şeyler yapmaya karar verdi. Dizüstü bilgisayarını açtı ve bellek hataları olmadan küçük, hızlı kod yazmayı mümkün kılacağını umduğu yeni bir bilgisayar dili tasarlamaya başladı. Kendi deyimiyle "hayatta kalmak için aşırı mühendislik ürünü" olan bir grup oldukça dayanıklı mantardan esinlenerek bu dile Rust adını verdi.

On yedi yıl sonra Rust, gezegendeki en yeni dillerden biri, belki de en yenisi haline geldi. Rust'ta yazan 2,8 milyon kodlayıcı var ve Microsoft'tan Amazon'a kadar şirketler Rust'ı geleceklerinin anahtarı olarak görüyor. Sohbet platformu Discord sistemini hızlandırmak için Rust kullanıyor, Dropbox dosyaları bilgisayarınızla senkronize etmek için Rust kullanıyor ve Cloudflare tüm internet trafiğinin %20'sinden fazlasını işlemek için Rust kullanıyor. 

Yazılımcı tartışma panosu Stack Overflow'un dünyanın dört bir yanındaki geliştiricilerle yaptığı yıllık ankette, Rust yedi yıldır en "sevilen" programlama dili olarak değerlendiriliyor. ABD hükümeti bile, süreçlerini daha güvenli hale getirmenin bir yolu olarak Rust'ta yazılımı hevesle teşvik ediyor. Dil, pek çok başarılı açık kaynak projesi gibi bir ahıra dönüştü: şu anda çoğu gönüllü olan yüzlerce sıkı katılımcı var. Hoare 2013 yılında projeden çekildi ve projeyi Mozilla'daki çekirdek ekip de dahil olmak üzere diğer mühendislere devretmekten mutluluk duydu.

Birinin yeni bir bilgisayar dili yaratması alışılmadık bir durum değil. Pek çok yazılımcı her zaman yan proje olarak küçük diller yaratır. Ancak bunlardan birinin tutunması ve örneğin JavaScript, Python ya da Java ile birlikte tanınmış diller panteonunun bir parçası haline gelmesi meteor çarpması kadar nadirdir. Rust bunu nasıl başardı?

Rust'ı bu kadar kullanışlı yapan şeyin ne olduğunu anlamak için, programlama dillerinin bilgisayar belleği ile nasıl başa çıktığına bir göz atmaya değer.

Çok kabaca, bir bilgisayardaki dinamik belleği bir kara tahta olarak düşünebilirsiniz. Bir yazılım parçası çalışırken, sürekli olarak kara tahtaya küçük veri parçaları yazar, hangisinin nerede olduğunu takip eder ve artık ihtiyaç duyulmadığında bunları siler. Ancak farklı bilgisayar dilleri bunu farklı şekillerde yönetir. C veya C++ gibi eski bir dil, programcıya yazılımın kara tahtayı nasıl ve ne zaman kullanacağı konusunda çok fazla güç vermek üzere tasarlanmıştır. Bu güç kullanışlıdır: dinamik bellek üzerinde bu kadar çok kontrole sahip olan bir kodlayıcı, yazılımın çok hızlı çalışmasını sağlayabilir. Bu nedenle C ve C++ genellikle donanımla doğrudan etkileşime giren türden "çıplak metal" kodu yazmak için kullanılır. Diyaliz makinelerinden yazar kasalara kadar her şey dahil olmak üzere Windows veya Linux gibi bir işletim sistemine sahip olmayan makineler bu tür kodlarla çalışır. (Daha gelişmiş bilgi işlem için de kullanılır: bir noktada bir işletim sisteminin donanımla iletişim kurması gerekir. Windows, Linux ve MacOS'un çekirdekleri önemli ölçüde C ile yazılmıştır).

"Rust yazmak keyifli, bunu söylemek biraz garip olabilir ama bu dil harika. Çok eğlenceli. Kendinizi bir sihirbaz gibi hissediyorsunuz ve bu diğer dillerde asla olmuyor."
Parker Timmerman, Yazılım Mühendisi

Ancak ne kadar hızlı olsalar da, C ve C++ gibi diller bir değiş tokuşla birlikte gelir. Kodlayıcının hangi belleğe yazıldığını ve ne zaman silineceğini dikkatli bir şekilde takip etmesini gerektirirler. Peki ya yanlışlıkla bir şeyi silmeyi unutursanız? Bir çökmeye neden olabilirsiniz: yazılım daha sonra bellekte gerçekten bir şey varken boş olduğunu düşündüğü bir alanı kullanmaya çalışabilir. Ya da dijital bir saldırgana içeri sızması için bir yol verebilirsiniz. Bir bilgisayar korsanı, bir programın belleğini doğru şekilde temizlemediğini keşfedebilir - silinmesi gereken bilgiler (şifreler, finansal bilgiler) hala ortalıkta dolaşıyor olabilir - ve bu verileri sinsice ele geçirebilir. Bir C ya da C++ kod parçası büyüdükçe, en dikkatli yazılımcının bile çok sayıda bellek hatası yapması ve yazılımı hatalarla doldurması mümkündür.

Drone firması Fusion Engineering'in kurucu ortağı ve Rust'ın kütüphane ekibinin başkanı Mara Bos, "C veya C++'da her zaman kodunuzun rastgele patlayacağı korkusunu yaşarsınız" diyor.

90'larda Java, JavaScript ve Python gibi yeni bir dizi dil popüler hale geldi. Bunlar çok farklı bir yaklaşım benimsedi. Kodlayıcıların üzerindeki stresi azaltmak için, bir yazılım parçası çalışırken belleği periyodik olarak temizleyen bileşenler olan "çöp toplayıcıları" kullanarak belleği otomatik olarak yönetiyorlardı. Presto: bellek hataları olmayan bir kod yazabilirdiniz. Ancak dezavantajı, bu ince taneli kontrolün kaybedilmesiydi. Ayrıca programlarınız daha yavaş çalışıyordu (çünkü çöp toplama işlemi çok önemli bir işlem süresi alıyordu). Ve bu dillerde yazılan yazılımlar çok daha fazla bellek kullanıyordu. Böylece programlama dünyası kabaca iki kabileye bölündü. Eğer yazılımın hızlı çalışması ya da gömülü bir cihazdaki küçük bir çip üzerinde çalışması gerekiyorsa, C ya da C++ ile yazılması daha muhtemeldi. Eğer bu bir web uygulaması ya da mobil telefon uygulamasıysa -ki kod dünyasının giderek daha büyük bir bölümünü oluşturuyor- o zaman daha yeni, çöp toplayan bir dil kullanıyordunuz.

Hoare, Rust ile bu yaklaşımlar arasındaki farkı ortadan kaldıran bir dil yaratmayı amaçladı. Programcıların verileri bellekte nereye koyduklarını manuel olarak bulmalarını gerektirmeyecekti; Rust bunu yapacaktı. Ancak verilerin bir program içinde nasıl kullanılabileceği veya kopyalanabileceği konusunda birçok katı kural uygulayacaktı. Python veya JavaScript'tekilerden daha zahmetli olan bu kodlama kurallarını öğrenmeniz gerekecekti. Kodunuzu yazmak daha zor olacak, ancak "bellek güvenli" olacaktı - yanlışlıkla ölümcül bellek hataları ekleme korkusu olmayacaktı. En önemlisi, Rust aynı zamanda "eşzamanlılık güvenliği" de sunacaktır. Modern programlar aynı anda birden fazla şey yapar - başka bir deyişle eşzamanlı olarak - ve bazen bu farklı kod dizileri aynı bellek parçasını neredeyse aynı anda değiştirmeye çalışır. Rust'ın bellek sistemi bunu önleyecektir.

Rust'ı tasarlamaya başlamak için dizüstü bilgisayarını ilk açtığında, Hoare zaten Mozilla'da tam zamanlı olarak çalışan 10 yıllık bir yazılım uzmanıydı. Rust ilk başta sadece bir yan projeydi. Hoare birkaç yıl boyunca üzerinde çalıştı ve diğer kodlayıcılara gösterdiğinde tepkiler karışıktı. Bana bir e-postada "Biraz coşku" dedi. "Bir sürü göz devirme ve 'Bu asla çalışmayacak' ya da 'Bu asla kullanılamayacak'."

Yine de Mozilla'daki yöneticilerin ilgisini çekmişti. Rust'ın daha iyi bir tarayıcı motoru geliştirmelerine yardımcı olabileceğini fark ettiler. Tarayıcılar, tehlikeli bellek hataları için pek çok fırsat barındıran karmaşık yazılım parçaları olarak bilinir.

Bu işe dahil olan çalışanlardan biri, programlama dilleri alanındaki doktora çalışmalarını bırakmaya karar verdikten sonra Mozilla'ya katılan Patrick Walton'dı. JavaScript'in mucidi Brendan Eich'in kendisini Mozilla'daki bir toplantıya çektiğini hatırlıyor: "Neden Rust için tasarım kararlarını tartışacağımız bu odaya gelmiyorsun?" dedi. Walton, Rust'ın kulağa harika geldiğini düşündü; Hoare'ye ve dili geliştirmek için giderek büyüyen bir mühendis grubuna katıldı. Mozilla mühendisleri Niko Matsakis ve Felix Klock gibi pek çok mühendisin bellek ve kodlama dilleri konusunda akademik deneyimleri vardı.

Mozilla'daki yöneticiler Rust'ın daha iyi bir tarayıcı motoru geliştirmelerine yardımcı olabileceğini fark ettiler ve birkaç mühendisi projeye dahil ettiler. Bunlar arasında programlama dilleri alanındaki doktora çalışmalarını bırakmaya karar verdikten sonra Mozilla'ya katılan Patrick Walton (1); her ikisi de bellek ve kodlama dilleri konusunda akademik deneyime sahip olan Niko Matsakis (2) ve Felix Klock (3); ve şu anda Rust'ın geliştirici araçları ekibini yöneten Manish Goregaokar (4) bulunuyordu.

2009 yılında Mozilla, Rust'a resmi olarak sponsor olmaya karar verdi. Dil açık kaynak kodlu olacak ve yalnızca onu geliştiren kişilere karşı sorumlu olacaktı, ancak Mozilla mühendislere ödeme yaparak onu desteklemeye istekliydi. Bir Rust grubu şirketteki bir konferans odasını ele geçirdi; Mozilla Research'ün kurucu ortağı Dave Herman buraya "inek mağarası" adını verdi ve kapının dışına bir tabela astı. Hoare, sonraki 10 yıl içinde Mozilla'nın Rust üzerinde tam zamanlı çalışmak üzere bir düzineden fazla mühendis istihdam ettiğini tahmin ediyor.

Walton, "Herkes gerçekten büyük olabilecek bir şey üzerinde çalıştığını hissediyordu," diye hatırlıyor. Bu heyecan Mozilla binasının dışına da taştı. 2010'ların başında Rust, dünyanın dört bir yanından, teknolojinin her köşesinden gönüllüleri kendine çekiyordu. Bazıları büyük teknoloji firmalarında çalışıyordu. En önemli katılımcılardan biri Almanya'da bir lise öğrencisiydi. Walton, 2010 yılında British Columbia'da düzenlenen bir Mozilla konferansında Eich'in ayağa kalkarak deneysel bir dil üzerine bir konuşma yapılacağını ve "gerçek bir programlama dili ineği değilseniz katılmayın" dediğini hatırlıyor. "Ve tabii ki salon doldu."

2010'ların başlarında Mozilla mühendisleri ve dünya çapındaki Rust gönüllüleri Rust'ın özünü, yani belleği yönetmek için tasarlanma şeklini yavaş yavaş geliştirdiler. Bir veri parçasına yalnızca bir değişken tarafından atıfta bulunulabilmesi için bir "sahiplik" sistemi oluşturdular; bu, bellek sorunları olasılığını büyük ölçüde azaltır. Rust'ın derleyicisi - yazdığınız kod satırlarını alır ve onları bilgisayarda çalışan yazılıma dönüştürür - sahiplik kurallarını titizlikle uygular. Eğer bir kodlayıcı kuralları ihlal ederse, derleyici kodu derlemeyi ve çalıştırılabilir bir programa dönüştürmeyi reddeder.

Rust'ın kullandığı hilelerin çoğu yeni fikirler değildi: Rust'ın geliştirici araçları ekibini yöneten ve ilk yıllarda Mozilla için çalışan Manish Goregaokar, "Bunlar çoğunlukla onlarca yıllık araştırmalar" diyor. Ancak Rust mühendisleri bu iyi işlenmiş kavramları bulma ve bunları pratik, kullanılabilir özelliklere dönüştürme konusunda ustaydı.

Ekip bellek yönetim sistemini geliştirdikçe, Rust'ın kendi çöp toplayıcısına olan ihtiyacı giderek azaldı ve 2013 yılına gelindiğinde ekip çöp toplayıcıyı kaldırdı. Rust ile yazılan programlar artık daha da hızlı çalışıyordu: bilgisayar temizlik yaparken periyodik duraklamalar yaşanmıyordu. Hoare'nin belirttiğine göre, bazı yazılım mühendisleri Rust'ın hala çöp toplamaya benzeyen unsurlara sahip olduğunu iddia ediyor - "referans sayma" sistemi, bellek sahipliği mekaniğinin nasıl çalıştığının bir parçası. Ancak her iki durumda da Rust'ın performansı oldukça verimli hale gelmişti. Metale daha yakın, C ve C++'ın olduğu yere kadar indi - yine de bellek güvenliydi.

2012'de Rust'a dahil olan ve sonraki 10 yıl boyunca Rust için dokümantasyon yazan Steve Klabnik, çöp toplamayı kaldırmanın "daha yalın ve daha anlamlı bir dile yol açtığını" söylüyor.

Bu arada Rust topluluğu da alışılmadık derecede arkadaş canlısı ve yeni gelenlere açık olmasıyla bilinen bir kültür inşa ediyordu. O zamanlar Mozilla'da Rust üzerinde çalışan ve Microsoft'ta baş mühendis olan Nell Shamrell-Harrington, "Kimse size çaylak demiyor" diyor. "Hiçbir soru aptalca bir soru olarak görülmüyor." 

Shamrell'e göre bunun bir nedeni de Hoare'nin çok erken bir dönemde Rust'a katkıda bulunan herkesin uyması beklenen ve tacizi yasaklayan bir "davranış kuralları" yayınlamış olmasıydı. Topluluk bunu benimsedi ve uzun süredir Rust topluluğu üyeleri, bunun queer ve trans kodlayıcıları diğer dillerde bulabileceğinizden daha yüksek oranlarda Rust'a katılmaya çektiğini söylüyor. Kodlayıcı bir hata yaptığında derleyicinin oluşturduğu hata mesajları bile alışılmadık derecede istekli; hatayı tanımlıyorlar ve aynı zamanda kibarca nasıl düzeltileceğini öneriyorlar.

Shamrell-Harrington gülerek, "C ve C++ derleyicileri hata yaptığımda kendimi berbat bir insan gibi hissetmeme neden oluyor," diyor. "Rust derleyicisi daha çok süper güvenli kod yazmanız için size rehberlik ediyor gibi."

2015 yılına gelindiğinde ekip, şirketlerin gerçek müşteriler için yazılım üretirken kullanabilecekleri kadar güvenilir olan Rust'ın "kararlı" bir sürümünü nihayet yayınlamaya kafayı takmıştı. Mozilla'nın Rust'ı kanatları altına almasının üzerinden altı yıl geçmişti ve bu uzun geliştirme süresi boyunca kodcular, her ne kadar kötü olsalar da demo sürümlerini denemeye hevesliydi: Goregaokar, "Derleyici sürekli bozuluyordu," diyor. Artık "1.0 "ı dünyaya sunmanın zamanı gelmişti.

Walton dizüstü bilgisayarının başında saatler geçirdiğini hatırlıyor. Klabnik "son iki haftada yaklaşık 45 sayfa dokümantasyon yazdı" diye hatırlıyor. 15 Mayıs 2015'te grup nihayet ilk sürümü yayınladı ve Rust ineklerinden oluşan gruplar bunu kutlamak için dünya çapında partiler düzenledi.

Mozilla'nın yatırımı kısa sürede karşılığını vermeye başladı. 2016 yılında bir Mozilla grubu, Rust kullanılarak inşa edilen yeni bir tarayıcı motoru olan Servo'yu yayınladı. Bir sonraki yıl, başka bir grup Firefox'un web sitelerinin görünümünü belirtmek için kullanılan bir dil olan CSS'yi işleyen kısmını yeniden yazmak için Rust kullandı. Bu değişiklik tarayıcıya gözle görülür bir performans artışı sağladı. Şirket ayrıca MP4 multimedya dosyalarını işleyen ve güvenli olmayan, kötü niyetli kodları kabul etme riski taşıyan kodu yeniden yazmak için Rust kullandı.

Rust geliştiricileri -kendilerine "Rustaceanlar" demeye başlamışlardı- kısa süre sonra yeni dillerini deneyen diğer şirketlerden de haber aldılar.

Samsung kodlayıcıları, Mozilla'nın Fransa'daki ofisinde çalışan Klock'a bu yazılımı kullanmaya başladıklarını söylediler. Facebook (daha sonra Meta olarak bilinecek), programcılarının dahili kaynak kodlarını yönetmek için kullandıkları yazılımı yeniden tasarlamak için Rust'ı kullandı. Bugün Meta için çalışan Walton, "Ne kadar önemli olduğunu abartmak zor" diyor.

Kısa süre içinde Rust, oldukça önemli bazı yazılımların merkezinde yer almaya başladı. Dropbox 2020 yılında, kullanıcıların bilgisayarları ile Dropbox'ın bulut depolama alanı arasında dosyaları senkronize etmekten sorumlu yazılım olan "senkronizasyon motoru "nun, mühendislerin Rust ile yeniden yazdığı yeni bir sürümünü tanıttı. Sistem başlangıçta Python'da kodlanmıştı, ancak şimdi milyarlarca dosyayı (ve çevrimiçi olarak senkronize edilen trilyonlarca dosyayı) işliyordu. Dropbox'tan kısa süre önce ayrılan yazılım mühendisi Parker Timmerman, Rust'ın bu karmaşıklığın üstesinden gelmeyi kolaylaştırdığını, hatta keyifli hale getirdiğini söylüyor.

"Rust yazmak çok keyifli, bunu söylemek biraz tuhaf olabilir ama bu dil harika. Çok eğlenceli. Kendinizi bir sihirbaz gibi hissediyorsunuz ve bu diğer dillerde asla olmuyor" diyor. "Kesinlikle büyük bir risk aldık - bu yeni bir teknoloji."

Bazı firmalar Rust'ın bellek hataları konusundaki korkularını hafiflettiğini keşfediyordu; Mara Bos, şirketinin başlangıçta C++ ile yazılmış olan insansız hava araçlarını kontrol etme yazılımını tamamen yeniden yazmak için Rust'ı kullandı. 

Diğerleri ise çöp toplamadan vazgeçmenin keyfini keşfediyordu. Discord'da mühendisler, yazılımlarının kritik parçalarını oluşturmak için kullandıkları Go dilindeki çöp toplayıcının işleri yavaşlatmasından uzun süredir rahatsızdı. Discord mühendisleri her şeyi o kadar dikkatli yazmış olsalar da Go yazılımları bu işlemi yaklaşık her iki dakikada bir gerçekleştiriyor ve çöp toplamaya gerek kalmıyordu. 2020'de bu sistemi Rust'ta yeniden yazdılar ve artık 10 kat daha hızlı çalıştığını keşfettiler.

Teknoloji devinin bulut bilişim platformu Amazon Web Services'teki yöneticiler ve mühendisler bile Rust'ın daha güvenli ve daha hızlı kod yazmalarına yardımcı olabileceğine giderek daha fazla ikna oluyorlar. "Rust, diğer dillerden elde edemeyeceğim avantajları sağlamak için benzersiz bir konuma sahip. Size tek bir dilde birden fazla süper güç sağlıyor," diyor geçen yıl firmadan ayrılmadan önce AWS'de bir Rust ekibi kuran Shane Miller. 

Bulut bilişim devi için belki de en önemlisi, Rust tabanlı kod üzerinde yapılan bir araştırmanın, AWS'de yaygın olarak kullanılan bir dil olan Java ile yazılmış benzer bir programın yarısı kadar elektrik kullanacak kadar verimli çalıştığını ortaya koyması. Miller, "Böylece bugün sahip olduğum iş yüklerinin 2 katını çalıştıran bir veri merkezi oluşturabilirim," diyor. Ya da aynı işi yarı boyutta bir veri merkezinde yapabilir, böylece bir veri merkezini şehir dışında bir araziye kurmak yerine bir şehrin içine yerleştirebilirsiniz.

Rust'ın başarısı bazı uzun süredir katkıda bulunanları biraz tedirgin etti. Teknoloji devleri bu dili benimsedikçe, dil üzerindeki etkileri de artıyor. Mühendislere tam zamanlı olarak Rust'ı geliştirmeleri için ödeme yapacak kadar paraları var; örneğin Rust ekiplerinin liderlerinden birkaçı Amazon ve Microsoft'ta çalışıyor. Diğer değerli katılımcılar Rust çalışmalarını boş zamanlarında yapmak zorunda; örneğin Bos, drone girişimini yürütmenin yanı sıra Huawei için Rust üzerinde sözleşmeli olarak çalışıyor, ancak Rust'un kütüphane ekibinin başkanı olarak rolü ücretsiz. 

Bos, bunun açık kaynaklı projelerde yaygın bir dinamik olduğunu söylüyor: büyük şirketler daha fazla katılım sağlayabilir ve bir projeyi önemsedikleri sorunları çözmeye yönlendirebilirler, ancak daha küçük firmalar bunu yapamayabilir. "Bu onlara bir miktar etki sağlıyor" diyor. Ancak şu ana kadar hiçbir firmanın alarm zillerini çaldıracak bir şey yapmadığını söylüyor. Amazon'un Rust'a katılımı konusunda endişelerini dile getiren (ve geçen yıl Rust'tan ayrılan) Klabnik de aynı fikirde. "Bu konuda endişeleniyor muyum? Evet. Özellikle kötü olduğunu ya da diğer pek çok yerden daha kötü bir noktada olduğunu düşünüyor muyum? Hayır."

2021 yılında büyük teknoloji firmaları, gönüllü yazılımcıları desteklemek amacıyla kâr amacı gütmeyen bir Rust Vakfı kurmak için ödeme yaptı. İlk iki yılında Miller tarafından yönetilen vakıf, Rust'ın bazı önemli özellikleri üzerinde çalışmak isteyen programcılara 20.000 dolarlık hibeler ve kısa vadeli mali ihtiyacı olan katılımcılara "zor durum" hibeleri sunuyor. Ayrıca Rust'ın kodunu barındıran sunucuları finanse ediyor ve 7/24 çalıştıklarından emin olmak için bir teknoloji firmasına ödeme yapıyor. Miller, klasik açık kaynak tarzında, bu işin daha önce "hayatlarının %50'sinde nöbetçi olan iki gönüllü" tarafından yapıldığını söylüyor. "Bunlardan biri İtalya'da bir öğrenciydi."

Dil, inanılmaz bir şekilde ve hızla büyüdü. Eğer Rust 2006'da doğduysa, şimdi ergenlikten çıkıp olgunluğa doğru ilerliyor. Otomobil firmaları, arabaları çalıştıran önemli kodları oluşturmak için Rust'ı benimsiyor; havacılık ve uzay şirketleri de onu benimsiyor. Dropbox'tan Timmerman, "Her yerde kullanılacak," diye tahmin ediyor. Hatta Microsoft yöneticileri, diğer pek çok teknoloji firmasının kapalı kapılar ardında düşündüğü şeyi açıkça dile getirdi: Rust'ı yeni kodlar için giderek daha fazla, C ve C++'ı ise giderek daha az kullanacak. Nihayetinde belki de asla.

Halihazırda ortalıkta dolaşan tüm o eski C ve C++ kodları yok olmayacak; muhtemelen onlarca yıl boyunca kullanılmaya devam edecek. Ancak Rust, hızlı ve yalın olması gereken yeni kod yazmanın yaygın bir yolu haline gelirse, yazılım ortamımızın her geçen yıl daha güvenilir hale geleceğini fark etmeye başlayabiliriz: daha az çökme eğilimli, daha az güvensiz. 

Bu durum hiç kimseyi Hoare kadar şaşırtmayacaktır. "Çoğu dil," diyor, " dalında ölüp gidiyor."


Hiç yorum yok:

Yorum Gönder