powered by HastaBlog
 
FARK EDÝLMEYEN EFSANE DÝL “OBJECT PASCAL” | Kategori: Programlama
Yazlma: 07.04.2007 | Okunma: 2829 | Yorumlanma: 0
Aþaðýdaki makale'yi ceviz.net'te okudum, kiþisel projelerimde bende Lazarus kullandýðým içinde çok beðendim. Hiç deðiþtirmeden aynen burdada yayýnlamak istiyorum. Okumak için lütfen "devamýný göster.." link'ine týklayýn.


:: 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=index
adreslerine 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.net
adresine 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


Bu Kategorideki Yazlar:

< 18 Mart Çanakkale Zaferi Þehitleri Anma Günü || Oyun iþini abartýyorum galiba... >





Bu yazya yorum yaplmam.
 

Güvenlik (3)
Lagara Lugara (15)
Pardus (2)
Programlama (13)
Sokak Yarýþlarý (2)


Rapid Roll Extra (5905)
MySQL, Delphi ve Zeos Bileþenleri (3242)
FARK EDÝLMEYEN EFSANE DÝL “OBJECT PASCAL” (2829)
Rubik (Zeka) Küpü (2697)
1161 Adet .DLLl Dosyasýnýn Açýklamasý (2616)
Virus sildim makinamdan! (2505)
Sokak Yarýþlarý Projesi 0.3 (2420)
Cepte Blog (2314)
Doðum Günüm (2257)
IBM developerWorks (2241)



Diðer yarým...
Free Pascal Lazarus Project
Pardus
RSS Desteði



Pardus... Özgürlük Ýçin...

powered by Hasta Blog v2

Sayý Bul  Net Send Panel  Bayrak - ATA  Kara Kurdele  Rapid Roll Extra  Balik Adam