Aslında çoook güzel bir tartışma oluyor. Okuması da çok keyifli. Hatta
gaza geldim ben de 1-2 şey yazayım istedim.
Ben Pascal->C->Delphi yolunu izlemiş bir programcıyım. Şu anda da yoğun
olarak Delphi kullanıyorum. Ayrıca zaman zaman C++, Python, Php, C#,
Visual Basic ve Java ile ilgilenmişliğim var. Bu dillerin tamamını
kendime yetecek, orta seviye bir uygulama geliştirebilecek kadar
biliyorum. Ama Delphi'yi daha uzun süre kullandığımdan daha iyi biliyorum.
Peki neden Delphi, neden C++ değil?
Benim delphi'ye geçtiğim dönem C++ ile windows için görsel program
geliştirmek çok zordu. Borland'ın C++ builder'ı vardı ama Delphi kadar
yaygın değildi. Ve bulunduğum yerde C/C++ bilen yoktu. Herkes Delphi
kullanıyordu. Tabi o zamanlar internet de pek aktif değildi. En hızlı
Modem 33600kpbs idi. Bu sebeple de dopal olarak Kaynak sıkıntısı olmayan
(Ingilizcem de yeterli değil.) Delphi iyi bir tercihdi.
Delphi gibi bir IDE kullanmak gerçekten de programın geliştirilme
sürecini ciddi anlamda kısaltıyor. Bazı arkadaşlar "aynı programı C'de
daha kısa sürede yazarım" diyebilir belki. Ancak Delphi'yi iyi bilen
birinden daha hızlı yazamazsınız (Görsel arabirim dahil). IDE'nin müthiş
kolaylıkları var.
Ancak; bu kolaylık beraberinde ciddi bir sorunu da getiriyor. IDE her
şeyi o kadar kolaylaştırıyor ki bir müddet sonra gerçek programlama
mantığından kopuyorsunuz. Zira IDE üzerinden hiç kod yazmadan pek çok
şeyi yapabilir hale geliyorsunuz. Bu beraberinde tembelliği getiriyor.
Bu konuda şöyle bir örnek vereyim; Yaklaşık 6 ay kadar önce plattform
bağımsızlık amacıyla Delphi'yi bırakıp Java'ya geçmeye karar verdim.
Netbeans IDE'yi indirdim. Sonra Eclipse'i indirdim. Sonra Idea'yı
indirdim. Hiç birine ısınamadım. Kullanamadım. Hep Delphi'nin
kolaylıkları önümde durdu. Aynı sebeple Visual Studio'ya da
alışamamıştım mesela. Keza Python'dan da aynı sebeple vazgeçtim.
Bundan senelerce evvel bir arkadaşa Delphide kendi komponentlerimi
yazmak istiyorum demiştim. Bana cevaben "hazır yazılmışı var. Amerikayı
yeniden keşfetmenin anlamı yok. Amaç program yazmak. Ele alınır bir ürün
çıkarmak. O kadar detayla uğraşma" demişti. Ben de o zamanki
imkansızlıklardan dolayı fazla üzerinde duramamıştım. Ancak son 2-3
yıldır delphi de kendi yazdığım bir kaç komponenti kullanıyorum. Evet
Amerikayı yeniden keşfediyorum. Delphi sağladığı müthiş kolaylıklar
yüzünden hep "Amerikayı keşfe gerek yok. Adam zaten keşfetmiş" mantığını
zihnimize yerleştirdi. Şimdi hiç bir IDE'ye alışılamıyor.
Bugün QT Creator ile C++ çalışıyorum.
Eclipse'de Java ile Android programlama yapıyorum ve Delphi ile Datasnap
üzerinden birbirlerini haberleştiriyorum. Yani artık diğer IDE'lere de
alışmaya başladım. Artık tembellikten sıyrılıyorum iyice. Evet Tembellik
yapıyordum her işi IDE yükleyerek.
Tabi tembellik desek de piyasa şartları gereği davranmak gerekiyor kimi
zaman. Yoksa işsiz kalıyorsunuz. C veya C++ bilen birinin iş bulması
Java, C# bilen biri kadar değil. Hal böyle olunca da herkes arka planı
bırakıp ön planla ilgileniyor. Bugün pek çok kimse GTK, WxWidget, QT
gibi framework/Grafik araç takımlarından haberdar değil.
Bugün C++ ile QT, GTK, WxWidget gibi alternatif görsel kütüphaneler
mevcut. Hatta iyi ingilizceniz varsa internette oldukça çok kaynak var.
Yani gerektiğinde kendi grafik kütüphanenizi yazabileceğiniz kadar
kaynak. Örneğin ben şu anda C++ ile QT üzerinde program geliştirmek için
kendimi eğitiyorum. (Bu konuda elinizde Türkçe kaynak falan varsa
alabilirim. Zira ingilizcem yeterli değil. Gerçi kodlardan aradığım
şeyleri dil farketmeksizin buluyorum ama amaç mantığını öğrenmek).
Yanlış hatırlamıyorsam Görsel kısmın çok önemli olmadığı yazılmıştı.
Asıl önemli kısmın arka planda ki kodların olduğu söylenmişti. Bir
programcı açısından doğru bir düşünce gibi. Ancak eğer görsel kısım iyi
olmayınca arka planın da bir önemi kalmıyor pek çok sektörde. Örneğin;
Yıllar önce bir şirkete programcı olarak girmiştim. Visual Basic'te
yazılmış bir muhasebe programı vardı. Arka plan yani kodlar karman
çorman ve kötüydü. Ama programın her formu başka bir renkteydi. Biri
sarı, diğeri yeşil, öbürü pembe... O zaman çok şaşırmıştım. "Bu programı
kimse almaz. Programın her tarafı yamalı. Tam düzgün çalışmıyor. Bu
programı Delphi ile baştan yazalım." dedim. Ayrıca her formun farklı
renklerde olmasını da eleştirdim. Aldığım cevap çok enterasandı.
"Kodları sen görüyorsun. Müşteri görmüyor. Ayrıca her formun ayrı
renklerde olması programı güzel gösteriyor. Pek çok kişi sırf bu yüzden
alıyor programı".
Çok uzun yazdım. Ayrıca yazarlığım çok da iyi olmadığından bazı
kopukluklar olabilir. Kusura bakmayın.
Özetle; Hangi programlama dilini çok iyi biliyorsanız, onunla hızlı
program geliştirirsiniz. Java, Delphi, Python, PHP ve C# gibi diller
amaca yönelik dillerdir. C/C++ ise daha alt düzey dillerdir. Web sitesi
yazacaksanız bunu C++ ile de yapabilirsiniz. Sonuçta 1-2 yönlendirmeye
bakar iş. Ancak PHP ile daha hızlı yazarsınız. Zira birileri sizin C/C++
ile yazmanız gereken kodları zaten yazmış, hazırlamış. Size sadece
kullanmak kalmış. C/C++ ile Delphi'de yazdığınız bir programın aynısını
yazabilirsiniz. Sonuçta windows apileri kullanılıyor. Siz oturup o
apileri kullanarak C/C++'da da aynı programı yazabilirsiniz. Ama Delphi
kullanırsanız daha kolay yaparsınız. Adamlar yazmış, hazırlamış.
Sonuçta tüm dillerin arka planlarında C/C++ var.
On 24-04-2012 17:51, Atıf CEYLAN wrote:
Hocam bu konu ilk acildiginda benzer seyleri ifade etmistim. Yani
kisilere gore bu kavramlar degisir ve kirimizi mi guzel? mavi mi?
sorusunu tartismak gibi olur bir nokta da filan diye...
Sonra ne olduysa is C ile uygulama gelistirmek zor is filan gibi bir
noktaya kaydi. Ben kendi adima bu noktaya takildim. O nedenle boyle
ornekler verip duruyorum.
Israrla elma mi daha lezzetli armut mu daha yesil deyip duruyoruz.
Ayrica java ile kod gelistirmedim, sanirim gelistirmeyecegim de...
Bakin bu da kisisel bir sey oldu. Sanirim dugum noktasi burasi.
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php