Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Oxygene Language - Escape from Delphi
#1
Arkadaşlar Merhaba,

Malumunuz RemObjects firmasının "C#, Swift, Java & Object Pascal – for all platforms." sloganıyla duyurduğu Elements compiler sayesinde günümüzün önemli platformlarına uygulama ve proje üretmemizi sağlıyor.

Oxygene (Oksijen), Object Pascal vakfı tarafından oluşturulan ve geliştirilen bir dil. Pascal'ın yaklaşımlarından, dialektlerinden olan Delphi'nin gidişatı ve geleceğe yönelik planları doğrultusunda vakıf bünyesinde modern Pascal kavramı üzerinde inşa edilen yepyeni bir dil.

Örnek Oxygene Kodu

namespace WPFApplication;

uses
 System.Linq,
 System.Windows.*;

type
 Window1 = public partial class(Window)

   constructor;
   begin
     InitializeComponent();
     //...
   end;

 end;

end.



Bir Pascal geliştiricisi babanın evladı olarak sloganı doğrudan beni hedef alıyor gibi; The Oxygene Language "This is not your daddy's pascal"  Blush

Oxygene için kısa bir tanım yayınlamışlar;

Oxygene is Object Pascal, reinvented for the 21st century.

Oxygene is the language we have been relentlessly innovating and driving forward over the past decade. We started with a vast super-set of Delphi, back in the day — and 15 years later, Oxygene now is the most advanced general purpose programming language out there.
If you use(d) or like(d) Delphi or Free Pascal, you will love Oxygene. And if you never used Pascal before, you are in for a real treat!

Oxygene, 21. yüzyıl için yeniden keşfedilen Object Pascaldır.
Oxygene son on yıl içerisinde sürekli inovasyon yaptığımız ve geliştirerek ileriye götürdüğümüz bir dil. Süper geniş bir Delphi seti ile başladığımız yolculuğumuzun başlangıcından bu yana geçen 15 yılda, Oxygene günümüzün en gelişmiş genel amaçlı programlama dili olmuştur.

Eğer Delphi'yi veya Free Pascal'ı kullanıyorsanız/kullandıysanız veya seviyorsanız/sevdiyseniz, Oxygene'i seveceksiniz. Eğer henüz Pascal kullanmadıysanız, derdinizin dermanı olacak!


Oxygene'de neler var? İncelemek için tıklayınız.

Kabaca izlenimler; OOP için daha modern yapılar (structure)lar var. C# ve Java'dan aşina olacağınız yapılar mevcut. Mevcut Delphi ve Pascal dialektlerinden aşina olduğunuz kodlama yapısı aynen duruyor. Expressions biraz daha spesifik hale gelmiş. Artık satır bazlı değişken tanımlama yapabilirsiniz. (Örn: var sonuc := 1+2; ) Nullable tipler en büyük kurtarıcı olmuş. Jenerik listelerinin kullanımı C-syntax dillere daha yakınlaşmış. (Örn: var y := new List<String>; ) Array benzeri kavramlar oluşmuş. Sequence ve Query. Bir nevi LINQ benzeri mantıkta (Örn: var byLength := from n in Names order by n.LengthWink Tuple tanıtabiliyoruz Cool  (Örn: var t: tuple of (String, Int32, Boolean) ; ) Class contract için ensure ve require yapıları eklenmiş. Üstteki linkten daha kapsamlıca inceleyebilirsiniz.


Şimdi gelelim bu konuyu açma sebebime;

Escape from Delphi

Escape from Delphi isminde bir manifesto yayınlamışlar

DelphiRTL-1024.png

Daha manifestoyu okumaya başlamadan önce, Delphi'nin yıllardır sembolü olan eski yunan antik kentlerinden bir figürün çatlayan halini resmederek siyah beyazlaştırmışlar. Ve çok minimal bir çalışma ile bu içler açısı durumun farkında olduklarını profesyonel bir yaklaşım ile izah etmişler.



Manifestoya gelirsek;

Tamamını size çeviremeyeceğim, bunun için yeterli vaktim yok ancak en can alıcı kısmını zaten ilk üç paragrafta dile getirmişler. O kısmın orijinal ve Türkçe halini buraya ekliyorum;

Now Is the Time to Switch

Things have been looking tough in Delphi-land for a while now, with Embarcadero focusing on milking existing users stuck on their platform, and development of the tool chain all but halted. In mid-2016, almost the entire R&D staff for Delphi and related tools has been let go. The future is not looking bright.

Delphi developers are rightfully concerned, and many of them have been looking to embrace the Elements compiler and specifically Oxygene, our Object Pascal language, as an alternative that lets them keep using the language they know and love, but know they can rely on a development environment that's being actively driven forward, and supports all modern platforms natively.

With our recent release of Elements 9 and moving forward, we are putting a lot of emphasis on making it easier and more seamless for Delphi developers to switch over to Oxygene – whether in full, or just partially for new projects.

Şimdi Değişim Zamanı

Bir süredir Delphi diyarında işler zor görünüyor, Embarcadero ise mevcut müşterileri kendi platformlarına sıkıştırarak sağmaya odaklanmış durumda ve geliştirme araçlarını geliştirmeyi durdurdu. 2016'nın ortalarında, Delphi ve tüm ilgili araçlar için neredeyse tüm AR-GE ekibini dağıttı. Gelecek parlak görünmüyor.

Delphi geliştiricileri haklı olarak endişe duyuyor ve birçoğu, Elements compiler'ı ve özellikle Oxygene'i, Object Pascal dilimizi, bildikleri ve sevdikleri bir dili kullanmaya devam etmelerini sağlayan bir alternatif olarak benimsemeyi düşünüyorlar, ancak, aktif olarak ileri sürülen bir gelişim ortamına güvenebileceklerini ve tüm modern platformları doğal olarak desteklediklerini biliyorlar.

Element 9'un yakın zamanda piyasaya sürülmesi ve daha da ileriye taşınmasıyla, Delphi geliştiricilerinin yeni projeler için tam veya kısmen kısmen de olsa Oxygene'e geçmesini daha kolay ve daha kusursuz hale getirmeye çok önem veriyoruz.

Escape from Delphi manifestosunun tamamını okuyun



Soru: Bugün üyelerimizden birisi ile lisans ücretleri ve tekliflendirme süreçleri hakkında konuşuyorduk. (Kendisi belirtmediği müddetçe kimliğini söylemeyeceğim) Mart 2018'de ofisimize yeni dahil olan arkadaşımız için aldığımız Delphi Professional 10.2 Tokyo + 12 Ay güncelleme + Mobile Add-On Pack lisansının maliyetini hatırladım. Bana ilettiği teklifte inanılmaz yüksek bir fiyat gördüm. Sonra Embarcadero'nun bize (firmamıza) verdiği sözü hatırladım: "Yılda en az 2 majör sürüm çıkacak ve bundan yararlanabileceksiniz", şimdi bakıyorum da her lisansımızda ancak 1 güncellemeye imkan tanınıyor ve güncelleme fiyatları neredeyse New User fiyatları ile aynı. Platform ciddi anlamda emek ve para gerektiriyor.

Netice itibariyle, daha uygun fiyatlara, sürekli geliştirilmekte olan ve Modern Pascal yaklaşımı ile ortaya çıkan bir dil (Oxygene) ve derleyici (Elements) görüyorum. Manifesto'da mevcut durumumuz ve piyasadaki diğer platformları kullanan kişilerin Delphi ile kendi platformlarını kıyaslamalarından ortaya çıkan "geri kalmışlık", "hantallık", "yenilikçilikten uzak" ve "çok pahalı" olunması, manifestonun çok doğru tespitte bulunduğunu bize iletiyor.

Sizin Oxygene'e karşı yaklaşımınız ve tutumunuz nedir? Sizce Delphi'ye para vermeye devam etmeli miyiz, yoksa frene basıp Oxygene'e geçmenin tam vakti midir?
Cevapla
#2
(22-11-2018, Saat: 19:56)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Arkadaşlar Merhaba,

Malumunuz RemObjects firmasının "C#, Swift, Java & Object Pascal – for all platforms." sloganıyla duyurduğu Elements compiler sayesinde günümüzün önemli platformlarına uygulama ve proje üretmemizi sağlıyor.

Oxygene (Oksijen), Object Pascal vakfı tarafından oluşturulan ve geliştirilen bir dil. Pascal'ın yaklaşımlarından, dialektlerinden olan Delphi'nin gidişatı ve geleceğe yönelik planları doğrultusunda vakıf bünyesinde modern Pascal kavramı üzerinde inşa edilen yepyeni bir dil.

Örnek Oxygene Kodu

namespace WPFApplication;

uses
 System.Linq,
 System.Windows.*;

type
 Window1 = public partial class(Window)

   constructor;
   begin
     InitializeComponent();
     //...
   end;

 end;

end.



Bir Pascal geliştiricisi babanın evladı olarak sloganı doğrudan beni hedef alıyor gibi; The Oxygene Language "This is not your daddy's pascal"  Blush

Oxygene için kısa bir tanım yayınlamışlar;

Oxygene is Object Pascal, reinvented for the 21st century.

Oxygene is the language we have been relentlessly innovating and driving forward over the past decade. We started with a vast super-set of Delphi, back in the day — and 15 years later, Oxygene now is the most advanced general purpose programming language out there.
If you use(d) or like(d) Delphi or Free Pascal, you will love Oxygene. And if you never used Pascal before, you are in for a real treat!

Oxygene, 21. yüzyıl için yeniden keşfedilen Object Pascaldır.
Oxygene son on yıl içerisinde sürekli inovasyon yaptığımız ve geliştirerek ileriye götürdüğümüz bir dil. Süper geniş bir Delphi seti ile başladığımız yolculuğumuzun başlangıcından bu yana geçen 15 yılda, Oxygene günümüzün en gelişmiş genel amaçlı programlama dili olmuştur.

Eğer Delphi'yi veya Free Pascal'ı kullanıyorsanız/kullandıysanız veya seviyorsanız/sevdiyseniz, Oxygene'i seveceksiniz. Eğer henüz Pascal kullanmadıysanız, derdinizin dermanı olacak!


Oxygene'de neler var? İncelemek için tıklayınız.

Kabaca izlenimler; OOP için daha modern yapılar (structure)lar var. C# ve Java'dan aşina olacağınız yapılar mevcut. Mevcut Delphi ve Pascal dialektlerinden aşina olduğunuz kodlama yapısı aynen duruyor. Expressions biraz daha spesifik hale gelmiş. Artık satır bazlı değişken tanımlama yapabilirsiniz. (Örn: var sonuc := 1+2; ) Nullable tipler en büyük kurtarıcı olmuş. Jenerik listelerinin kullanımı C-syntax dillere daha yakınlaşmış. (Örn: var y := new List<String>; ) Array benzeri kavramlar oluşmuş. Sequence ve Query. Bir nevi LINQ benzeri mantıkta (Örn: var byLength := from n in Names order by n.LengthWink Tuple tanıtabiliyoruz Cool  (Örn: var t: tuple of (String, Int32, Boolean) ; ) Class contract için ensure ve require yapıları eklenmiş. Üstteki linkten daha kapsamlıca inceleyebilirsiniz.


Şimdi gelelim bu konuyu açma sebebime;

Escape from Delphi

Escape from Delphi isminde bir manifesto yayınlamışlar

DelphiRTL-1024.png

Daha manifestoyu okumaya başlamadan önce, Delphi'nin yıllardır sembolü olan eski yunan antik kentlerinden bir figürün çatlayan halini resmederek siyah beyazlaştırmışlar. Ve çok minimal bir çalışma ile bu içler açısı durumun farkında olduklarını profesyonel bir yaklaşım ile izah etmişler.



Manifestoya gelirsek;

Tamamını size çeviremeyeceğim, bunun için yeterli vaktim yok ancak en can alıcı kısmını zaten ilk üç paragrafta dile getirmişler. O kısmın orijinal ve Türkçe halini buraya ekliyorum;

Now Is the Time to Switch

Things have been looking tough in Delphi-land for a while now, with Embarcadero focusing on milking existing users stuck on their platform, and development of the tool chain all but halted. In mid-2016, almost the entire R&D staff for Delphi and related tools has been let go. The future is not looking bright.

Delphi developers are rightfully concerned, and many of them have been looking to embrace the Elements compiler and specifically Oxygene, our Object Pascal language, as an alternative that lets them keep using the language they know and love, but know they can rely on a development environment that's being actively driven forward, and supports all modern platforms natively.

With our recent release of Elements 9 and moving forward, we are putting a lot of emphasis on making it easier and more seamless for Delphi developers to switch over to Oxygene – whether in full, or just partially for new projects.

Şimdi Değişim Zamanı

Bir süredir Delphi diyarında işler zor görünüyor, Embarcadero ise mevcut müşterileri kendi platformlarına sıkıştırarak sağmaya odaklanmış durumda ve geliştirme araçlarını geliştirmeyi durdurdu. 2016'nın ortalarında, Delphi ve tüm ilgili araçlar için neredeyse tüm AR-GE ekibini dağıttı. Gelecek parlak görünmüyor.

Delphi geliştiricileri haklı olarak endişe duyuyor ve birçoğu, Elements compiler'ı ve özellikle Oxygene'i, Object Pascal dilimizi, bildikleri ve sevdikleri bir dili kullanmaya devam etmelerini sağlayan bir alternatif olarak benimsemeyi düşünüyorlar, ancak, aktif olarak ileri sürülen bir gelişim ortamına güvenebileceklerini ve tüm modern platformları doğal olarak desteklediklerini biliyorlar.

Element 9'un yakın zamanda piyasaya sürülmesi ve daha da ileriye taşınmasıyla, Delphi geliştiricilerinin yeni projeler için tam veya kısmen kısmen de olsa Oxygene'e geçmesini daha kolay ve daha kusursuz hale getirmeye çok önem veriyoruz.

Escape from Delphi manifestosunun tamamını okuyun



Soru: Bugün üyelerimizden birisi ile lisans ücretleri ve tekliflendirme süreçleri hakkında konuşuyorduk. (Kendisi belirtmediği müddetçe kimliğini söylemeyeceğim) Mart 2018'de ofisimize yeni dahil olan arkadaşımız için aldığımız Delphi Professional 10.2 Tokyo + 12 Ay güncelleme + Mobile Add-On Pack lisansının maliyetini hatırladım. Bana ilettiği teklifte inanılmaz yüksek bir fiyat gördüm. Sonra Embarcadero'nun bize (firmamıza) verdiği sözü hatırladım: "Yılda en az 2 majör sürüm çıkacak ve bundan yararlanabileceksiniz", şimdi bakıyorum da her lisansımızda ancak 1 güncellemeye imkan tanınıyor ve güncelleme fiyatları neredeyse New User fiyatları ile aynı. Platform ciddi anlamda emek ve para gerektiriyor.

Netice itibariyle, daha uygun fiyatlara, sürekli geliştirilmekte olan ve Modern Pascal yaklaşımı ile ortaya çıkan bir dil (Oxygene) ve derleyici (Elements) görüyorum. Manifesto'da mevcut durumumuz ve piyasadaki diğer platformları kullanan kişilerin Delphi ile kendi platformlarını kıyaslamalarından ortaya çıkan "geri kalmışlık", "hantallık", "yenilikçilikten uzak" ve "çok pahalı" olunması, manifestonun çok doğru tespitte bulunduğunu bize iletiyor.

Sizin Oxygene'e karşı yaklaşımınız ve tutumunuz nedir? Sizce Delphi'ye para vermeye devam etmeli miyiz, yoksa frene basıp Oxygene'e geçmenin tam vakti midir?

Merhaba,
2009 Yılında kurumsal olarak Delphi Prism (RamObject Oxygene) kullandım. ASP .Net uygulamaları ve Web Service'ler yazdım. O zamanlar Delphi 2009 IDE'sine bir eklenti gibi kuruluyordu. Akabinde (1 yıl sonra) RemObjects, Microsoft ile bir sözleşme yaparak, Oxygene eklentisinin Visual Studio üzerine entegre edilmesini sağladı. Yaklaşık bir yıl daha VS IDE'si ile bu yapıyı kullanmaya çalıştım. Object Pascal ile .Net dilleri arasında kalarak, yavaş yavaş Microsoft'a, FrameWork'lere bağlandığımı hissettim. Object Pascal diye Microsoft ürünlerini empoze ediyor. 
Microsoft ile beraberliği 2010'a dayanıyor. Logo ve yazı içeriği tamamiyle bir karalama kampanyasıdır.
Embarcadero'nun Avrupa, uzak doğrudaki ve yakın doğudaki Smile (Rusya) inanılmaz yükseliş ve teknoloji atağı birilerini rahatsız etmişse benziyor. 
Yazılım dilleri arasında Microsoft, yazılım varolduğundan beri, RemObject ise son 11 yıldır var. Hep yapmak istedikleri fakat bir türlü rayına oturtamadıkları, cross-platform, mimarisinin Embarcadero üzerinden yükselişi,
Ayrıca multi-mimarîk yapılarındaki son 8 yıllık tecrübesinin stabiliteye ulaşması onları rahatsız ediyor.
Vurguladğınız asıl sorunun (Maliyet), bu kaynakta belirtilmeyen nedenlerle uyuşmaması da ayrı bir konu.
Bir mobil uygulama için bir milyon teklif veriliyor. 
Bir mobil uygulama için 3 proje grubuna ihtiyaç oluyor.
Sunucu katmanı için bir grup, iOS tatafi için bir grup, Android tarafı için bir grup. Her grup birkaç kişi oluyor. Tahmini 15 kişi çalışıyor ve bir yıla yakın bir zamanda proje bitiyor. Verilen teklif bir milyon lira. Bizzat şahit olduğum bir durumdu.
Oysaki bu iş RAD Studio ve tek kişi ile daha kısa sürede ve tek bir kaynak kod ile yapılıyor.
Bu tutar karşısında ödenen bedel devede kulak kalıyor.
Hatta Community Edition ile size şu imkânı sunuyor.
Delphi'yi ücretsiz sahip oluyorsunuz, 5000$ = yaklaşık 27.000 TL'lik yasal yazılım satışı yapıyorsunuz. Bu parayla gidip En Pahalı Delphi Sürümünü (%30 veya %40 indirimle daha da uygun fiyata) alabiliyorsunuz. Daha ne olsun.
Bence asıl rahatsız oldukları durum budur.
Benim 9 yıl önce bıraktığım (RemObjects Oxygene, bugünkü adıyla Elements) bir dili, tecrübeme dayanarak kimseye önermiyorum, tıpkı onların Delphi'yi önermediği gibi. Sleepy
DelphiCan'dır!
Cevapla
#3
@Abdullah ILGAZ Bey Delphi pahalı da kime pahalı.. Bize pahalı. Avrupada ki yada amerikada ki bir yazılımcının maaşının yarısından az Delphi Enterprise sürümünün fiyatı ( Avrupa ve amerikada ortalama bir yazılımcı saatine 50-60$ alıyor). Bizde ise b segment 2.el bir araba fiyatı nerdeyse..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#4
@Abdullah ILGAZ Bilgilendirme için teşekkürler.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#5
Merhaba,

RemObjects'in Microsoft ile yürüttüğü süreçlerden dem vurmuşsunuz hocam. Ancak belirtilmeli ki Embarcadero'nun tüm ürünleri de Windows tabanında çalışıyor. Her ne kadar kendisi cross-platform mimarisini savunsa da halâ macOS ve linux tabanında bir geliştirme aracı üretemiyor. Microsoft ise bu anlamda GitHub'ı satın alarak Linux'a ve açık kaynağa olan desteğini mali açıdan destekleyerek gösterdi. Akabinde bir çok patentini açık kaynağın hizmetine sundu. Daha sonradan MSDOS ve MSOffice çekirdeklerini açık kaynak olarak piyasaya sürdü.

Daha önce sizinle karşılıklı istişarelerde bulunurken framework bağlılığından bahsediyorduk. Microsoft'un bu özelliğinin yazılımcıyı bir operatöre dönüştürdüğünü söylemiştiniz. Ancak Embarcadero'nun kendi teknoloji ekosisteminde bizleri operatöre dönüştürmesine elimiz kolumuz bağlı şahit oluyoruz. En basit örneği geçen gün başıma gelen TargetSdkVersion olayı. Bu olayı açıklarken ne demek "Berlin ve Tokyo'da çözemiyoruz, Rio'yu bekleyin." Bunu bir teknoloji şirketi söylememeli. Üstelik yıllık 6-7 bin € para bağladığımız bir şirket.

Verilen sözler tutulmuyor, destek ayağı hep eksik. Türkiye pazarını, geliştiricisini, daha doğrusu tüm memleketi adam yerine koymadan sadece paramıza odaklılar. Community Edition'ı bile mahalle baskısına maruz kaldıkları için çıkarttıkları kanaatindeyim zira zaten korsan kullananları biliyorlar (tıpkı Microsoft gibi) ve bunu engelleyemiyorlar. O yüzden bir grup kendisini Community Edition altında fişlemek isteyen ticari kullanımcıları ortaya çıkartıyorlar, hepsi bu.

Embarcadero'ya karşı çok kızgınım ve çok kırgınım. Kelimenin tam anlamıyla bizi kandırdılar. 28 Mart 2018 tarihli New User faturama bakıyorum, ve 22 Kasım 2018 tarihinde bana 12 ay garantisini verdiği ve ek olarak sattığı ürünlerin satış politikasını değiştiriyor. Burada bir art niyet arıyorum. Arkasını sorgulamadan yeter ki para verin diyorlar. Tabiri caizse, bir araba üretseler her koltuk için yıllık ücret alır bunlar.

Ürettiğimiz yazılımlar evet, lisans bedelini karşılıyor ancak her yıl ar-ge adı altında bu parayı onlara verirken bakıyorum da 2015'ten bu yana FMX adına elle tutulur bir imkan sunmamışlar bize! Veyahut benim kullanabileceğim türde bir gelişme olmamış. Tek yaptıkları iş Google'ın versiyon hızına yetişmek için majör versiyon satmak! (XE8'de Marshmallow desteğinin olmaması gibi)

Cross-platform diyoruz ancak iOS uygulamaların markete gönderim süreci bir dert, uygulamanın geliştirme-test etme-prodüksiyona sunma süreci ayrı bir dert. Esasında cross-platformu tam olarak yazamıyoruz çünkü bağımsız platformların bağımsız ihtiyaçları ve yaklaşımları oluyor.

Örnek vermek gerekirse Bluetooth yazıcının iOS bir cihazla çalıştırılması. Bir yanda Java için Bridge kullanırken öteki tarafta ne olacak? Olacağını sanmıyorum ama eğer mümkünse bunu ancak compiler için condition yazarak çözeceğiz sanırım. IFDEF Android, iOS, Windows.... Sadece ekranda nesne göster gizle işlemlerini bile platforma göre yapmaya kalkarsak işimiz var.

Öte yandan komponent eksiklikleri ve kasıntılar can sıkıcı bir durum. Native Java ve Swift uygulamalarında herhangi bir ListView, ListBox nesnesi jet gibi iken bizimkiler ne yazık ki donarak gidiyor, bazen seçim yaparken tepkimeler yavaş kalıyor. Ekran geçişleri, animasyonlar, TRectangle'ın yüksek dpi'lı cihazlarda pixel hataları vb.

Ve Native uygulamaların ortalama 500kb~4mb bandında iken bizim tarafta aynı uygulamanın en az 7mb ile işe başlaması....

Şuanda ciddi anlamda ekonomik darboğazdan geçiyoruz ülkece. Yatırım yapılacak son yer bir teknoloji şirketine yıllık ciddi ücretler ödemek olacaktır. Beğenmediğimiz Microsoft'un ücretsiz olarak sunduğu veritabanına erişmek için bile Enterprise sürüm satın almamız isteniyor! (FireDAC)

Bu şekilde bırakın ayakta kalmayı, zamanla yok olmaya yüz tutacaklar. Çünkü Microsoft gibi iyi analiz edemiyorlar. C-syntax dillerle mücadelede aşırı yetersizler. Türkiye gibi akademik anlamda kullandırabilecekleri güzelim Object Pascal dilimizi yeşil duvarlar ($) arkasında saklaya saklaya sonunda tüm fakültelerden kazımayı başardılar. Bundan 5-6 yıl önce birçok üniversitede Delphi öğretiliyorken artık yeni öğrencilerin çoğu ne olduğundan habersiz.

Borland zamanında çok güzeldi her şey. XE dedik, vizyon dedik, yeni kan dedik ama ne yazık ki zihniyet Microsoft'tan beter çıktı. Biz şuanda kurumsal anlamda kökleşmiş projeler dışında Delphi üzerinde üretmeye çekiniyoruz. Özellikle kökleşebilecek potansiyelde olanların hepsini Microsoft teknolojilerine kaydırıyoruz. Sebep? Güdülen politikalar. Embarcadero Sencha'yı satın alıyor ama halâ 1000 client'a garantisi olmayan harici bir web framework'üne muhtaç bırakılıyoruz. Embarcadero Firemonkey'i satın alıyor ama halâ tek başına Object Pascal ile Android ve iOS kodları üretemiyoruz bir de yetmezmiş gibi mobil framework'e ve davranışlarına muhtaç bırakılıyoruz. Çok şükür ki Borland'dan miras, stabil oluşu ispatlanmış bir VCL'imiz var, yoksa halimiz ne olurdu...

Şuanda Oxygene'in sıcak gelmesinin altında yatan bir çok sebep var. Her ne kadar karalama kampanyası da deseniz, Embarcadero'nun genel olarak dünyadaki yazılım dillerini ve platformlarını büyük resimden değerlendirerek kendi tekelinde en hızlı derleyici ile kendi teknolojilerine bizleri sıkıştırmasının başka bir izahı yok. Yıllarca Microsoft'a dem vurulan her olay başımıza geliyor ve köşeye sıkıştırılıp iliklerimize kadar tüketiliyoruz. Eğer Delphi'nin bu rahatlıklarından ötürü sesimizi çıkartmıyorsak, bırakalım da Microsoft'un frameworklerinin rahatlığında sıkışalım.

Halâ Delphi ile 5 C# veya 10 Java geliştiricisinin üretebileceği kodu 1~3 kişi üretebilir halde, bunu inkar etmiyoruz ancak bu politikalara karşı bayrağını sallamaya devam ederken bir gün yok olma riskini ve yok edilme riskimizi hesaba katmamız gerekiyor.

Biz Object Pascal geliştiriyoruz ve dilin akıbetine yönelik Embarcadero'nun yaptığı çok aman aman şeyler yok. Ama görüyorum ki Object Pascal Foundation boş durmuyor. C-syntax dillerin esnekliklerini bize sunmak için seferber olmuşlar. 80'li yıllarda Apple'ın kullandığı, 90'ların sonunda C#'ın oluşturucusunun yer aldığı Object Pascal ekibinin kaderini tek bir dialekt (Delphi) üzerinden bu kadar köşeye sıkıştırmak zaten az olan sayımızın giderek azalmasına neden oluyor. Embarcadero maddi destekten, lisanstan dem vururken bizim gibi lisansını sürekli ödeyen insanları sırayla kaybediyorlar.

Tanıdığım birçok Object Pascal geçmişli insan Microsoft teknolojilerine geçti. Sayımız giderek azalıyor ve bir önlem alınmıyor. Eğer yeteri kadar imkanım ve finansmanım olsaydı Object Pascal için yerli bir dialekt yazmak adına önümüzdeki 10-20 yıl, ne kadar ömrüm olursa harcardım. Ne yazık ki bunu yapacak durumum yok. Bunu yapmış olanların çoktan 15 yılını verdiği bir alana destek vermeyi, en azından denemeyi ve başarılı olursam da yönelmeyi düşünüyorum.
Cevapla
#6
(23-11-2018, Saat: 00:51)mcuyan Adlı Kullanıcıdan Alıntı: @Abdullah ILGAZ Bey Delphi pahalı da kime pahalı.. Bize pahalı. Avrupada ki yada amerikada ki bir yazılımcının maaşının yarısından az Delphi Enterprise sürümünün fiyatı ( Avrupa ve amerikada ortalama bir yazılımcı saatine 50-60$ alıyor). Bizde ise b segment 2.el bir araba fiyatı nerdeyse..

@mcuyan  Bey,

Bu durumda 3. dünya ülkelerinde Delphi geliştirilmemeli. Doğru söylüyorsunuz, onlar için çok cüzi rakamlar ancak iş Türkiye'de bir yazılımcı veya yazılım şirketi olmaya gelince maliyetler ve ürettiğiniz katma değerin asıl değerini görememesi, beyaz yaka işini yapıp mavi yaka statüsünde gözükmek, emek hırsızlığı, zaman hırsızlığı ve en önemlisi kaderinizi planladığınız rotanızı yok etme riskiyle yüzleşirken bahsettiğiniz ülkelerin statüsünde ürün üretmeye çalışmak...

Hadi ben tamamen haksız olayım, peki güncel Delphi geliştiricilerinin neden en az %50si halâ Delphi 7 kullanıyor? Embarcadero'nun derlediği hiçbir kodu kullanmayan bu Delphiciler ve Embarcadero'ya yıllık ücret ödeyen Delphiciler arasında onların gözünde hiçbir fark yok. Stratejileri aynen şöyle; "Bizim ürünümüz yeteri kadar iyi. İspatlayacak bir şeyimiz yok. Kullanacaksan parası bu, ver kullan. Kullanmazsan sen bilirsin." Hiçbir şekilde kazanmaya yönelik fiil ve eylemde değiller.

Üzülüyorum...
Cevapla
#7
Embarcadero'nun yıllar önce Oxygene hakkındaki görüşü ve RemObjects'e para ödeyerek lisansladığı Embarcadero Prism ürününün sayfası: https://www.embarcadero.com/products/prism
Cevapla
#8
Merhaba,

Ben Embarcadero'ya çok fazla yüklendiğinizi düşünüyorum. Evet, ürünleri çok pahalı ve verdikleri sözleri de tam anlamıyla tutamıyorlar. Ama Delphi 7'den bugüne Delphi'deki değişimi (özellikle de Embarcadero'ya geçtikten sonra) düşündüğüz zaman adamların boş durmadığı bir gerçek.

Öncelikle şu konuda kesin olarak anlaşalım: Delphi bir RAD aracı. Yani bu araç ile ileri seviye programcılık bilmeden (siz bunu isterseniz low level diye okuyun) satabileceğiniz programlar yazabileceğiniz bir araç. O yüzden de aşağıdaki cümleyi Delphi için söyleyemeyiz:

Alıntı:Microsoft'un bu özelliğinin yazılımcıyı bir operatöre dönüştürdüğünü söylemiştiniz. Ancak Embarcadero'nun kendi teknoloji ekosisteminde bizleri operatöre dönüştürmesine elimiz kolumuz bağlı şahit oluyoruz.

Eğer operatöre dönüştüğünüzü düşünüyorsanız RAD tool kullanmayın Smile Delphi Windows için kullanabileceğiniz en iyi RAD aracı. Buna Microsoft gibi dünya devi firmaların RAD araçları da dahil (.NET projelerinde Visual Studio da RAD aracı gibi davranıyor, ama C++ projelerinde hiç de öyle değil).

Delphi'nin geçmişini 3 parçada incelemek gerekiyor:
1. Borland dönemi: Delphi 2005'e kadar olan dönem. Delphi 7 çok iyiydi, ama Delphi 2005 de şimdiye kadarki en kötü Delphi sürümüydü. Yanlış politikalardan dolayı da çok ciddi kullanıcı kitlesi kaybetti. Kylix macerasından dolayı DevExpress hala multiplatform desteğini vermedi ve bunu da forumlarında açık açık dile getirdi. Hele o anlamsız C# desteğini ne akla hizmet yaptılar anlamak mümkün değil. (Mutlaka sebepleri vardır, ama konumuz bu değil)

2. CodeGear dönemi: İyi niyetli bir şeylerin yapıldığı ama genel olarak yetersiz ve durağan dönem. Bu dönemde aslında sadece IDE biraz toparlandı ve Borland'ın küstürdüğü programcılar kazanılmaya çalışıldı. Ama maalesef kan kaybı devam etti. Emin değilim ama sanırım Codegear döneminde yapılan adam gibi tek yenilik Unicode'a geçmekti. Onu da (bence doğru olmakla birlikte) çok katı bir şekilde yaptılar ve çok tepki aldılar.

3. Embarcadero dönemi: Son bir yıla kadar bu dönem aşırı hızlı gitti ve çok özellik eklendi. Kişisel olarak bu dönemi Delphi'nin gelişimi açısından en iyi dönem olarak görüyorum. Evet, çıkan sürümlerin bazıları gerçekten çok sorunluydu ama hep bir gelişme içindeydi. 

Peki Delphi pahalı mı? Nasıl baktığınıza göre değişir. Her sürümü almak zorunda değilsiniz, kabaca 2 senede bir güncelleme yapmanız yeterli, çünkü stabil bir IDE ancak bu sürelerde ortaya çıkıyor. Architect sürümü de çok gereksiz, çünkü o sürümde daha çok ek araçlar veriliyor ve bunların büyük bir kısmının ücretsiz ya da daha ucuz ve iyi alternatifleri var. Biraz önce BTGrubu'ndan baktım. Professional sürümü 12.311,90 TL, Enterprise sürümü 23.134,05 TL. Diğer ülkelere göre pahalı görünebilir, ama ticari bir firma için abartıldığı kadar değil. Sonuçta 2 senede bir vereceğiniz en yüksek tutar bu. Güncelleme tutarı biraz daha düşük oluyor ama arada sürüm atladığınız için bundan faydalanamadık desek bile çok rahatsız edici tutarlar değil. Asıl sorun bireysel programcılardı, onu da Community Edition ile giderdiler sayılır. Sayılır diyorum çünkü 5000$ sınırı düşük bir sınır. Bu sınırın 10000$ olması gerekiyor, çünkü Delphi'den kazandığınız paranın tamamı kar değil, bunu bir kısmı da gider. Onları düştüğünüzde kalan parayla Delphi satın alabilmeniz gerekiyor. Bu arada DevExpress, Unidac, FastReport vs gibi 3. parti bileşenleri eklemiyoruz, çünkü bunlar aşağı yukarı her araç için geçerli. Delphi'nin 3. parti bileşen alternatifleri çok daha az, bunu da bir yere not etmek gerekiyor.

Burada tartışılması gereken şu: Delphi için kabaca yıllık 10.000 TL harcamamız gerekiyor. Peki muadillerinde durum nedir? Daha düşük. Örneğin Visual Studio lisansa bağlı olarak ücretsiz olabiliyor (karışık biraz). RemObjects Oxygene (gene BTGrubu'dan baktım) tek platform 4.388,37 TL. Diğer platformları da eklersek herhalde 10.000 TL'yi bulur. Peki kalite olarak baktığımızda durum nedir: Masaüstü uygulamalar için tartışılmaz, Delphi açık ara önde. Standart web uygulaması için Delphi işe yapamaz ama özelleşmiş web sunucuları için bence ortada. MacOS için bence yine Delphi açık ara önde. İş mobile geldiğinde durum tartışılır. Bence Delphi yeterince iyi değil, ama bu diğerleri iyi anlamına gelmiyor. RemObjects'i bilmiyorum, ama Xamarin iyi değil. (Bir Delphi alternatifi olarak Lazarus kullanmanın ekonomik sebeplerden ziyade biraz daha siyasi görüşle ilgili olduğunu düşünüyorum, o yüzden bir alternatif olarak incelemeye almıyorum).

Yukarıdaki sonuçlara katılıyorsanız hesap ortada: Masaüstü uygulamalar yaparak para kazanıyorsanız Delphi'ye verdiğiniz parayı çok görmeyin. Mobil uygulamalar yazıyorsanız bence hedef kitlenizi iyi değerlendirin: Basit - orta seviye business applicationlar için bence Delphi yeterli, ama daha fazlası gerekiyorsa her platformun kendi araçlarını kullanmak daha mantıklı.

Asıl konudan sapmış gibi görünüyorum, ama bu son paragrafla olayı bağlayım Smile

Eğer Delphi'den vazgeçeceksem bunun sebebi Delphi'nin pahalı olması veya Embarcadero'nun verdiği sözleri tutmaması olmayacak. Delphi'nin teknolojik olarak çok yetersiz kalması (biraz yetersizi tolere edebilirim Big Grin ) ya da Delphi'den daha iyi bir ürünün çıkması olacaktır. Şu an için böyle bir durum yok. O yüzden de benim için "Escape from Delphi" diye bir şey yok. @Abdullah ILGAZ'ın bahsettiği sebeplerin de Delphi'den uzaklaşmak için yeterli olduğunu düşünmüyorum (gerçi lisans ücretleri konusunda yazdıkları insanı gerçekten de çileden çıkarır durumda, keşke BTGrubu ya da Embarcadero bu konuda biraz hassas davransaydı).

İyi çalışmalar
Cevapla
#9
Madem fiyat politikası, geliştirici şirketin bakış açısı gibi konularsa uygunsuz davrandığını düşünülüyorsa.

Şahsi görüşüm bu gibi hayıflanmalara çözüm olarak.
PHP,
Free Pascal,
Java,
Andorid Studio,
Swift,
C++,
Phyton,
Ruby

Özellikle Java tüm işleri yürütmede(Web, Desktop, Multi Platform) yardımcı ücretsiz ve bol kaynaklı bir yardımcı olacaktır. Devlet kanadında bile e-Fatura java ile geliştirilmiş durumda.
Android Studio da Javayı öğrenmeniz durumunda çok fazla sıkıntı yaşamadan Android tarafında Mobile Uygulama geliştirmenize olanak sağlayacaktır.
IPhone lar içinde Mobile Uygulamada Swift işinizi görecektir.

Belki birden fazla dil ile uğraşacaksınız. Fakat ücret lisans derdiniz olmayacak. Buna ek olarak Mobil tarafında OS geliştiricilerin ana geliştirme ortamını kullanacaksınız. Sürüm uygunluğu, destekledi desteklemedi derdiniz olmayacak.

Sırf Web uygulama yapacaksanız PHP de kullanabilirsiniz.

Bunlara ek olarak veri tabanı olarak da ücretsiz birçok seçenek mevcut. Oracle veya MsSQL muadili.
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#10
Cevap içeriğiniz her cümlesiyle bir mana taşıdığı için kususra bakmazsanız, Delphi ve Embarcadero'yu yıllardır teknik anlamda bir kitap yazacak kadar analiz eden biri olarak, bunların tümünü irdelemek istiyorum.
"Embarcadero'nun tüm ürünleri de Windows tabanında çalışıyor." demişsiniz; Windows'u kullanmayalım diye bir şey söylediğimi hatırlamıyorum. Ya da Microsoft ürünlerinden hiçbirini kullanmayalım dediğimi de hatırlamıyorum. Yalnızca yazılım geliştirme ürünlerini ve bu amaçla kullandığı politikaları beğenmiyorum ve her fırsatta da bunu dile getiriyorum.
"Her ne kadar kendisi cross-platform mimarisini savunsa da halâ macOS ve linux tabanında bir geliştirme aracı üretemiyor." demişsiniz; Cross platform mimarisi, IDE'nin her platformda çalışacağı manasına gelmiyor. Yalnızca geliştirdiğiniz ürünler için bu iddiada bulunuyor.
"TargetSdkVersion olayı..." demişsiniz; Delphi 10.3 Rio çıkmadan önce Android API Level 26 veya daha üstü bir sürüm için Google Play üzerinde uygulama yayınlayamadınız mı?
Buna "yayınlayamadım" diyemezsiniz. Çünkü AndroidManifest bunun için var. Bir parametre değişikliği ile yayınlanıyordu. Bu durum kurulmuş olan alt yapının ileriye yönelik olduğunu gösteriyor.
"Community Edition'ı bile mahalle baskısına maruz kaldıkları için çıkarttıkları kanaatindeyi..." Smile Hangi teknoloji devi baskıyla böyle bir eğilim gösterebilir?
"Embarcadero'ya karşı çok kızgınım ve çok kırgınım." demişsiniz; bu kişisel kızgınlığınızı mümkünse bize yansıtmayın. Bizde çok şeye kızıyoruz fakat burada bunları yazmıyoruz.
"2015'ten bu yana FMX adına elle tutulur bir imkan sunmamışlar bize! " demişsiniz; özetle:
Delphi 10 Seattle (2015): OS X IFMXDragDropService ve Windows SharingContract ile uygulamalar arası veri paylaşımı, Android servis uygulaması, 4K High-DPI ve birden fazla monitör desteği, Windows 10 desteği, VCL ActivityIndicator, SearchBox, RelativePanel, ToggleSwitch, SplitView, NotificationCenter bileşenleri, TJsonTextReader, TJsonTextWriter, TBsonReader ve TBsonWriter sınıfları, Auto Recovery, Object Inspector filter panel, iOS 64 bit cihaz debugging, MongoD, DataSnap client uygulamaları, OpenSLL kütüphanesine ihtiyaç duymadan (System.NET ile) HTTP ve HTTPS’e doğrudan bağlanabilme gibi birçok özellik kullanılmaya başlandı.
Delphi 10.1 Berlin (2016) : Utf8String, WinRT entegrasyonu, iOS 10 ve Android 6.0 ve 7.0 desteği, rehbere doğrudan erişim, Style Designer, ListView Item Designer, 144 ve 120 DPI monitör desteği, IFMXDialogServiceAsync ve IFMXDialogServiceSync servisleri ile senkron ve asenkron mesaj pencereleri, ShowMessageAsync, ShowMessageSync, MessageDialogAsync, MessageDialogSync, InputQueryAsync, InputQuerySync, IoT ve ThingPoints teknolojisi, JSon Streaming, FireUI Live Preview ile eş zamanlı cihaz tasarımı, Toxicity Metrics gibi daha birçok özellik kullanılmaya başlandı.
Delphi 10.2 Tokyo (2017): Linux sunucu uygulamaları geliştirme, FMX için Quick Edit özelliği, IDE Theming ile Delphi IDE renk stilleri kullanma, iPhone X ve iOS 11 SDK desteği, Android 8 SDK desteği sunuldu. Delphi Derleyicileri
"Örnek vermek gerekirse Bluetooth yazıcının iOS bir cihazla çalıştırılması." demişsiniz; bu Embarcadero'nun sorunu değil Apple'ın harici iletişim protokollerini desteklememe politikasıdır.
"Bir yanda Java için Bridge kullanırken öteki tarafta ne olacak? " demişsiiniz. Öteki tarafta doğrudan Objective-C kütüphanesi kullanılabiliyor. Ya da Objective-C için bir bridge oluşturabilirisiniz.
"IFDEF Android, iOS, Windows.... Sadece ekranda nesne göster gizle işlemlerini bile platforma göre yapmaya kalkarsak işimiz var." demişsiniz. IFDEF'e haksızlık etmişsiniz. Multi-Platform mimari ile lanse edilen bir çok teknoloji firması tek bir kaynak kodun tüm platformlarda çalışabilirliğini yapamadı.
Her platform için ayrı bir proje ve ayrı bir kaynak kodu ve hatta her cihaz çözünürlüğü için farklı bir tasarıma ihtiyaç duydu.
RAD Studio ile tek bir kaynk kod ile binlercecihazda çalışabilir. (Bunu Google Play ve Apple Store anlizlerinden görebilirsiniz.).
Yapay zekanın etkinleştirildiği bir çağda eminim IFDEF'eihtiyaç kalmayacaktır. Aksi durumda derleyici, kodu nereye veya kimin için yazdığınızı bilmesi imkansızdır.
Daha az kod yazmak veya IFDEF kullanmamak için FMX kütüphaneleri yeterli olacaktır. Bana göre ne kadar çok kod yazarsanız programlama beceriniz o kadar artacaktır.
"Native uygulamaların ortalama 500kb~4mb bandında iken bizim tarafta aynı uygulamanın en az 7mb ile işe başlaması" demişsiniz;
Hangi son kullanıcı, diskten 7 mb.'ımı yediniz diye geri dönüş yaptı. Smile Ya da bu fark çok mu uçuk?
"Bundan 5-6 yıl önce birçok üniversitede Delphi öğretiliyorken artık yeni öğrencilerin çoğu ne olduğundan habersiz." demişsiniz; doğrudur. 8-10 Yıl önce C# furyasına kapılan genç öğrencilerimiz, şu an bilgisayar programlama bölümlerinde hoca oldular. Ne bekliyorsunuz? Ben zamanında C# öğrendim ama Delphi öğretmek istiyorum mu diyeceksiniz?
Microsoft'un tek takdir ettiğim yönünü her zaman dile getirdiğim gibi burada da dile getireyim. Reklam ve tanıtım politikası ve bu konudaki analiz yeteneğini takdir ediyorum. Daha önce söylemiştim ve birkez dah daha söylüyorum; emin olun bu teknoloji (FMX) Microsoft'un elinde olsaydı, çağ atlatan teknoloji diye dünya çalkalanıyor olacktı.
"Embarcadero Firemonkey'i satın alıyor ama halâ tek başına Object Pascal ile Android ve iOS kodları üretemiyoruz" demişsiniz; nasıl yani? FMX ile Android ve iOS geliştirilemiyor mu?
"...en azından denemeyi ve başarılı olursam da yönelmeyi düşünüyorum." demişsiniz; başarı ve bol kazanç diliyorum.
Bir sonraki bir cevabınızda: "Delphi geliştiricilerinin neden en az %50'si hala Delphi 7 kullanıyor?" demişsiniz; bu orana nasıl ulaştınız, gerçekten merak ettim. Delphi ile yazılım geliştiren tüm firmalar (buna diğer ülkeler de dahil) ve kişisel geliştiriciler bu orana dahil mi?
200 Milyon nufusu aşan Rusya ortaokul birinci sınıftan, lise sona kadar akademik lisanslı ve zorunlu olarak, 8 yıl okullarında Delphi dersi veriyor. Rusya buna dahil ise hesaplamada bir hata var!
Yazılacak çok şey var, fakat zamanım yok.
Sözün özü, uzun yıllar Delphi ile çıkan tüm teknolojileri istisnasız olarak test eden biri olarak şunu söylemeyi bir borç biliyorum; şu an gelmiş olduğumuz nokta, her zaman bir önceki yıla göre çok çok daha iyi.
Farklı bir yazılım diline yönelen hiçbir arkadaşıma dur demedim, fakat yukarıda anlatmak istediğim genel durumu da izah etmeyi ihmal etmedim.
Bu nedenle sizin özgür iradeniz eminim en doğru yolu bulacaktır.
DelphiCan, gönüllü Delphi platformudur!
DelphiCan'dır!
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi RabbitMq 3ddark 8 4.233 21-11-2022, Saat: 18:26
Son Yorum: 3ddark
  Raspberry Pi, MQTT ve Delphi SimaWB 15 12.118 26-01-2022, Saat: 15:08
Son Yorum: Jakarta2
  Nodemcu ile Delphi json haberleşme arsl01 10 9.893 24-12-2021, Saat: 09:25
Son Yorum: arsl01
  OpenAI GPT3 Nedir? Delphi ile Kullanımı Tan Ay 1 2.033 07-05-2021, Saat: 15:40
Son Yorum: mrmarman
  Delphi ve PLC Haberleşmesi hk. Abdullah ILGAZ 12 15.153 24-08-2020, Saat: 19:02
Son Yorum: Onur



Konuyu Okuyanlar: 1 Ziyaretçi