:: FARK EDÝLMEYEN EFSANE DÝL “OBJECT PASCAL” ::
{ BÝRAZ MAZÝ, PASCAL'IN ALT YAPISI VE GÜCÜ }
Sanýrým
yazým için ilginç bir baþlýk: "Fark edilmeyen efsane dil". Açýkçasý
böyle bir baþlýk atmamdaki amaç, bu dilin hakettiði konumda olmamasý ve
bundan duyduðum derin üzüntüdür. Sizlere "Object
Pascal" dilinin güzellikleriyle beraber bu dili kullanan araç ve derleyicileri tanýtacaðým ilginç bir yazý ele almak istedim.
Pascal'ýn tarihçesinden falan baþlamak istemiyorum. Bu yazýyý okuyan herkesin bunlarý bildiðini farzederek yazýyý ele alýyorum.
Birçok
kiþi algoritma geliþtirme konusunda aslýnda dilin fazla bir öneminin
olmadýðý, kurgu ve mantýðýn hazýrlanmasýndan sonra bunun herhangi bir
dille rahatlýkla kodlanabileceðini söylemeleri bir noktada doðru olsa
da kullanýlacak dil de önem arz eder. Neden mi? Rahatlýk, kolaylýk,
okunabilirlik, taþýnabilirlik, makinaya hakimiyet... diye uzayýp
gidebilir liste.
Önceleri yapýsal programlama ile bir devrim
baþlamýþ ve daha rahat kod yazýlabilir ve proje geliþtirilebilir
olmuþtu. Bu teknikleri adam akýllý kullanan iki dil vardý piyasada "C
ve Pascal". Ýkisinin de güçleri orantýlýydý o zamanlar.(modülerlik ve
fonksiyonerlik açýsýndan) Tabi C dilinin makinaya daha yakýn oluþu ve
sistem programlama için geliþtirilmesinden ötürü daha elit kesimce
bolca kullanýlmaya baþlanýldý. Bundan önce iþletim sistemi yazýmlarýnda
pascal da kullanýlýyordu. Meselâ ilk Macintosh iþletim sisteminin çoðu
TEX Pascal ile yazýlmýþtýr. (bkz
http://en.wikipedia.org/wiki/Pascal_programming_language)
Pascal ve C dilleri yaklaþýk ayný zamanlarda geliþtirilmiþlerdir ve
aralarýnda önemli benzerlikler vardýr. Orijinal Pascal ile C'nin ikisi
de yapýsal programlama fikrini gerçekleþtiren küçük ve prosedürel
dillerdir. Ýkisinde de dinamik bellek ayýrma ve iþaretçi iþleme (Ýng.
pointer manipulation) mümkündür. Ancak, bu iki dil dýþarýdan
bakýldýðýnda farklý görünürler (C programlarý genelde Pascal
programlarýndan kýsadýr).
Tartýþma yaratan farklýlýklardan bir tanesi, Pascal'ýn atama için
:= ve karþýlaþtýrma için
= imlerini kullanmasýdýr. Matematikte
= imi her iki amaç için de kullanýldýðýndan, programcýlar bazen yanlýþlýkla
Pascal'da
:=, C'de ise
== kastedildiði halde daha kýsa olan
=
imini kullanýrlar. C'nin tasarýmcýlarý atama iþleminin karþýlaþtýrma
iþleminden daha sýk kullanýldýðýný, dolayýsýyla kýsa olan imin atama
iþlemi için kullanýlmasý gerektiðini savunurlar. Pascal'ýn savunucularý
ise, yanlýþlýkla atama yapmanýn yanlýþlýkla karþýlaþtýrma yapmaktan çok
daha tehlikeli olduðunu savunurlar. Bu savunma, eðer, C'de olduðu gibi,
bir if ifadesi içinde atama yapýlabiliyorsa, kesinlikle doðrudur.
Bu
tartýþma, iki dilin tasarým mantýklarý arasýndaki farka iþaret eder.
Pascal, en azýndan kýsmi olarak, bir eðitim dili þeklinde
tasarlanmýþtýr. Yanlýþlýklara yol açabilecek sözdizimi yapýlarýndan
kaçýnýlmýþ, sözdiziminin anlaþýlmasý kolay olmasýna dikkat edilmiþtir.
C'nin tasarýmcýlarý ise dili, programlarýn kýsa olmasý için
tasarlamýþlardýr.Bu iki dil arasýndanki baþka bir fark da, Pascal'ýn
"strongly typed" olmasýdýr. Yani, bir deðiþken kullanýlmadan önce
belirli bir tipe sahip olmak üzere tanýmlanmalýdýr ve faklý tiplerden
iki deðiþken birbirlerine atanamazlar. Bu sýnýrlama pek çok programlama
yanlýþýný önler. C'nin tersine, Pascal'da içiçe fonksiyon tanýmlamak
mümkündür.
Buradan da anlaþýlacaðý gibi geliþtirilen dillerin de
kendince bazý bakýþ açýlarý ve amaçlarý vardýr. Pascal dilindeki amaç,
okunabilirliðin kolay olmasý ve daha rahat ve temiz kod yazýmýna izin
vermesidir. Bunlar Pascal dilinin bakýþ açýsý ve dil görüþüdür.
1980'lerde
ve 1990'larýn baþýndaki kadar olmasa da hala popüler olan Pascal, yine
de "ciddi" programlama için uygun olmadýðý ve yalnýzca eðitim için
kullanýlabileceði savýyla eleþtirilmiþtir. C'nin
yaratýcýlarýndan olan Brian Kernighan, 1981'de yazdýðý makalesi Why Pascal Is Not My Favorite Programming Language (bkz
http://www.lysator.liu.se/c/bwk-on-pascal.html)
(Pascal Niçin Benim En Sevdiðim Dil Deðildir) ile bu eleþtirileri
özetlemiþtir. Öte yandan, 1980'lerde Apple Lisa ve Macintosh gibi büyük
projeler Pascal'a dayanýyorlardý. Aradan geçen zaman içinde, Pascal
geliþmeyi
sürdürmüþ ve bu sayede Kernighan'ýn eleþtirileri artýk modern Pascal versiyonlarý için geçerli olmaktan çýkmýþtýr.
Yeterli
bilgiye sahip olmayan pek çok kimse bugün hala bu eleþtirilerin geçerli
olduðunu düþünmektedir. Pascal üzerindeki bu haksýz damga, bugün
Pascal'ýn önündeki belki de en büyük
sorundur.
Zaman geçtikçe
projeler için yazýlan kodlarda arttý. Artýk daha fazla kod yazýlýyordu
ve böyle büyük projelerin içinde boðulmak ciddi bir sorundu. Bu yüzden
programlama için farklý bir felsefe arz eden
Object Oriented Programming Türkçesi,
Nesneye Yönelimli Programlama(NYP) fikri geliþtirildi. 1995'ten sonra Microsoft'un çýkarttýðý
Visual(Görsel) dil olan
Visual Basic ile bu yaklaþýmda
yaygýnlaþmaya baþladý.
Diller
de artýk yazýlýmcýlarýn ihtiyaçlarýný karþýlamak için yeni üretilen
teknikleri bünyesine katarak geliþimlerine devam ediyorlardý. Bunun
sonucu C -> C++, Pascal -> Object Pascal adlarýyla geliþimlerini
sürdürmeye baþladýlar ve bunlarýn yanýnda C# gibi %100 nesne yönelimli
programlama dilleri de çýktý.
Borland firmasý 1995 yýlýnda
efsane Turbo Pascal'ýn Win32 platformlu görsel uygulamasýný hazýrlamaya
koyuldu. Ýlk baþta proje adý Visual Pascal'dý. Daha sonra projenin kod
adý olan Delphi adý ile deðiþtirildi. Delphi 1.0'da firma güzel bir iþ
çýkartmýþtý. Delphi, Pascal dilini temel alan görsel bir RAD aracýydý.
Sonralarý Borland, daha geniþ bir nesne yönelim desteði istediðine
karar verip, Apple'ýn önerdiði (hala bir standart olmayan) Object
Pascal taslaðýný kullanarak Delphi'yi geliþtirmeye baþladý.
Borland
da baþta bu dili Delphi'de Object Pascal olarak adlandýrdýysa da,
sonradan dilin adýný da Delphi olarak deðiþtirdi. Pascal'ýn bu
'lehçesini' destekleyen baþka derleyiciler de vardýr. Az sonra
bunlarada deðineceðim.
(Günümüzde
Microsoft 'un gelecek vaadeden C# dilinin baþ mimarý Anders Hejlsberg
ayný zamanda 80 'li yýllarda büyük baþarý saðlayan Turbo Pascal
derleyicisini yazan ve Delphi projesi baþ mimarý olan bir programlama
dehasýdýr. 13 yýl Borland'da çalýþmýþ ve 1996 yýlýnda Microsoft'a
geçmiþtir.)
Pascal ve C dilleri genel amaçlý dillerdir bu yüzden
her tür proje ve algoritma geliþtirmeye müsaittirler. Ýster bu yapay
zekâ uygulamlarý olsun, ister ticarî programlar, isterse de kiþisel
programlar. Bu dillerle
saydýklarým çok rahat yapýlabilir. Yalnýz az
önce de deðindiðim gibi her dilin bir bakýþ açýsý ve amacý olduðundan
farklý amaçlara yönelikte daha farklý diller geliþtirmeye devam
ediliyor.(Lisp, Prolog... gibi)
{ NEDEN OBJECT PASCAL ? }
Bunun için bir çok neden var. Þimdi bunlarý sýralayalým:
1-
Disiplinli ve kurallý bir dil olmasý: Pascal dili, programcýyý belli
bir disiplin içinde kod yazmaya sevk eder. Bu durum hem hata takibini
kolaylaþtýrýr hem de okunaklýðý artýrýr. Meselâ kullanýlacak
deðiþkenlerin önceden belli bir blokta tanýmlanmasýný istemesi gibi. Bu
noktada diðer dillerden ayrýlýr. Basic dilinden Pascal'a geçenlerin
zorlanmasýnýn da temel nedeni budur. Çünkü Basic dili çok daha
özgür
ve kuralsýz bir dildir. Deðiþken tanýmlama yapmadan kod yazýmýna izin
vermektedir. Aslýnda bu çok kötüdür. Kodlamanýn sayýsý arttýkça
karýþtýrmalarda bunla orantýlý artacaktýr. Kod takibi zor
olacaktýr.
2-
Prosedürel ve Fonksiyonel bir dil olmasý: Yapýsal programlamayý içinde
barýndýrmasý. Bunu takiben bir baþka güzelliði de Pascal dilinin
prosüdür ve fonksiyonun bariz bir þekilde belirtilmesidir ve fonksiyon
içinde fonksiyon tanýmlayabilme özelliðinin bulunmasý. Bunlar C ve
Basic'de böyle deðildir.
3- Sembolikten ziyade
okunabilirliðe önem vermesi: C dili daha sembolik bir dil olduðundan
Pascal'a nazaran daha az kod yazýlabilir; ama bu anlaþýlmayý ve
okunabilirliði zorlaþtýrmaktadýr. Pascal
dilinin felsefesi buna
aykýrýdýr. Günlük konuþma diline yakýn bir dille kod yazýmýný
savunmaktadýr. Buna örnek olarak C'deki “{“ iþaretinin Pascal'da
“begin”, “}” iþareti de “end” e karþýlýk gelmesi gibi.
4-
Hata takibinin kolay olmasý: Diðer dillere nazaran Pascal'da hata
takibi daha kolaydýr. Bu da dilin felsefesinden kaynaklanmaktadýr.
5-
Genel amaçlý bir dil olmasý: Pascal yüksek seviyeli bir dil olmasýna
raðmen içinde assembly kodlarýnýn yazýlmasýna da imkan tanýmaktadýr. Bu
tür özellikleriyle çok amaçlý bir dil de olduðunu
söyleyebiliriz.
Meselâ en son Delphi derleyicisi Intel x86 komut setlerini tam olarak
desteklemekle beraber Intel Pentium® Pro, Pentium III, Pentium 4, Intel
MMX,. SIMD, Streaming SIMD Extensions, SSE, SSE2, and SSE3, and AMD®
3DNow! 32 bit inline assembler komut setlerini desteklemektedir.
6-
Modüler olmasý: Pascal'da uzun kodlar için “unit”ler oluþturularak daha
düzenli kodlar yazýlabilmektedir. Program içinde bu unitlerin kullanýmý
için de “uses” ifadesinden sonra kullanýlacak uniti yazmak yeterlidir.
Böylece uzun projeleri böl-parçala mantýðý ile daha düzenli ve çoklu
geliþtirmeye müsait hale getirilebilmektedir.
7-
Geniþ nesne yönelimli programlama desteði: Turbo Pascal 5.5 ile kýsmi
olarak kullanýlan NYP tekniði 1995 yýlýndan sonra Borland'ýn, Apple'ýn
önerdiði (hala bir standart olmayan) Object Pascal taslaðýný kullanarak
Delphi'yi geliþtirmeye baþladý ve çok geliþmiþ bir dil haline getirdi.
Delphi'deki NYP'nin diðer dillerle kýyaslanmasý için (bkz þekil 1)
Þekil-1
Resimde de görülmek üzere OOP(NYP) tekniðini en üst düzeyde kullanan dil Delphi'dir.
(Kaynak: Delphi in a Nutshell- Ray LISCHNER)
Hatta Borland, Object Pascal'daki NYP ile yazdýðý
Visual Component Library (VCL) adýnda bir alt yapý geliþtirerek bunu Delphi'ye entegre etti. Þu anda .NET için kullanýlan komponent tabanlý diller (C#)
gibi Delphi'den alýntýdýr.
8-
Dilin tip bakýmýndan zengin olmasý: Pascal strongly typed türü bir
dildir. Kullanýlacak deðiþkenlerin önceden tipleri belirlenmelidir.
Belirlenecek tipler bakýmýndan da oldukça zengindir. Bu tipler: “char,
pchar, variant, string, ansistring, widestring, smallint, integer,
word, byte, real, double, comp, int64, cardinal, longword, real48,
extended, single, currency, boolean” dýr. Bunu göz önüne aldýðýmýzda
diller arasýnda tip bakýmýndan en zengin dil Object Pascal'dýr. Bu
noktada Basic dili baðayý bir vasat durum çizer. Çünkü bu dilde tip
kavramý yoktur. Program içinde baðýmsýz deðiþkenler kullanýlabilir,
böylece Basic dilinde yazýlmýþ programlarýn deðiþken tipleri, çalýþma
zamanýnda tespit edilir. Bu da hýz bakýmýndan yavaþlýk, kod bakýmýndan
düzensizlik, hafýza bakýmýndan da gereksizlik demektir. Çünkü Object
Pascal'da
“Var
sayac: Word;”
ifadesi ile sayac deðiþkeni için hafýzadan “0..255” karakterlik yer ayýrdýðýmýzý önceden belirtiriz. Bu durum Basic dilinde
for sayac=1 to 10
print sayac
Þeklinde
tipi belirtilmeden kullanýldýðýndan çalýþma anýnda belirlenir ve
hafýzadan ne kadar yer ayrýlacaðý da muammalý bir durumdur.
9-
Diðer dillerdeki güzellikleri bünyesine katmasý: Pascal dili Niklaus
Wirth'ten bu yana epey bir yol kat ederek günümüze çok geliþmiþ bir dil
olarak gelmiþtir. Bunda Borland firmasýnýn payý çok fazladýr.
Object
Pascal(Delphi) adý ile birçok yeni teknikleri bünyesine katan Borland,
diðer dillerdeki güzel özellikleri de Pascal'a taþýmýþtýr. En son
Delphi 9(Delphi 2005) ile gelen “for...in....do” sözdizimi gibi.
{ GÜNÜMÜZ VE GELECEKTE OBJECT PASCAL'IN DURUMU }Günümüz açýsýndan adam akýllý Object Pascal'ýn geliþimi 2 taraflýdýr.
Birincisi
”Free Pascal” adýnda bir grup tarafýndan geliþtirilen çok platformlu
Pascal derleyicisi. Bu grup Borland'ýn dile kazandýrdýðý standartlarý
örnek alarak Delphi'ye uyumlu derleyici geliþtirmektedir.
IDE
olarakta baþka bir grubun geliþtirdiði “Lazarus Projesi” vardýr. Free
Pascal, Lazarus IDE'sini kullanýr. Delphi'nin VCL'sini kendine örnek
alarak Delphi ile uyumlu geliþtirilmektedir. Delphi'deki bazý
kodlarý
hiç deðiþiklik yapmadan Free Pascal ile derlenebilir. Free Pascal,
Win32-FreeBSD-Linux- MacOsX platformlarýnda çalýþmaktadýr.(Ayrýntýlý
bilgi için bkz
http://www.elektronist.com/linux/programlama/lazarus/lazarus.html ,
http://www.linuxfocus.org/Turkce/November2004/article356.shtml ,
http://www.lazarus.freepascal.org/modules.php?op=modload&name=Screenshots&file=indexadreslerine
bakabilirsiniz.) Lazarus gerçekten component tabanlý bir IDE'dir ve
Free Pascal derleyicisini kullanýr. En son verdiðim baðlantý adresinden
Lazarus'un ekran görüntülerine bakabilirsiniz. Açýk
kaynak kodlu geliþtirilmiþ olduðundan katkýda bulunmak isterseniz
http://lazarus.sourceforge.netadresine uðrayýn.
LAZARUS'A GENEL BAKIÞ
Lazarus'un Win32 IDE'sinden bir görünüm. Delphi'yle neredeyse her þeyiyle birebir.(kýsayol tuþlarý da).
Lazarus IDE'si:
Delphi
model alýnarak geliþtirildiðinden hemen hemen tüm özellikleriyle
benzerlik göstermekte. Bu yüzden Delphi IDE'sini kullananlar Lazarus'u
seveceklerdir. Yalnýz code insight teknolojisi henüz Lazarus'ta yok.
Kodlarý yazarken otomatik tamamlayan sistem þimdilik Lazarus'ta mevcut
deðil.
Component(birleþen) tabanlý bir IDE'ye sahip olmasý da
fevkalade güzel; ama Delphi'deki zengin birleþenleri Lazarus'ta
göremeyeceksiniz. Nede olsa geliþtirilmekte olan bir IDE. Kullandýðým
Lazarus IDE'si sürümü 0.9.2 BETA idi. Beta oluþundan muhtemel hatalarla
karþýlaþmanýz doðal. Çünkü daha kararsýz bir sürüm. IDE kýsayol tuþlarý
da Delphi ile birebir ayný. Alt tuþuna basarak fonksiyonun üzerine
gelip fare ile týklanýldýðýnda o fonksiyonun tanýmlandýðý modüle
gitmesi buna en güzel örneklerden biri. Yalnýz þunuda eklemek istiyorum
ki çok hýzlý geliþtirilen bir proje. Her hafta site düzenli
güncellenerek eklenenler ve düzeltilenler kullanýcýlara duyrulmakta.
Lazarus Derleyicisi:
Lazarus
Gpl açýk lisansý ile geliþtirilmekte olan bir tümleþik geliþtirme
ortamý(IDE)'dir. Derleyici olarakta yine açýk lisanslý olan Free Pascal
derleyicisini kullanýr. Alt yapýsýnda iþleyen derleme sistemi Free
Pascal
ekibine aittir. Free Pascal, sadece derleyici olarak geliþtirilmekte
olup, kendine has IDE'si yoktur. Bu yüzden Lazarus projesi
geliþtirilerek birlikte kullanýlmaktadýr.
Grubun hedefi,
Delphi'nin daha iyisini yapmak. Çünkü derleyici Win32, FreeBSD, Linux,
MacOSX platformlarý için derleme yapabilmekte. Lazarus Free Pascal
derleyicisi Delphi'den hýzlý deðil, fakat çok yavaþta deðil. Geliþim
evresinde olan bir program için normal hýzlarda derlemekte.
Optimisazyonda
ilk ayarlar yapýlmadýðý takdirde sadece bir form yapsanýz dahi 5 mb
olmakta. Bunun için compiler options kýsmýndan þekil-2'deki þekliyle
ayarlarý düzenleyin. Böylece dosya boyutu 1.5
mb kadar inmekte ve tam bir win32 platformlu bir exe oluþmaktadýr.
Optimizasyon
konusunda grubun biraz daha çalýþmasý gerek. Delphi de sadece bir form
derlenerek yapýlsa 300 KB bir exe oluþmakta. Bu Lazarus'ta 1.5 mb
boyutlarýnda. Yalnýz ASPack veya UPX gibi
packlar kullansanýz bu 1.5 mb, 400 KB'a kadar inmekte.
Þekil-2
Lazarus Programlama Dili:
Free
Pascal'ý kullanmaktadýr demiþtim. Free Pascal'da Delphi'nin
geliþtirdiði Object PASCAL standartlarýyla uyumlu hazýrlanmaktadýr. Bu
uyumun hedefi %100'dür. VCL hiyerarþisi dahi Delphi'den
örnek
alýnarak LCL hiyerarþisi geliþtirilmiþtir. Bunun sonucunda bazý kodlarý
hiç deðiþiklik yapmadan Lazarus'la derleyebiliyorsunuz. Ben denedim.
1300 küsür satýrlýk classlarýn bulunduðu bir modülü
sorunsuz
derledi. Burada class demiþken, Delphi'nin object oriented mantýðý ile
tam uyum içinde. Tüm Delphi deki NYP teknikleri Lazarus'ta da geçerli.
Delphi formlarýnýn içerik bilgileri olan dfm'leri dahi lmf'ye
dönüþtürebilmektesiniz. Uyum bu kadar yüksek. RunTime Library(Çalýþma
Zamaný Kütüphanesi) içerisindeki prosüdür ve fonksiyonlarýn Delphi'deki
adlarýyla birlikte kullanýmda olmalarý bile insaný keyiflendiriyor.
Delphi – Lazarus Karþýlaþtýrmasý:
Aslýnda
adil bir karþýlaþtýrma olmayacaðýndan sadece bir örnekle iþi özetlemek
istiyorum. Lazarus'ta bir adet “memo1” birleþeni ile “button1”
birleþeni koyuyoruz form üzerine. Button1'e çift týklayarak
þunlarý yazýyorum:
memo1.lines.loadfromfile('parser.pas'); //siz istediðiniz text dosya adýný yazýn.
Programý
çalýþtýrýyorum. (Parser.pas dosyasý 40 kb boyutunda bir text dosyasý)
Butona bastýðýmda 6 saniyede bu dosyayý memo1 içine aktardý; ama
program bu ekleme sýrasýnda epey hantallaþtý. Ayný iþi
Delphi ile
denedim. Sonuç felaket hýzlý. 1 saniye bile sürmedi. Borland'ýn yazdýðý
assemblyler fark atýyor. Bu noktada biraz daha ilerlemesi gerek
kanaatindeyim; ama þu da unutulmamalýdýr ki Free
Pascal derleyicisi çok platformlu bir derleyicidir. En büyük özelliði de bu olsa gerek.
Ýkincisi
“Borland” firmasýnýn geliþtirdiði Object Pascal'dýr. Artýk bu dili
Delphi diye adlandýrmakta. 1983'ten bu yana dili geliþtirmektedir.
Borland firmasýnýn %10'unu Microsoft satýn aldýðýndan geliþtirdikleri
platformlar genelde Microsoft tabanlýdýr. Delphi, Lazarus'un aksine
ücretlidir; ama hýzlý geliþtirme adýna Dünya'nýn en iyi RAD aracýdýr.
Þu an Delphi'nin 1 milyon kullanýcýsý olduðu varsayýlmaktadýr. Bu sayý
Visual Basic için 3 milyon, C/C++ içinse 7 milyon dolaylarýndadýr.
Borland firmasý, derleyici konusunda da çok tecrübeli bir firmadýr.
Bunu Delphi derleyicisini örnek gösterterek verebiliriz. Delphi
derleyicisi, dünyanýn en hýzlý derleyici ünvanýný elinde
bulundurmaktadýr. 30000 (otuzbin) satýrlýk bir kodu 2 saniyede
derleyebilmektedir.
Borland'ýn Planlarýna Bakýþ
[ KYLIX ]
Borland,
1999'tan sonra aldýðý bir kararla Linux dünyasýna da giriþ yapmýþtýr.
Kylix adýndaki bu proje sayesinde Linux ortamýnda Object Pascal(Delphi)
dili ile program yazýlabilmekteydi.Delphi'nin Linux
sürümü olarak
tabir edilen Kylix, Borland'ýn VCL'i düzenleyerek tekrar yazdýðý
CLX(Cross-LinuX) teknolojisi ile Win32 platformlarýnda yazýlan
programlarý(Delphi 6-7), hiç kod deðiþtirilmeden Linux
ortamýna
geçirilip Kylix ile derlenebiliyordu. En son 2002 yýlýnda Kylix 3'ü
piyasaya süren Borland, Kylix 3 IDE'si ile C++ ve Delphi kodlarýný
derleme ve program yazmaya olanak tanýdý. Borland'ýn 3 yýldan
beri
geliþtirmediði Kylix için gelecek adýna belli baþlý planlarýnýn
olduðunu duyurdu; ama þu aþamada firma Microsoft'un geliþtirdiði” .NET”
ortamýna yönelmiþ durumda.
[ DELPHI.NET ]
Ýnternetin
günlük yaþantýmýza girmesi sonucu artýk “uygulama” odaklý dillerin
eksikliði gün geçtikçe artmaya baþladý. Kodun taþýnabilirliði önem
kazandý. Bunun için Sun Microsystem 1991 yýlýnda C dilinden türettiði
Java dilini çýkarttý. Ýnternetin yaygýnlaþmasý ile Java da geliþimini
sürdürdü ve internet odaklý program yazýmlarý için birebir bir çözüm
oluþturdu. Diðer bir özelliði de platformdan baðýmsýz bir
dil
olmasýydý. Dilin yaygýnlaþmasý sonucu Microsoft, rakibinden geri
durmayacaðýný ispatlayarak ona rakip “.Net(Okunuþu: dat net) “ adýnda
bir platform geliþtirerek bu ortamda kullanýlacak dillerin
platformdan
baðýmsýz olacaðýný ileri sürdü. Java'nýn aksine {dat}NET 20 den fazla
dile destek vereceðini duyurdu. Bu dillerin herhangi birinde yazýlan
kodlar ara dile çevrildiðinden hepsinin hýz ve
performansý ayný
olacaktý. Bunun akabinda Borland, Delphi.Net'i piyasaya sürdü. Delphi 8
ile {dat}Net dünyasýna ilk adým atan 3.parti firma oldu. Delphi 8'i
aceleye getiren Borland, birçok hata ve eksiklik
yüzünden eleþtiri
aldý. 2004'ün Aralýk ayýnda BornCon'da Delphi 9'u yeni adý Delphi
2005'i tanýttý ve piyasaya sürdü. Delphi 2005'in IDE'si C#, Delphi for
Win32 ve Delphi for .NET dillerini destekleyen
bir IDE ile geldi. (Delphi 2005'in ekran görüntüleri için bkz þekil-3)
Þekil-3
Delphi 2005'in açýlýþ ekraný. 2 dili(C#-DELPHI)ve 2 platformu(Win32-.NET) desteklemesi görülmekte.
Delphi Studio ile uygulama geliþtirilecek alanlar yukarýda görülmektedir. Artýk web siteleri yapýmýndan win32
application uygulamalarý ve .net uygulamalarýna kadar her þey yapýlabilmekte.
Borland Delphi 2005 IDE'sinden bir görünüm. Eskisine nazaran çok geliþmiþ durumda.
Sol tarafta Project Manager, Model View, Data Explorer ve
componentlerin yer aldýðý Tool Palette var. Tabii eskisine göre çok
daha yetenekli. Win32 uygulamasý geliþtiriyorsanýz, Delphi 7'deki
bileþenlerin hemen hemen tamamý ve yeni componentler var.
Borland
mühendisleri Delphi'yi daha stabil hale getirmek için çalýþmalarýna son
sürat devam etmekteler. Bu makaleyi yazdýðýmda en son Delphi 2005 için
Update Pack #2'yi duyurdular.
[ DELPHÝ.NET VE MOBÝL UYGULAMALAR ]
Microsoft,
.NET ortamý için kendi ürünü olan 4 dili öne çýkartarak Mobil uygulama
imkaný da saðlamaktadýr. Bu diller: Visual Basic.NET, C#, Visual
C++.NET ve Visual j++.NET. Bu diller haricinde kalan diller 3.parti
sayýldýklarýndan Microsoft tarafýndan Win CE Mobil uygulamalar için
lisans verilmemiþtir. Bazýlarý Microsoft kendi ürünlerini
yaygýnlaþtýrmak için böyle bir yola baþvurduðu
görüþündedirler; ama
Borland çalýþanlarý bunun Microsoft tarafýndan aþýlacaðýna
inanmaktadýrlar. Bu yüzden þu aþamada DELPHI.NET ile mobil uygulama
geliþtirilmeye izin verilmemektedir. Yalnýz
Borland mühendisleri illegal yoldan yazýlabildiði konusunda da kullanýcýlara ipucu verdiði biliniyor.
[ DELPHI 64 BIT ]
95
Yýlýndan önce (Windows 3.1 kullanýcýlarý bilirler) 16 bitlik
uygulamalar ile çalýþýrdýk. 32 bitlik iþlemcilerin çýkmasýyla
Microsoft, Windows 95 ile 32 bitlik uygulamalara geçiþ yaptý. Artýk
birçok
derleyici 32 bitlik derleme yapabiliyordu; Günümüzde AMD
firmasý 64 bitlik iþlemciler çýkarttý. Windows, bunu destekleme kararý
aldý ve Windows XP'nin 64 bitlik sürümünü ilerleyen günlerde
çýkartacak.(Þu
aþamada birçok iþletim sisteminin 64 bitlik sürümleri
çýkmýþ bulunmakta.) Artýk programlar 64 bitlik mimari üzerinde
çalýþacak. Derleyicilerin de buna ayak uydurmasý zorunlu olduðundan
Borland,
geliþmeleri yakýndan takip etmekte. Delphi proje yöneticisi
John KASTER, Delphi'nin 64 bitlik derleyicisi üzerine uðraþlarý
olduðunu bildirdi. (Kaynak: Borland BDNRadio röportajlarýndan)
{ DELPHI'YÝ ÖZEL KILAN BAZI ÖZELLÝKLERÝ }
Delphi'nin
Dünyada birçok hayran kitlesine sahip olmasý ve diðer dillerden
ayrýcalýklý olma sebeplerinden biri de birçok veritabanýný
destekleyerek bunlarla sorunsuz çalýþabilme kabiliyetinin
yanýnda, son derece saðlam temellerle yazýlmýþ VCL(Visual Component Library) ve CLX teknolojisidir.
Çünkü
bir çok firma ücretli-ücretsiz Delphi için component yazmaktadýr. Bunun
yanýnda hýzlý derleyicisi ve altyapýsýndaki güçlü Object Pascal dilidir.
Visual
Basic'in kolaylýðý ve C++ 'ýn gücünü bir arada sunmasý da aynanýn bir
baþka yüzüdür. Win32 Application uygulamalarýnda C++ ile Delphi
rahatlýkla karþýlaþtýrýlabilir. Burada kolaylýk ve gücü
saðlayan
Delphi'dir. C++'ý üstün kýlan ve çok kullanýlmasý gibi etmenlerden biri
birçok iþletim sistemi için hazýrlanmýþ RTL kütüphanelerinin
bulunmasýdýr. Bu da kodun taþýnýrlýlýðýný artýran bir etkendir. C++ ile
Win32'de yazýlan bir kodu bazý irili-ufaklý deðiþikliklerle
Linux,MacOSX,FreeBSD... gibi birçok iþletim
sistemi üzerine taþýyabiliyorsunuz. Delphi de þu aþamada bu olay Linux- Win32 ortamlarý için geçerli.
[ OBJECT PASCAL DÝLÝ KULLANILARAK GELÝÞTÝRÝLEN BAZI MEÞHUR PROGRAMLAR ]
» GoldWave 5.08 (Delphi) >>Platform: Win32
» Pirch 32 (Delphi 3.0) >> Platform: Win32
» Inno Setup (Delphi) >> Platform: Win32
» Skype (Delphi) >>Platform: Win32 - Linux
» ASPack (Delphi 3.0) >>Platform: Win32
» TopStyle 3 (Delphi) >>Platform: Win32
» TinaSoft (Delphi) >> Platform: Win32
» ModelMaker (Delphi) >>Platform: Win32 - Linux
» Borland'ýn geliþtirdiði Win32 platformlu tüm IDE'ler Delphi ile geliþtirilmiþtir.
» MP3Cutter (Delphi) >>Platform: Win32
» TuneUp Utilities(Delphi) >>Platform:Win32
» Dünya genelinde çoðu ticarî uygulamalar Delphi ile geliþtirilmektedir. vs. vs.
Yararlanýlan Kaynaklar:
http://www.delphiturkiye.com
http://en.wikipedia.org/wiki/Pascal_programming_language
http://www.borland.com/delphi
http://www.theserverside.net
http://www.freepascal.org
Kitap: Her Yönüyle C# - Burak Selim ÞENYURT
Kitap: Delphi in a Nutshell – Ray LISCHNER, Orelly yayýnevi.
YAZAN
Burhan Mustafa TANIÞ
burhanmt@yahoo.com
http://www.burhanmt.com
MART 2005
Orjinal Web Adresi :
http://www.ceviz.net/fark-edilmeyen-efsane-dil-object-pascal_s1_a440.html
| |
yorumlar okumak veya yorum yazmak iin tklayn..