Delphi XE3 Eksileri Artıları
-
Beyler delphi uzun zamandır dinazor ve eski bir dil olarak görülüyor, .net konusunda çok yaygın eğitim verilmesi ve daha kolay olması da delphiye olan ilgiyi azaltan bir diğer etken.
Delphiyi version 2 den beri kullanıyorum, .net ve diğer birçok dili de sıklıkla kullanıyorum.
Birçok alanda delphi bana göre açık ara önde fakat fiyatlandırma ve eğitimi iyi organize edememekten, ve .net in çıkış zamanında verdiği bazı yanlış stratejik kararlardan dolayı süründü.
Kurup görmemiş olanlara bir fikir vereyim neden bu şeyin geleceği olduğuna dair. Belki yol yakınken birkaç .net ciyi döndürürüm :p
Artıları
- Native windows programı üretir. .net gibi framework falan gibi bir ihtiyaç yoktur. Framework gözönünde bulundurulduğunda boyutu küçüktür. işi biliyorsanız exeleri çok daha küçültebilirsiniz
- Aynı sebepten dolayı programlarınız .net den 100 kat falan hızlı çalışır
- Firemonkey sayesinde ipade, macosa, linuxa, (henuz beta) androide compile yada crosscompile edebilirsiniz.
- Windows8 metro programlarını kolayca oluşturabilir 3d kontroller, ışık gölge bile kullanabilirsiniz formda
- Özellikle sistem, soket, grafik işleme vs programlarında yaptığınız iş karmaşıklaştıkça native dil olmasının avantajını kullanırsınız. .net amelelik olmaya başlar.
- Delphi tüm dillerden hızlı compile eder. Yani 500.000 satır olan birşeyiniz varsa runa bastığınız anda exeyi oluşturur, c# da böyle birşey çok daha uzun sürer. sık sık run ediyorsanız hayatınızdan bezdirir ve .net hergeçen versiyonda daha da yavaşlıyor.
- Peki native yazacaksam niye c++ kullanmayıp delphi kullanayım diceksiniz. Delphi düzenlidir neyi nerede bulacağınızı kolaylıkla tahmin edersiniz.
- Delphide yazdığınız program sonsuza kadar yaşar. Ortaokul 2 de yazdığım delphi programı taş çatlasın 3-5 değişiklik ile 15 sene sonra bugünkü delphide compile oluyor. Fakat bir önceki version Visual studio ile yaptığım programı çalıştırmak için bin tane takla atıyorum gerek c++ gerek .net. Delphiyi geliştirenler buna özellikle önem veriyorlar, geriye uyumluluk bir numaralı öncelikleri. Microsoft ise her sene başka database motoru başka yazılım mimarileri çıkarıyor. 2 sene önce kasıp öğrendiğiniz şeye öbür sene deprecated diyor, ömrünüzden ömür gidiyor.
- ctrl+click ile kodun dibine kadar inersiniz. tüm kod açıktır. VB de, .net de birçok şey fonksiyon tanımlamasından ötesini size göstermez.
- .net gibi kodunuz caaart diye decompile edilmez.
- Aynı componentlar, aynı yapı ile Embarcadero c++ ile de program yazmak mümkün.
- Piyasada çok sayıda component ve kod vardır, genelde kodların çoğuda kalitelidir çünkü bugün delphi kullananların çoğu oldukça eskidir.
- Hack programları, trojanlar, malwareler yazmak için en iyi seçimdir. Diğerleri birçok library/framework isterken delphinin RTL sinde isteyebileceğiniz çoğu şey zaten gömülü olarak vardır. Kasarım derseniz 15 kb a dünyalar da sığdırabilirsiniz.
- Ticari program yazmakta birebirdir. Kendi gömülü db motoru vardır, Data bağlantısı konusunda oldukça güçlüdür, tek satır kod yazmadan basit bir telefon defteri yapabilirsiniz. c# ile yapsanız Programın sql server ve frameworke ihtiyacı olur genelde. Bırakın bunlara install yazmayı birçok durumda elle bile kurmak sorun yaşatabilir. işte o zaman webe koyduğunuz 10 kblik program olur 250 mb.
Eksileri,
- C# daki linq gibi bir teknolojiyi özlemiyorum dersem yalan olur. fakat yapısı ve daha low level olması sebebiyle delphide böyle bir teknoloji kolay kolay sokulamaz gibi gözüküyor.
- Web tarafı kullanışlı olmadığı için Winform fonksiyonunuzu webe taşıyabilmeniz bişi ifade etmiyor, kimse delphiyle web sitesi yapmaz.
- Kendi memory manageri var. bu şu demek oluyor, c++ dll leri ile iletişim için az biraz modifiye etmek gerekiyor özellikle string alıp verirken problemler yaşanabiliyor.
- Garbage collector yok. Yani bi classı create ederseniz destroy etmeniz gerekiyor. c++ cılar buna alışıktır, .netciler için dinazorluktur. Fakat tam satırı göstermese de şunlar hafızada kaldı diye sizi uyarabiliyor.
- Bu eksilerin tamamı native bir dil olmasından kaynaklanıyor ve eksilerinin hepsi butun native dillerde var diyebilirim delphiye has değiller.
- Windowsda yapılan Windows 8 programları (winrt) windows store a eklenemiyor diye duydum ama emin değilim. bu bir eksi sayılabilir eğer böyle kalacaksa.
- Syntaxını beğenmiyorum. kodu begin end ile encapsulate etmek hem karışık görünmesine sebep oluyor hemde zaman alıyor. class name ile dosya adının aynı isim olma zorunluğu adamı gereksiz uğraşlara sokuyor. c# a yakın bir syntaxı tercih ederdim. (embarcadero c++ da bunu karşılamıyor o daha da kötü)
-
Dershanedeyim, gelince yazicam ,ayirayim.
-
Kendi memory manageri var. bu şu demek oluyor, c++ dll leri ile iletişim için az biraz modifiye etmek gerekiyor özellikle string alıp verirken problemler yaşanabiliyor.
plug&play applerde, stringlerle ilgili olarak yasanan problemlede,
A : ANSISTRING;
B : WIDESTRING;olarak tanimladiginiz degiskenleri
A : LPCSTR;
B : LPWSTR;tanimlarsaniz probleminiz kalmaz.
Holyone hocam,o dondurdugun kisilerden birisi benim.
-
class dosya adı eşitliği de yaygın bir durum hem sadece native dillere de has değil, bence onuda küçümseyebilirsin.
.NET benimde pek ilgimi çekmedi açıkçası, setup uğraştırıyor framework yavaşlatıyor tamam garbage collector mükemmel bir olay ama nesneleri teker teker elle yok etmeyi ben garbage collector olan dillerde bile yapıyorum alışkanlıktan.
-
Şu 100 kat daha hızlı çalışır savı oldukça iddialı olmuş:) Decompile olayı da bir miktar parayla çözülebiliyor. Decompile olmasından korktuğunuz yazılımlar üretiyorsanız, yazılımınızı korumanın yasal yollarına başvurmalısınız. Zaten dünyanın açık ara farkla en iyi IDE'si Visual Studio varken (ve reSharper) ve C#, VB.NET gibi dillerden birini biliyorken tutup Delphi'ye geçmek için oldukça geçerli bir sebep olması lazım.
Bir de .NET kütüphanesi ile VCL'yi karşılaştırmak biraz zor. Sonuçta kefenin bir tarafında .NET var:)
XE3 için torrent linki alabilir miyiz:)
-
Programlamayı Turbo Pascal ile öğrendiğim ve en sevdiğim hocalarım Delphi kullandığı için Delphi'nin bendeki yeri ayrıdır. Acilen ufak programcıklar lazım olduğu zaman yazmayı ilk düşündüğüm dil Delphi oluyor. Bana göre en güzel yanı çalıştırmak için fazladan dll, framework vb istememesi. 7-8 sene öncesinden geleceği yok diye konuşuluyordu ama hala kullanılıyor.
-
Delphi 7 den beri delphi kullanmıyorum. Zaten en iyisi sürümü 7. sürümdü. Borland azına sıçtı stratejilerinden dolayı delphi nin. Şu an içinde çok ön yargılarım var açıkçası. Embarcadero ne yaptı derleyicisini, dili açıkçası merak etmiyor değilim. Ama tüm syntax ı unuttum için uğraşmakta istemiyorum.
Birde Holyone XE3 ü ilaçlı mı indirdin?
DrKill tarafından 15/Kas/12 07:19 tarihinde düzenlenmiştir -
gecen sene universite goruyorduk ama devamini getirmedim acikcasi cokta saglam bi hocamiz var di
delphi7 :))
-
bizde gecen sene unide gormustuk. xe ile yaziyorduk.
arada firemonkeye bakiyorduk filan. sonra c# a agirlik verdim hep.
benim icin belkide tek sebebi
boyut olayi olmustu.
diger 10kb olup fw ihtiyaci varken delphide 8mb olup sifir ihtiyac. lakin isletim sistemleride geliatikce zaten fw 3.5 4vs. beraberinde gelmekte.
ee
simdi ben nasil 500kb icine ayni seyi sigdirabilirim ? seyhin dedigi 15kb a dunyalari sigdirma olayini nasil yapabilirim ?
amk duzelmiyo iste cepten ancak bu kadar yaziliyo.. saygilar
baristbt tarafından 15/Kas/12 05:30 tarihinde düzenlenmiştir -
BarisYigit bunu yazdı
bizde gecen sene unide gormustuk. xe ile yaziyorduk.
arada firemonkeye bakiyorduk filan. sonra c# a agirlik verdim hep.
benim icin belkide tek sebebi
boyut olayi olmustu.
diger 10kb olup fw ihtiyaci varken delphide 8mb olup sifir ihtiyac. lakin isletim sistemleride geliatikce zaten fw 3.5 4vs. beraberinde gelmekte.
ee
simdi ben nasil 500kb icine ayni seyi sigdirabilirim ? seyhin dedigi 15kb a dunyalari sigdirma olayini nasil yapabilirim ?
amk duzelmiyo iste cepten ancak bu kadar yaziliyo.. saygilar
Şeyh in dediği 15kb olayı farklı. Evet 15 kb form arayüzlü feci programlar yazılabilir lakin bunu yazmak için win apileriini kullanmak lazım ki Delphi kullanmanın bir avantajı kalmıyor. Ama virus felan için dersen evet gene 15 kb olabilir ve şeyh in dediği gibi dünyaları sığdırabilirsin içine. Ayrıca boyut düşürmek için (ortalama %30 una iniyor) packer ları kullanmak gerek. UPX gibi.
-
Hocam evet winapi ile dünyalar sığar. Onu da kullanırsam delphi kullanmaktan ne anladım demişsin.
Yanlış
Key object library kur, Delphide formunu da koy, konttollerini de koy, eventlerini de oluştur, 20-30 kb lık çıktısı olan exeler yapsın sana hiç winapiye girmeden, framework kullanmadan =)
HolyOne tarafından 15/Kas/12 11:30 tarihinde düzenlenmiştir