Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

26 Ağustos '08

 
Kategori
Yazılım
 

Delphi 2007 kitabım nasıl bir kitaptır?

Biraz tarih: 1995 yılının sonları; daha önce Visual Basic hakkında kitap yazmış birisi olarak görsel programlamaya yatkındım ve görsel program geliştirme araçlarını anlatma konusunda hazırlığım vardı. Çünkü Visual Basic’in TextBox’ı ile Delphi’nin Edit’i benzer işlev ve özelliklere sahip oldukları için fazla yabancılık çekmeyeceğimi düşünmüştüm. Ötesi, o günlerde Pascal uzmanı olmasam bile Pascal diline yabancı değilim.

Neyse uzatmayalım; 7-8 aylık yoğun bir çalışmanın sonucu Delphi kitabını hazırladım. Daha sonra bu Delphi kitabına eklemeler yaptım. En son Ezel Balkan adıyla yayınladığım Delphi 7 kitabı 920 sayfa olup potansiyel okurların beklentilerinin büyük bir kısmını karşılayacak bir içeriğe sahipti. Açıkça belirtmek gerekirse 2006 yılı ortalarında elimde okurlardan ilgi gördüğü için 3 baskı yapan 920 sayfalık kitap varken tam 10 ay boyunca Delphi üzerinde çalışıp Delphi 2007 for Win32 kitabını yazdım. Bundan şu sonucu çıkarabilirsiniz: Ezel Balkan adıyla yayınladığım 920 sayfalık Delphi kitabımla burada sözünü ettiğim kitap arasında dağlar kadar fark var.

Delphi 2007 kitabını ilk yazmaya başladığım sırada normal çalışma tempomla 3 aylık bir sürenin yeterli olacağını düşünüyordum. Açıkça yazmak gerekirse, elimde 920 sayfalık Delphi 7 kitabı vardı; düzey yükseltme adına bazı konuları kitaptan çıkarıp yernilerini ekleyecektim. Böylece Delphi 2007 kitabı yaklaşık 950 sayfa olacaktı. Hesaplarıma göre son Delphi kitabıma 100 sayfa eklersem eksikliklerini büyük oranda gidermiş olacaktım ve bu kitap en kapsamlı Türkçe Delphi kitabı olabilecekti. Başka bir deyişle ilgi gören son Delphi kitabımdan 70 sayfa çıkarıp yerine 100 sayfa ekleyecektim.

Bazı sayfaları madem çıkaracaktın da neden 3 yıl önce bu sayfaları kitaba ekledin diye soranlar olabilir? Bu soruya Delphi.NET kitabımdan örnek vererek anlatacağım: Delphi.NET kitabımda Transaction’lar hakkında bilgi verirken önce SQL Server 2000 ile gelen Interprise Manager’dan yararlanıp 2 basit Stored Procedure hazırlayıp işlettim. Sonra bunları Transaction bloğuna alıp işlettim. İstedim ki SQL Server dahilinde Transaction’leri kullanmamış olanlar konuya kolayca adapte olsunlar. Bu durumda SQL Server ve Transaction’lar hakkında ortalama düzeyde bilgisi olanlar için kitabın sayfa sayısı 3 sayfa boşuna artmış oldu. Ancak SQL Server konusunda ortalama düzeyde bilgisi olmayanların Delphi projesi dahilinde Transation’lerin nasıl kullanıldığını anlamalarını garanti etmiş oldum. İşte kitabın sayfa sayısını azaltma bu gibi konularda oluyor. Örneğin potansiyel okurların çoğunluğunun artık Paradox veritabanları hakkında bilgiye ihtiyacı yoktur deyip kitabın Paradox veritabanları hakkında bilgi içeren sayfalarını azaltırsınız.

Neyse konudan uzaklaşmayayım: Başlangıçta 920 sayfalık Delphi 7 kitabının 850 sayfasını yeni kitabımda kullanmayı düşünürken “Memik YANIK hep başlangıç düzeyi kitaplar yazar, yeni başladıysan önerebilirim, ancak Memik YANIK kitapları yeterli değildir” şeklindeki yaygın eleştiriden sanırım etkilendim ki elimdeki kitabın 850 sayfasını yeni kitapta kullanmayı düşünürken bir de baktım kitabın düzeyini yükseltme adına neredeyse her şeyi yeni baştan yazmışım.

Şimdi yukarıda kısaca özetlediğim Memik YANIK kitaplarının yeni başlayanlar için uygun olduğu şeklindeki genel inanışa biraz değinmek istiyorum. Konumuz Delphi olsun: Delphi’yi öğrenip program yazmaya karar verdiniz. Yani henüz yolun başındasınız. Bu durumda edindiğiniz kitabın en önemli işlevi sizi cesaretlendirmesi ve hevesinizi kırmamasıdır. Çünkü öğrenme isteği ve çalışma azmi kimsede sonsuz değildir. Bu nedenle metni öyle kaleme almalıyım ki okur okumakta zorlanmamalı, yazdığımı anlaması için başka kaynaklara başvurma ihtiyacı duymamalıdır. Örneğin birkaç gün önce C# kitabımı yazarken Access veritabanlarında kullanıcılar için parola tanımlama ve mevcut kullanıcının parolasını C# uygulaması dahilinde isteme gibi konulara örnek verirken yazdıklarımın havada kaldığını fark ettim. Çünkü bu konulara programcılık kitaplarında yer verilmezken Access kitaplarında ise olaya programcı gözü ile bakılmıyordu.

Bunu fark edince bendeki mevcut kitaplara baktım. Birisi Microsoft Press’ten çıkmış 1000 sayfalık kapsamlı kitap olmakla birlikte diğer 3 kitapta yazılanlar yanlış olmamakla birlikte hiç biri Access veritabanı kullanan programcının güvenlikle ilgili olarak gerek duyacağı bilgileri içermiyordu. Ayrıca yazılanları anlamak kolay değildi. Kitabın birisinde yazar açıklama yapmadan okuru ikna etmeden direk Wizard hakkında bilgi veriyordu. Ben ne mi yaptım? Önce okuru karşılaşacağı muhtemel sorunlar hakkında bilgilendirdim. Devamında onu ikna ettim. Sıra Wizard’a geldiğinden okur ne yapacağını zaten biliyordu. Şimdi sorayım: ne yazdığı belli olmayan kolay okunmayan kitap ileri düzey oluyordu da konunun ilk okumada anlaşılması için başka yazarların 3 sayfada anlattıklarını 4 sayfada anlatan Memik Yanık’ın kitabı neden başlangıç düzeyi oluyor? Kişisel görüşüme göre bir kitapta yazılanlar zor anlaşılıyorsa ya okur yanlış bir kitap seçmiştir ya da kitap kötü kaleme alınmıştır.

Programcılıkta belli bir noktaya gelmiş olanlar kitaplar hakkında konuştuklarında ister istemez kendi pencerelerinden bakarak değerlendirme yapıyorlar. Hal bu ki kendisinin programcılık kitabından öğreneceği çok az şey kalmıştır. Olur ya zamanında gerek duymadığı için ilgilenmediği bir konuyu sonradan merak ettiğinde elindeki kitaba bakar. Başka bir deyişle artık neyin ne olduğunu, neyin ne işe yaradığını biliyordur. Olsa olsa bilmediği veya unuttuğu işlemin “nasıl yapılacağıdır”. Hal bu ki yeni başlayan veya o programlama dilinden henüz ekmeğini çıkarmayan kişi neyin ne işe yaradığını henüz bilmiyordur. Bu nedenle ona konuları adım adım anlatmak gerek. Tabii konular adım adım anlatılınca ister istemez sayfa sayısı artıyor.

Bu görüşe bir de örnek verelim: Konu Delphi’de interface’ler olsun. Usta programcımız interface’lerin ne olduğunu ne işe yaradıklarını biliyordur da gerek duymadığı için Delphi’de nasıl hazırlandığını bilmiyordur veya unutmuştur. Usta programcımız kitaptan bu konuyu öğrenmek istediğinde işin hikaye kısmından haklı olarak hemen sıkılır. Çünkü interface’lerin ne olduğunu ne işe yaradığını zaten biliyordur. Ne ki bir yazar olarak interface’leri anlatmaya başlamadan ön bilgi vermeyi tercih ederim. Ön bilgi verilmeden hemen asıl konuya geçilirse Interface’lerin nasıl hazırlanıp kullanıldığı öğrenilse bile temeli bilinmediği için kısa sürede unutulur. Bu açıdan Delphi 2007 kitabıma baktığımda hiçbir konunun üzerinin örtülüp ezbere anlatılmadığını, her konunun nedenleri ile derinlemesine incelendiğini rahatlıkla söyleyebilirim.

Çok sayıda forum sitesinde Delphi ile ilgili olarak daha önce sorulmuş ve cevaplanmış binlerce soru vardır, yayınlanmış yüzlerce makale vardır. Bu şartlarda kalkıp Memik Yanık’ın 1100 sayfalık Delphi kitabına 49 YTL ödemek caiz midir? Delphi’ye merak sarsaydınız bu kitaba 49 YTL öder miydiniz? Bazı arkadaşlar bu soruya hayır diye cevap vereceklerdir. Çünkü merak ettiği konuları forumlara soracağını, Delphi hakkında sitelerde yüzlerce makalenin olduğunu, hatta yerli yabancı çok sayıda E-Book bile bulabileceğini söyleyeceklerdir.

Çok zamanınız varsa, sınırsız öğrenme isteğiniz varsa; ötesi hiç aceleniz yoksa, bir iki yıl içinde Delphi ile program yazmayı düşünmüyorsanız, öğrenciyseniz ve yakın bir zamanda geçmeniz gereken bir Delphi dersi yoksa masraf yapıp Memik YANIK’ın Delphi kitabını almanıza gerek yoktur. Ötesi ben çevirmenlerin kurduğu cümleleri iki üç kez okumaktan sıkılmam, çeviri kitapta yazılanları anlayamazsam suçu kitabın yazarı-çevirmeni yerine kendimde ararım diyorsanız 49 YTL verip Memik Yanık’ın Delphi kitabını almanıza gerek yoktur.

Tecrübe açısından orta düzeydeki bir programcının Delphi ile ilgili olarak şimdiye kadar merak edip cevabını arayıp bulduğu 100 sorunun olduğunu varsayalım. Delphi ile program yazmaya karar veren birisinin bu soruların hepsini bir veya birden fazla kitapta cevap bulması, bu soruların hepsinin cevabını okuldaki veya kurstaki hocasından alması veya gece gündüz forumlarda zaman harcayarak cevap bulması mümkün değildir. Kişisel görüşüme göre Delphi ile ilgili olarak karşılaşmanız muhtemel olan ilk 25 sorunun cevabını kitaptan almaz veya gittiğiniz kurstan bu sorulara cevap verilmezse geriye kalan 75 soruya forumlardan makalelerden cevap bulmak yıllarınızı alır. Zaten o zamana kadar da o programlama dili güncelliğini kaybeder. Memik YANIK bu kitabında Delphi ile program yazmak isteyenlerin karşılaşması muhtemel olan soruların hepsine cevap vermeyi hedeflemedi. Hedeflediği şudur: Bu kitabı okuyanlar Delphi ilgili her konuyu öğrenebilecek potansiyele sahip olsunlar istedi.

Forumlarda Delphi veya başka programlama dili konusunda henüz yolun başında olan birisi Delphi’de ustalaşmak, program yazmak istediğini yazıp nasıl bir yol izlemesi gerektiğini sorar ve kitap önerin der. Ne ki bazen Delphi konusunda belli bir düzeye gelmiş arkadaşların bazıları böyle sorulara “kitaba gerek yok, e-book’lara bak, sitelerdeki makaleleri oku, merak ettiğin konu olduğunda cevabını bulamadığın sorular olduğunda forumlara yaz” derler. Aslında söyledikleri, önerdikleri tümden yararsız ve geçersiz şeyler değildir.

Memik Yanık’ın Delphi kitabını okuyan kişi temel konulara vakıf olduğu için o konuda soru sormasını biliyordur, verilen cevapları anlıyordur. Forum yöneticileri foruma soru yazanların dertlerini net olarak yazamadıklarından, soruların açık olmadığından sürekli dert yanarlar. Soruların(Delphi konusundaki soruların diyelim) anlaşılmaz olmasının nedeni o kişinin Memik YANIK’ın Delphi kitabını okumamış olması ve o programla dili ile ilgili temel kavramlara sahip olmamasıdır. Hele hele bazıları e-book meraklısıdır. Gerekli gereksiz yüzlerce konuları içeren e-book’ları bulup biriktirirler. Sanki sınırsız zamanları var, sanki tarayıcılar gibi 3-5 saniyede bir sayfayı okuyup bir daha unutmamak üzere belleklerine kaydediyorlar. Arkadaşlar e-book’lar yararsızdır demem ancak daha önceden Memik YANIK kitabı okumadıysanız e-book’ların size katkıları sınırlı olacaktır.

Son olarak Delphi 2007 kitabım hakkında şunları söyleyebilirim: Kitabın sayfa sayısını azaltmak için yoğun çabalar göstermeme rağmen, yaklaşık 1100 sayfa olmasına rağmen bu kitapta Delphi ilgili her konuya yer verebildiğimi söyleyemem. Gerekli gördüğüm bazı eksiklikleri kaleme alıp kişisel Web sitemde yayınlayacağım. Tekrar etmek gerekirse bu kitabımın düzeyini yeteri kadar yükseltmiş olmama ve ta en başından Nesneye Yönelik Programcılık penceresinden bakarak konuları kaleme almış olmama rağmen bu kitapta yine ilk okumada anlaşılmayacak hiçbir konu yoktur.

Bu kitapta yalnızca bir veritabanına bağlı kalmadım. Eski Paradox başta olmak üzere Interbase, FireBird, Access, SQL Server ve MySQL veritabanlarını Delphi projeleri dahilinde kullanmayı denedim. Ne ki MySQL’e yeterince yer verdiğimi söyleyemem. Bu kitap bir Delphi kitabı olduğu için Delphi projeleri dahilinde erişim sağlanan her veritabanını yeteri ayrıntıda anlatmak zaten imkan dışıdır. Belki bu kitap tekrar basıldığında MySQL’e yeterince ağırlık verme imkanım olur.

Memik YANIK’ın programcılık kitaplarının ayırt edici özelliklerinden birisi okurun hevesini kırmamasıdır. Çünkü Memik YANIK teknik konular nasıl anlatıldığında, nasıl cümleler kurulduğunda okurun ilgisi dağılmaz, anlatılanları kavrar? Sorularına verilecek cevapları vardır. Eğer programcılık kitabının yazarı dönüp yazdığı metne bakıp okurlar tarafından nasıl algılanacağı konusunda kafa yormazsa ve bu konuda fikri hazırlığı yoksa yazdıkları doğru olsa bile zor anlaşılır.

Her ne kadar bu kitabın kapağında sırayla Delphi 20007 for Win32, Turbo Delphi ve Delphi 2006 olmakla birlikte Delphi 7 ve Delphi 2005 kullanıcıları da bu kitaptan yararlanabilir. Bu kitabın içeriğinin büyük bir kısmı Delphi 7 için de geçerlidir. Bir diğer konu şudur: Borland’ın C++ Builder derleyicisini kullanarak C++ hakkında bilgi sahibi olduysanız C++ Builder ile gelen görsel kitaplık ve kontroller hakkında(özellikle veritabanı işlemleri) bilgi edinmek isteyenler bu kitaptan belli oranda yararlanabilirsiniz.

Bu metni niye mi kaleme aldım: Çünkü Türkiye’de kimse zahmet edip programcılık kitapları üzerine bir şey yazmıyor. Bu nedenle iş başa düştü ve kendi kitabım hakkında yazmak istedim. “Kitabın hakkında yazarken objektif olabildin mi?” diye soranlara “elbette” diye cevap veririm.

 
Toplam blog
: 21
: 849
Kayıt tarihi
: 02.08.08
 
 

1992 yılından başlayarak bilgisayar ve programcılık üzerine dergilerinde çok sayıda makale yayınladı..