Delphi XE yeni bir şans olabilir mi?

Delphinin en son versiyonu olan Delphi XE (RAD Studio XE) raflarda yerini aldı. Programın 30 günlük deneme sürümünü kurup, yeni (ya da daha da geliştirilmiş) özelliklerine göz attığımda Delphi XE nin gerçekten son derece gözalıcı özelliklerle donatıldığını gördüm. 64 bit derleyiciler hariç, hemen hemen her başlıkta eksiksiz bir ürün çıkartılmış.

Bunlara başlıklara kısaca değinirsek

Derleyici : En büyük değişim, delphi derleyicisinin ANSI C++ derleyicisi ile çok daha uyumlu hale getirilmiş olmasında görülmektedir. Yeni nesil işlemciler (SSE4.x, AMD 3DNow vs.) için uyumluluk ve artırılmış performanstan bahsedebiliriz. Derleme işlemi artık arkaplanda bir thread tarafından yapılabiliyor. (Çok büyük projelerde, saatler süren derlemeleriniz varsa, işe yarar bir özellik şüphesiz)

Geliştime Ortamı : Artık Delphi geliştiricileri Visual Studio 2008 / 2010 veya MonoDevelop içinden geliştirme yapabilecekler. (Radikal bir değişiklik olmakla birlikte kimin bu şekilde kullanacağını da merak ediyorum. Çok değil, birkaç sene önce IDE savaşlarından bahsedenler şimdi en güçlü silahlarını almadan savaş meydanına mı çıkıyor?) Birde beklendiği üzere, Win32 SDK, Windows 7 API ve .NET 4.0 da tam desteklenmektedir.

Dilde Yapılan Yenilikler : Kişisel olarak en çok beğendiğim özellik, Exit derken artık opsiyonel olarak Result değerini de set edebiliyoruz. (C# taki return false, return 3 vb. kullanım gibi) Bunların dışında, RegEx (Regular Expression) library kullanımı artık – çok geç kalınmıl olsa da- mümkün. Dosyalama ve I/O işlemlerini yapmak için kullanılan eski tarz fonksiyon bazlı yapı artık OOP çatısına kavuşturulmuş. Yine C++ uyumlu object sınıfının ToString metodları, Unicode destekleri ve TStringBuilder gibi (yine C# tan aşina) sınıflar gelmiş (DateTime tipi ve DateUtils uniti geliştirilmiş mesela)

Kod Yönetimi : Tanıtımlarda ve ürün reklamlarında üstüne basa basa vurguladıkları Subversion Integration (versiyon, kodda yapılan değişiklikler ve geçmiş kontrolü) gelmiş. (Bir çok üründe ezelden beridir var olan bir özellik. Kaldı ki, 10 yıl önceki Delphi 7  Team Edition bile buna yakın özellikler sunuyordu zaten) Kod düzenleyici (Kod Formatlayıcı) , Refactoring (değişken rename vb. işlemler) gibi araçlar daha da desteklenmiş.

Modelleme : Son zamanlarda yazılım mühendisliğinin moda kavramlarından olan Modelling de unutulmamış. Nesne yapısı hiyerarşisinin gösteriminden, durum grafiklerine, komponent diyagramlarından, kod dökümanı oluşturmaya kadar aklınıza ne geliyorsa fazlası var, eksiği yok deyip geçeyim.

Test : Yine zorla her programa dayatılan Unit Testing den sonunda Delphi de nasibini almış. DUnit gibi süper bir unitimiz var artık.

Veritabanı : Sanırım her bir yeni versiyon için en çok ter döktükleri yer burası. BDE den ADO ya, dbExpress ten dbGO ya, önce tonla farklımetodoloji icat edersen sonunda geleceğin nokta budur. Özetle, adı geçen tüm veritabanı erişim ve sunum teknolojilerinin tamamı güncellenmiş. BDE (Borland Database Engine) hala güncel olduğunu görünce nostalji etkisinden gözlerim yaşardı desem yalan olmaz. Ürünle birlikte Interbase 20 kullanıcılı Developer Edition ücretsiz gelmekte (Yine ilgililere – varsa – duyurulur)

Yeni Teknolojiler : Cloud (Bulut) desteği de unutulmamış. Amazon EC2 ile patlayan, Microsoftun her zamanki gibi ışığı görüp çakmasını çıkartıp bende varım dediği (Azure) tam olarak desteklenmiş (Google Cloud neden desteklenmemiş acaba.)

Komponentler : Delphiyi delphi yapan VCL ler, 3rd party componentler… Burada önce hakkını verelim, son derece seçkin component setleri hazır olarak gelmekte. Indy, Raize, IP-Works, TeeChart, Nevrona Rave, Installaware gibi çok seçkin componentler hazır. DevExpress gibi UI alanında bestseller bir ürünün hala yüklü gelmemesi ise bence büyük hata. (Üstelik Delphi kökenli DevExpress cileri böylesine küstürmek te büyük başarı)

Web : Yine Delphi tarafından sayısız deneme yanılma yapılan bir diğer konu. Atozed firmasının Intraweb komponentleri XE ile birlikte de geliyor. VCL olarak kullanmak için ideal bir set.  Indy bileşenleri de eksiksiz, güçlü, open source  bir alternatif. WebSnap kullananlar için Server Side VBScript JavaScript desteği eklenmiş.

Yeni eklenen komponentlere (VCL) gelince;  etkileyici Gesture designer gelmiş. dokunmatik ya da etkileşimli uygulama yazanlar bunu çok sevecekler. TTouchKeyboard (Sanal Ekran Klavyesi) de yeterince başarılı. Görsel olarak çok futuristik olmasa da, kullanımı kolay ve fazlasıyla iş görüyor.

(Web geliştirme konusunda Delphi Prism / RadPHP XE ilgili (ve iddialı) olduğundan WEB tabanlı projeleri bu ürünlerle değerlendirmek daha sağlıklı bir yaklaşım olur)

Sonuç :

90 ların ortasında çıkan, kısa sürede efsaneleşen Delphi ne yazık ki, son 4-5 yıldır sürekli kan kaybetmektedir. Bu kötü gidişatın sebepleri ayrı bir makale konusu olacağından girmek istemiyorum. Delphi XE, ilk bakışta gözalıcı görünmekle birlikte, kaçan delphi geliştiricilerini geri getirebilecek mi? Ya da diğer dilleri (Mesela Visual Basic, C#, Java) kullanarak geliştirme yapan programcıları kazanabilecek mi? Her ikisine de evet diyebilmek çok zor. Eğer eldeki delphi geliştiricilerini kaçırmazsa bu bile büyük başarı olacaktır.

Delphi neredeyse her yıl yeni bir versiyon çıkartmaktadır. CodeGear RAD Studio 2009, Embarcadero Delphi 2010, Şimdi RAD Studio XE… Buradan da anlaşılacağı gibi, geçiş süreci hala devam etmektedir. Şimdilik görünen, Delphi nin var olan teknolojileri çok geçmeden yakaladığı ve kendi geliştiricilerini her zaman up to date tuttuğudur. Burada insanüstü bir gayret gösterildiğini anlamak zor değil. Microsoft cephesinde, işler çok daha yalın. Herşeyden önce işletim sistemi ve Framework gibi kendi tekelinde ürünler var. Piyasaya yeni bir versiyon çıkmadan önce, kendi içinde (inhouse) olarak tüm birimler eşzamanlı harekete geçebilir.  Her birim kendi uyumlu güncellemelerini yapabilir. Delphi geliştiricileri ise, oturup final release beklemek zorundalar. Tek beklenilen Microsoft olsa yine iyi, App Engine alanında gittikçe daha çok görülen Google, Java dünyası, Açık kaynak kodu geliştiriciler vs. vs. Hemen her cephede en önde yer alıp şaşkın şaşkın dolaşmaktan başka çareleri yok gibi…

Ben kişisel olarak Visual Studio ve C# kullanıyorum. Delphi kullanmayı bırakalı 3-4 yıl oluyor. Hala bazı projelerde Delphi ile çözüm geliştirdiğim de oluyor (100 lerce MB framework kurmayı gerektirmeyen, Native Win32 uygulamalarında mesela…)

Delphi geliştiricilerinin Delphi yi bırakmaları için hala ciddi bir neden yok. Benzer şekilde Delphi de ısrar etmeleri için de bir neden yok.

Delphi yıllar önce Anders Hejlsberg ile yaptığını bir daha yapabilir mi? Üzülerek te olsa pek ihtimal veremiyorum. Bana göre Borland firması, Hejlberg’in Microsofta 1 milyon $ ve hisse ortaklığı sonucu kaptırılmasıyla zaten bitmişti. Sonrasında firma  sayısız isim değiştirmiş ve son olarak 2 yıl önce tüm ürünleri ile birlikte komik ötesi bir rakamla Embarcadero’ya  satılmıştı. Tüm satış değeri sadece 23 milyon $ dı. (Borland’ın alıcı bulmak için kapı kapı gezdiği yıllarda, Türkiye’den bir alıcı çıksa Türk Bilişim sektörü için çağın hareketi olurdu diye iç geçirirdim. Emsal teşkil etmesi açısından bazı örnekler vermek istiyorum;

  • Neredeyse tedavülden kalkacak olan Sybase veritabanı, SAP ye, Borlandın tam 250 katına, 5.6 milyar dolara satıldı.
  • Ülkemizde Delphi kullanarak geliştirme yapan Logo Yazılımın Borsa bedeli 70 milyon $ civarında
  • Ülker, Belçikalı çikolata üreticisi Godiva’yı 600 milyon $a satın aldı
  • GS nin Aslantepe projesi : 300 milyon $ (bunun 4 katına çıkacağı söyleniyor)
  • BİM grubunun Mecidiyeköydeki eski likör fabrikasına verdiği teklif : 450 milyon $)

Sonuçta, yeni projeler için birincil uygulama olarak seçmemekle birlikte, eski gözağrımı, 1. versiyonundan 7. versiyonuna kadar kullandığım Delphi yi, arada bir göz hapsinde tutmakta fayda var 😉 )