Belki de son yirmi yılın en harareti düşmeyen tartışması en iyi programlala dili tartışması olmuştur. Bu dilde bu var ama ötekide bunu üç satırda yapıyor. Bu yılda şu kadar geliştiriliyor, bunun bu kadar topluluğu var.
Bu kavganın çıktığı nokta “iyi dil” kavramının herkese göre farkı olması. Kimisi iyi dili çok kütüphaneye sahip olmasına, kimisi topluluğun gücüne, kimisi daha hızlı geliştirmeye imkan vermesine bağlıyor.
İyi dil yaptığımız işlere göre şekilleniyor. Örneğin sürekli web alanında çalışıyorsak C# ya da PHP’ye iyi dil diyor oluruz, oyun geliştiriyorsak, Java ya da C++ bizim için harika olacaktı. Servisler ve kurumsal uygulamalar geliştirenler ise C# ve Java’yı iyi dil olarak nitelendirecekti.
Aslında yazılım işinde tecrübeli biri değilim.Yaklaşık 3 senedir, kendi başıma istediğim bir işi bitirebilecek seviyedeyim. Yani daha bu işin başındayım. Ama araştırmaya yapmaya başladığım 2008 – 2009 yıllarında Türkçe forum sayfalarında sürekli “Hangi dil daha hızlı?” başlığı görüyordum. Sonra uluslararası sayfalara baktıkça bu sorunun giderek azaldığını gördüm. Bunun nedeni işlemci gücünün giderek artıyor olmasıydı. Artık Python ile de hız sorunu yaşamadan işlerimizi halledebiliyoruz.
Hangi Dili Öğrenmeliyim?
Yüzyıllı yanlızlık gibi soru. Okuduğu forumlara bakarak C# seçse Javacılar, Python öğrensen PHP’ciler üzülür. Resmen her yanında ayrı bir sorun oluyor. Bir dili seçmek de yetmiyor, o dile ait güncel eğitsel dökümanlarını da bulmak gerek. Çünkü yazılan bir eğitsel bir kaç sonraki sürümde çalışmıyor. Buradan da seçeceğimiz dilin her sürümde değişiyor olmaması gerektiği ortaya çıkıyor.
İşlemci hızları giderek yükseliyor. Artık daha düşük fiyatlara daha iyi sunucular ofis bilgisayarları temin edebiliyoruz, tahmin edebileceğiniz gibi kurumsal uygulamalardaki C++ kullanım oranı bu nedenle düşüyor. Üstelik C++’ın geliştirme hızı da diğer modern dillere göre düşük. Bu nedenle Java, C#, Python çok hızlı yükseliyor. Ancak belli işler vaki ille de C++ diyor.
Çok Platformluluk
Modern yazılımlar için artık çok platformluluk önemli. Bunu da genelde araya bir Web API koyarak sağlıyorlar. Çok platform için hayata geçirdikleri projelerinde cihazlar arası ve cihaz sunucu arası iletişimi bu sayede sağlıyorlar. Ancak tabii ki API olsa bile neden bir kodu bir kere yazıp her platformda çalıştırmak mümkün olmasın?
Java zaten “Write Once Run Everywhere” sloganıyla ünlü. Anca son zamanlarda “Xamarin” projesi ile C# da bu konuda epeyce iyi gidiyor. Tabii yüksek lisans ücretlerini ödeyebilenler için.
Sanırım yazıyı çok dağıttım.
Hepimizin kendimize göre bir “En iyi programlama dili” var. Hepimiz başka şeylere özen gösteriyoruz. Başka özellikleri arıyoruz. Başka alanlarda da çalışıyoruz. Hepimizin “kırmızı elması” bu yüzden farklı.
En iyi programlama dili işini en kolay yaptığın programlama dilidir. Fazla söze hacet yok 🙂