Programlama Dilleri Üzerine tecrübeler

Rust sistem programlama amacıyla geliştirilmiş ve mottosu da "C++ dilinin çeşitli sorunlarından bunalmış yazılımcıları hedefliyoruz" şeklinde. Yani low-level çalışmaları amaçlıyor. C++ ile ne yapılıyorsa Rust ile de benzer şeyler hedefleniyor. İşletim sistemi yazmak dahil(YouTube'da işletim sistemleri Rust ile yeniden yazılmalı diye ing bir video var)

Bunların yanında, programlama için modern bir zamanda geliştirildiği için web geliştirmeyi de kendi içerisinde package'lar ile sunuyor tabi. Go da böyle eğer ilgilendiysen. Ancak Rust'ın web tarafındaki topluluğu Go kadar güçlü ve yaygın değil. Rust dili programlama paradigmalarını yenilemeyi hedefliyor(Go da öyle), ancak Rust daha çok sistem seviyeli sorun olarak görülen programatik sorun ve handikapları çözmeye odaklanan dil özellikleri getiriyor. Bu nedenle birçok programlama dilinden farklı bakış açıları da var. Öğrenmek biraz daha fazla zaman alır ve zordur denebilir. Rust yüksek hesaplamayı güvenli programlama ile yapabildiği için Blockchain tarafında epey tercih ediliyor. Blockchain de protokol geliştirme için(Application level için değil)... Performansı epey yüksek diyebiliriz. Go birçok dilden daha performanslıdır(C ve C++ hariç, C++ ile eşit olan birkaç avantajlı yanı var). Rust da Go'da %10-15 civarında daha performanslı.

Eski .NET ile yapılmamasını direkt önerirdim. Ancak .NET Core ile aradaki gereksiz middleware'ler ve performans düşürücü özellikler çıkarıldı. Bu nedenle ciddi projelerde bile iyi bir .NET Core programcısı performanslı projeler geliştirebilir. Fakat Go ile kıyaslama yapacaksak ve global olarak yüksek trafik alacak bir platform geliştirilecekse(lokal yüksek trafik de olabilir) Go daha temiz ve doğal performans sağlayıcı olabilir.

Yalnız unutmamak gerek. Bir dil ve teknolojide uzman olan diğerinde de kısa sürede uzmanlaşacağı anlamına gelmiyor. Çok iyi bir C# geliştirici olabilir ve .NET Core ile performansı zorlayabilirsin ama bunu Go'da yapman için Go'da ciddi tecrübe sahibi olmak gerek. Aynı şekilde tersi de öyle...

Temel programlama bilgisi(değişken, metot vs) bilen biri Go Programlama Dili ve Go ile Web API Programlama kurslarımın ikisini aldı mı rahatlıkla Go ile RESTful API geliştirme seviyesine gelir. Birkaç makalemi de okuduğunda Go ile web programlama tarafını da hızlı şekilde anlar ve proje geliştirmeye başlayabilir.

Kendi adıma, zaten 10 yıldan fazladır C# ile geliştirme yaptığım için kurumsal projelerde tercih edebiliyorum. Çünkü bu alanda daha fazla uzman geliştirici personel bulabileceğimi biliyorum.

Diğer yandan, yapay zeka projelerinde(girişimlerimizde) back-end, API, data katmanı ve yapay zeka uygulama motorunun kendisinde de Python kullanıyorum. Çünkü girişimi hızlı ayağa kaldırman gerek ve microservice mimarisini Go ya da Rust ile de yazabilirim ama buna ne gerek? Henüz o seviyede ihtiyacım olacak trafik almıyorken geliştirme süresini uzatmanın anlamı yok. Ama doğrudan yüksek trafik ve sunucu tarafında da yüksek performans gereken projelerde microservice mimarisi ve back-end Go ile, sunucudaki hesaplamaları ve sunucu networking-dosya manipülasyonu gibi işlemleri Rust ile geliştiriyorum.

node.js ve react.js artık şahsen kullanmıyorum. Projelerin front-end'inde ekip arkadşalarımız React kullanıyor, mobil için de React Native, back-end için de daha önce başlattığımız projelerin devamı olarak Node.js kullanıyoruz gene bazen. Ama kendim Node.js yazmıyorum

Last updated