İçindekilerGirişİndex
YukarıİlkÖnceki YokSonrakiSon
Geriİleri
Yazdır

Java ve XML Guru'su Yusuf Boyacıgil'le Söyleşi

Godoro : Java platformunu en başından beri yakından takip edenlerden biri olduğunuzu biliyoruz. Mynet, Enter Bilgisayar ve Mor Yazılım gibi yüksek teknolojileri başarıyla uygulayan firmalarda çeşitli düzeylerde Java geliştiricisi olarak çalışmış olmanız sizi bu alanda ülkemizde söz söylemeye en fazla hakkı olanlardan biri yapıyor. Godoro.com olarak görüş ve önerilerinizden Java'ya ilgi duyan, özellikle genç yazılımcıların faydalanması için sizinle görüşmeyi uygun gördük. Öncelikle gelecek hakkında bir soruyla başlayalım. Sizce Java'nın gelişmesi daha çok hangi yönde olacaktır? Enterprise Computing alanında mı gelecek görüyorsunuz, yoksa Mobile Computing mi? Başka bir deyişle, Java nereye gidiyor böyle?

Yusuf Boyacigil : Java platformu ve teknolojilerinin açık olması bir diğer ifade ile tek bir üreticinin sıkı kontrolü altında olmaması, dünya çapında bir çok teknoloji üreticisi firma veya organizasyon tarafından sahiplenmesi ile sonuçlandı. Aynı zamanda Java'nın birden çok platform üzerinde koşabilmesi, Java dilinin özellikleri (güvenlik, hafıza yönetimi, çok kanallı programlama ve zengin kütüphanesi) bu sahiplenmede önemli rol oynadı. Böylece Java çok değişik alanlarda teknoloji üretilen bir platform haline geldi ki bugün Java ile arabalar, ev aletleri, cep telefonları, smart kartlar, güvenlik sistemleri, cihaz sürücüleri gibi birbirinden çok farklı alanlarda yeni teknolojiler geliştiriliyor. Her ne kadar bu teknolojiler daha yeni olsalar da ilerki yıllarda gündelik yaşantımızda onlarsız yapamayacağımız da görünüyor. Artık yeni teknolojiler Java ile geliştiriliyor! Java teknolojisinin bilişim sektöründe en çok kullanıldığı bir alan var: Internet! Acaba şimdiye dek internet ile hiç karşılaşmamış olan kaldı mı? Kaldı ise daha neyi bekliyor! Internet üzerinden artık herşeyi yapabiliyoruz dersem çok abartmış olmam. Neyi yapamıyoruz ki? Bankacılık, sigortacılık, tedarik zinciri, alış-veriş gibi ticari ve hayati önemi olan işlerden, yemek, sinema, çöp çatan servisi gibi en basit işlere kadar herşeyimizle internet bağımlısı olduk! Bu da yetmedi bilgisayarlarımızın başında olmadığımız zamanlarda bile bağlıyız internete. Mesela yolda yürürken, televizyon seyrederken, vs. Bunları bir felaket tellalı edasıyla söylemiyorum yanlış anlamayın. Neredeyse herşeyi birkaç parmak tıkıyla yapabilir hale geldik. Bu da güzel bir şey değil mi? Üstelik zamanla bunlara ayak uydurmayı becerip daha fazlasını istiyoruz. Hal böyleyken bu istekleri karşılamak da biz bilişim çalışanlarına düşüyor. Bilişimci de tüm bunları karşılayacak bir teknoloji peşine! Teknoloji üreticileri de bu istekleri karşılamak için çalışıyorlar. Tıpkı doğadaki beslenme zinciri gibi değil mi? İşte Java bu istekleri karşılamak için gerekli tüm teçhizatla donanmış bir teknoloji olarak kullanıma hazır vaziyette bizi bekliyor. Ticari, işlem hacmi büyük uygulamalar ki Enterprise Computing'e girer bunları Java ile yazabilirsiniz, ayrıca bu tür uygulamalar birbirleri ile XML servisleri araclığıyla çalışabilirler. Bunun yanında portallardan tutun da kişisel web sitelerine kadar tüm internet uygulamalarını Java ile yazabilirsiniz. WAP, cep telefonları üzerinde Java ile uygulamalar geliştirebilirsiniz, ki bunlar da Mobil Computing'e girer. Ben Java da tüm bu alanlarda paralel bir gelişme olacağı kanaatindeyim. Mesela bir bankacılık uygulaması yazarsınız sonra ona cep telefonundan erişmeniz istenir onun için de bir istemci (client) yazarsınız. Veya bir ERP uygulaması yazarsınız, dağıtıcıların el terminallerinden stok bilgilerine erişmesi, onları güncellemesi veya satıcıların yine el terminallerinden siparişlerini girmesi istenir bu sefer oturur onu yazarsınız. Türkiye gerçeğine biraz dönecek olursak, Türkiye'de ağırlıklı olarak Enterprise Computing alanında Java'nın diğerine oranla daha fazla gelişeceğine inanıyorum.

Godoro : Enterprise Computing'den söz açılınca, .NET hakkındaki fikirlerinizi sormamak olmaz sanırım. .NET'in Java'nın taklidi olup olmadığını sormaya gerek duymuyorum. İki platformu da iyi bilenler ya da Java platformuna aşina olup .NET'i incelemiş olanlar için zaten bu sorunun yanıtı az çok belli. Ayrıca bu konunun o kadar da önemli olduğunu düşünmüyoruz. Microsoft'un kendi teknolojilerinden vaz geçip, ya da sadece miras olarak desteklemeye devam etmesini de şaşılacak bir olay olarak görmüyoruz açıkçası. Yıllar önce, UNIX'i yazmak için yaratılmış C dilini kendi platformu'nun için temel geliştirme dili olarak (elbette bazı 'küçük' ve 'uyumsuz' değişikliklerle) benimsemesi, bir çok teknolojiyi alıp kendi hedefleriyle 'uyumlu' hale getirdiği düşünülürse bu durum gayet normaldir. Java üzerinde diğer şirketlerin yaptıklarıyla uyumsuz herhangi bir değişiklik yapması bizzat Java'nın geliştiricisi Sun tarafından engellendiği için zaten Microsoft'un, kendi çalışma yöntemleri açısından bakıldığında Java'ya benzer bir teknolojiyle ortaya çıkması gayet olağan görünüyor bize. Peki siz .NET'in geleceği hakkında ne düşünüyorsunuz? Java'nın 'üstün' olduğu özellikleri barındırıyor. Hatta platform'dan bağımızlığı bile varmış! Java'yla aynı güçte bir teknoloji, Microsoft gibi dev bir firmanın pazarmala gücüyle birleşince .NET piyasada yayılmaz mı sizce? .NET'siz ASP'nin bile ülkemizde ne kadar yaygın olarak kullanıldığı ortada. .NET'in Java'nın yerini alacağından şüphelenmiyor musunuz? Gizli gizli .NET çalışan bir çok Java'cı olduğunu biliyoruz. Siz .NET platformunu 'incelediniz' mi? Hiç kod yazdınız mı .NET için? C#'ta veya J#'ta hiç "Hello World!" dediniz mi?

Yusuf Boyacigil : Evet şurası bir gerçek ki Microsoft başkalarının fikirlerini çalmakta son derece kabiliyetli bir firma. Buna bir de pazarlama gücü eklenince kısa süre içerisinde kendi ürünlerini kopyaladığı teknolojilerle atbaşı koşturan ve hatta birçoğunda da onları geçen acayip bir şirket. .NET platformunun Java teknolojileri ile ortak birçok noktası var ve .NET Java'nın ciddi bir rakibi. Özellikle enterprise computing alanında EJB'ye ve Java'da XML web servislerine karşı .NET hazır durumda. Şu anda ülkemizde ve dünyada .NET ile enterprise computing alanında ciddi projeler yapılıyor. Yalnız .NET'in Java teknolojilerine rakip olduğu iddia edilen alanlarda bazı şüphelerim de yok değil. Mesela .NET'in birden çok platformda çalışması. Bir kere bu, teorik olarak doğru olan ama pratikte gerçekleşmemiş bir şey. Üstelik resmi sanki biraz tersine çevirmişler gibi. Şöyle: Java platformunda 1 dilde yazıp N platformda uygulamalarınızı koştururken, .NET'te N dilde yazıp sadece 1 platformda koşturuyorsunuz! Birden çok dili destekleme çok önemli bir iyilikmiş gibi sunuluyor. Halbuki Java platformunda da farklı dilleri kulanabiliriz. Mesela VB, Pascal ile yazılmış kodları bir önişlemciden geçirip Java koduna çeviren yazılımlar çıkmıştı. Böylece o dillerde de Java platformunda uygulamalar geliştirilmesi mümkündü. Ama zaten iyi bir dil (Java) varken başkalarını kullanmakta ısrar etmenin de bir anlamı da yok! Yeni bir programlama dili öğrenmek de çok zor bir şey olmasa gerek. Üstelik de VB.NET'in de ne kadar VB olduğunu bir sormak lazım. VB'ciler bunun yanıtını versinler! .NET ve Java savaşını kim kazanacak sorusuna yanıt vermek güç. Bir kere Java'ya bir alternatif çıkması aslında iyi oldu. Bu çeşitliliği bir zenginlik olarak kabul ediyorum. Biraz pragmatik olmak gerektiğine de inanıyorum. Salt Java'cı veya .NET'çi olmaktansa duruma göre sonuca götürecek ve en az maliyet getirecek (geliştirme, bakım, cihaz maliyetinden bahsediyorum) olanını tercih ederim. Javacıların neden gizliden .NET çalıştıklarını anlamıyorum. .NET ile çalışmak veya .NET'e geçmek bir ingiliz'in amerikada yaşamaya başlaması gibi birşey. .NET neredeyse eşittir Java'dır. Üstelik ben şunu iddia ediyorum ki: En iyi .NET'çiler Java'cılar dan çıkar! Ben de bizzat .NET'i kendi makineme kurdum. HelloWorld'ümü de yaptım. Önümüzdeki günlerde .NET'e biraz daha vakit ayırmak istiyorum.

Godoro : Bildiğiniz gibi artık üstünlüğü tartışılmaz teknolojilerden biri de XML. Gerek Java gerek .NET XML'i destekliyor, diğer diller de hiç geri kalmıyorlar. Sizin XML'e dayalı web uygulamaları ve altayapılarında uzman olduğunuzu biliyoruz. Yani siz XML'i sadece zorunlu olduğu yerlerde kullananlardan değil, bütün yönünü XML'e göre çizenlerden birisiniz. XML'in geleceğini nasıl görüyorsunuz? Sizce XML, gelecekte şu andaki kullanımından daha ileri bir kullanım oranına sahip olacak mı? XML her yerde her şeyde kullanılan bir teknoloji mi olacak?

Yusuf Boyacigil : XML'in gün geçtikçe daha fazla ve hatta hiç düşünmediğimiz alanlarda kullanılacağını düşünüyorum. XML, farklı uygulamaların (farklı platformlarda koşan veya farklı dillerde yazılmış) birbirleri ile karşılıklı veri değişimini harika bir şekilde çözdü. Bana göre XML en çok burada işe yaradı. Çünkü XML hem veriyi hem de onun nasıl yapılandırıldığını içerisinde barındırıyor. Standart XML kütüphanesi ile alınan ve gönderilen XML formatlı verileri işlemek çok kolay. Bu yazılımcıları her seferinde farklı bir çözüm üretmek derdinden kurtarır gibi aynı zamanda yazılımın XML ile kolayca diğer sistemlerle entegre olabilmesini sağlar. Yazılımın maliyetini de oldukça düşürür. XML aynı zamanda dağıtık bilgisayar sistemlerinde farklı makinalar üzerinde koşan modüllerin birbirleri ile ortak ve uyumlu çalışmalarını mümkün kılan bir teknoloji haline geldi. Bunun en belirgin örneği bugünlerde sıkça ismini duyduğumuz web servisleridir. XML, CORBA ve RMI gibi dağıtık programlama protokollerinin yerini alacak gibi görünüyor. Ayrıca web yayıncıları için XML, XSL ile birlikte içerik sunumunda veriyi ve onun nasıl görüntüleceğini ayırması bakımından devrim yarattı. Bildiğim kadarıyla siz de godoro.com'da sitenin tüm içeriğini XML olarak hazırlayıp XSL kullanarak HTML sayfaları oluşturuyorsunuz. Bu, veriyi yada içeriği hazırlayacak kişiler ile onları kullanarak siteyi hazırlayan tasarımcıların görevlerini net bir şekilde ayırıyor. Böylece herkes kendi işini verimli bir şekilde yapabiliyor. Ayrıca yazarların da HTML bilmesi gerekmiyor. Bunların dışında XML word, pdf gibi herbiri ayrı formatlarda saklanan dosya türlerinde kullanılan ortak bir format olabilir. Bildiğim kadarıyla pdf artık dosyaları XML olarak saklanacakmış. Bu dosyanın basit bir text editör ile bile hazırlanmasını mümkün kılabildiği gibi aynı zamanda programla pdf dosyası üretmeyi çok basitleştirecek bir şey. Son olarak görünen o ki az önce bahsettiğim alanlar dışında XML her yerde kullanılacak bir teknoloji olacaktır.

Godoro : Son sorum da Extreme Programming hakkında. Sizin bu konuda Türkiye'deki en deneyimli uzmanlardan bir olduğunuzu biliyoruz. Arama motorları türkçe Extreme Programming arayınca sizin yazılarınızı getiriyor. XP'nin yeni ve gittikçe yaygınlaşan bir teknik olduğu aşikar. Sizce ülkemiz koşullarında geliştiriciler bu yeni teknikle geliştime yapmaya yönelmeli mi gerekir? Yoksa daha çok mu erken? Yoksa aksine ülkemiz koşulları bu tekniğin yayılması için daha mı uygun?

Yusuf Boyacigil : Sadece ülkemizde değil yazılım işi ile uğraşan herkesin (nerede yaşıyorsa) Extreme Programming (XP) e bir göz atmaları lazım. XP bir takım prensibler bütünü ve acı deneyimlerin sonucunda ortaya çıkmış ve yazılım geliştirenlere doğru yolu gösteren ögütlerden oluşuyor aslında. Ben XP'nin Türkiye'de yazılımcılar tarafından okunması ve doğru şekilde anlaşıldıktan sonra kullanılmasına taraf biriyim ve bu anlayışı da yazılarımla yaymaya çalışıyorum. Biz Türkler için son bir şey daha söylemem gerekirse, bizler belki biraz fazla pratik düşünen insanlarız. Hemen sonuca ulaşmak isteriz. XP'nin prensipleri de yazılımı hemen sonuca götürecek öğütler içeriyor. Bu anlamda sanırım bizim yapımıza oldukça uygun bir teknik ve hızla yayılır Türkiye'de.

Godoro : Bizimle görüşmeyi kabul ettiğiniz teşekkür ederiz. Godoro.com okurlarını fikirlerinizden yararlandırdınız. Ülkemizin sizin gibi yenilikçi düşünceli insanlara ihtiyacı var. Yüksek teknolojilerin ülkemizide yayılması için gösterdiğiniz çabaların devamını diliyoruz.

İçindekilerGirişİndex
YukarıİlkÖnceki YokSonrakiSon
Geriİleri
Yazdır