Java, Groovy, Python, PHP hakkında
Şu sıralar web scriptingten kopup masaüstü uygulama geliştirme sevdasına yıllar sonra yeniden tutulmuş gibiyim. Aslında bir yenilik arıyorum programlamada. Önce halihazırda bildiğim ve kullandığım PHP için framework aradım. Her zamankinden farklı bir sonuç yok henüz. Fakat php frameworklerde bazı gelişmeler olmuş. CodeIgniter şimdilik kurulum ve kullanım kolaylığı ile kullanıcısı sayısını hızla arttırıyor. MVC (model view controller ) üretim şeklini keşfeden ve bunu kullanmak isteyenler çoğalıyor. Fakat temelde frameworkler MVC kullanılsa bile iki çelişki arasında kalıyor. Birincisi üretimi hızlandırmak adına Zend framework gibi resmen bir dil öğrenmenizi gerektiren framework olmak, ikincisi CodeIgniter hatta tinyMVC kadar basit bir PHP framework olup kütüphane olmaktan MVC kullanmak haricinde pek öteye gidememek. Tabi siz diyebilirsiniz ki CodeIgniter nispeten kısa sürede öğrenilir ve MVC ile projelerde zaman kazanılır. O zaman bir diğer unsuru görmek lazım. O da projenin üretim boyutu. Projeniz herkesin anlayacağı standart olacak mı ? Yoksa projeniz bir kişinin elinden mi çıkacak ? Porjeniz yıllarca bakım isteyecek mi yoksa bir kaç sene sonra zaten ömrünü tamamlayacak mı ? İyi bir programcı malesef bu sorulara bir endüstri mühendisi gibi olmasada mutlaka cevap vermek zorunda. Yoksa işiniz hobi olmaktan çıkamaz.
Framework arayışım pek olumlu sonuçlanmamıştı açıkcası. Zira askerlikten önce zaten kendi framework yapımı yazmış, session yönetiyor, smarty kullanıyor, xajax ile ajaxtaki tüm işlerimi yapıyordum. Üstüne üstlük bir ekibin çalışacağını düşünmediğim için projelerimde de MVC yapısı ancak uzun süre sürümlerini çıkartacağım projeler için gerekebilirdi. Onun dışında kendi framework yapım zaten yeterince MVC bir sistem sunuyordu. Ama araştırırken eski sitelerimi ve kodlarımı rahatlıkla tamir edip daha işlevsel yapabileceğimi düşündüğüm bir kütüphane keşfettim. Flourish Unframework olarak kendisini lanse eden güzel bir kütüphane. Diyebilirsiniz ki PHPClasses.org üzerinden istediğim kütüphaneleri zaten kullanıyorum. Doğrudur. Ama bu kütüphane güzel bir dökümantasyonada sahip ve kullanımıda herhangibi bir classtan farksız. Şiddetle ufak tefek siteleriniz ve eski baş ağrılarınıza tavsiye edilir.

Ama henüz istediğim şekilde birşey keşfedememiştim ki aklıma uzun süre önce aldığım Python kitabı geldi. CGI tipi proramlamaya benzetmiş pek ilgilenmiyordum. Tabi bu sürede Python 3 sürümü duyurulmuş bile. Bir iki deneme yaptıktan sonra basit bir yapısının olduğunu gördüm. Aynı zamanda PHP gibi kullanılması için Python Server Pages (PSP) yani HTML içinde kullanım imkanıda var. Dahası masaüstü uygulama bile geliştirebiliyorsunuz. TAbi ki PHP’nin GTK yapısından çok daha önde. Ama karşılaştırma yazılarını incelerken anladım ki web scripting açısından bakıldığında Python gerçekten büyük işler için. PHP ile bir 10001000 hesabı yapılarak performans karşılaştırması yapıldığında aralarından pek bir fark yok. Hatta PHP biraz daha önde. Ama iş karışık bir işleme geldiğinde PHP’de 3 kat kadar daha verimli ve hızlı sonuç veriyor. Tüm bunlara rağmen Python masaüstü uygulama geliştiricileri için uygulama tasarımında pek avantajlı görünmedi. Visual C# öğrenmek Türkiye’de Python öğrenmekten daha mantıklı çünkü iş alanıda daha fazla. Tabi bu Python güçsüz bir dil demek değil. Zira NASA, google gibi kurumlard Python kullanıyor. Bildiğiniz Gmail mesela Python altyapısında. Aynı zamanda prototip program geliştirilmesinde çok avantajlı olduğu söyleniyor. Dahada önemlisi yapılan anketlerde Python 2013 yılında java’yı hem güç hem popülarite olarak geçecek gibi duruyor.
Python’u cebime koyup yola devam edeyim derken karşılaştırma sitelerinde başka bir dil daha gördüm. Groovy adında Java nesnenelerini kullanan ve javanın kendi nesnelerini kullanabildiği, Python ve Ruby gibi dillerin desteğini de sunan bir dil. Groovy yine karşılaştırma sitelerinde Python’a göre her işlemde olmasa da 3 kat kadar hıza çıkıyor. Üstelik Java gücünü basit bir söz dizimi ile kullanabiliyorsunuz. Fakat tüm bunlar dışında bir sorun var. Groovy ve Java Python’a göre 25 kat daha fazla memory işgal ediyor. Bunu yanında aynı işi yaptığınız Java ve Groovy kodu Python’dan iki kat daha fazla yazmak demek oluyor. Zaten Java vb. altyapısında üretilecek Groovy gibi dillerin her ne kadar zorlu sözdizimini aşsalarda en büyük sorunu hafıza kullanımı olacak gibi. Büyük firmalar bugün ta başından beri OOP ve haliyle MVC’ye uygun olarak tasarlanmış Java’yı pek sevse ve büyük işlerinde kullansada ileride 2013′ten sonra işler gerçekten değişebilir mi diye insanın aklına takılıyor. Python gerçekten bugün öğrenmeye , hakkında fikir edinmeye değer bir dil imajı çiziyor.