QT Library ile uygulama geliştirmek, nasıl?
C/C++ IDE'si için benimde önerim Eclipse'in CDT pluginleri. Hatta ne kadar şanslısınız ki geçtiğimiz günlerde Eclipse projesi Callisto adıyla bir ürün yayınladı. Aslında ürün değil, Eclipse'in altprojelerinin tümünü birbiriyle uyumlu çalışacak şekilde tek bir dağıtımda topladılar. Eclipse'in çekirdek kodunu indiririyorsunuz ve güncelleme yaparak Java, C/C++, Web, Test, Performans ve Veritabanı eklentilerinin tümüne sahip oluyorsunuz.
http://www.eclipse.org/callisto
C/C++'ı burda deneyebilirsiniz, hatta Javayada bakabilirsiniz, tek bir IDE'den.
Son olarakta şunu ekleyeyim: Bence C++'dan uzak durun, özelliklede tek kişi programlayacaksanız. C++ algoritma kodlamak için iyi bir dil ama çoklu platform, güvenilir kod gibi kavramların daha olmadığı bir dönemden kalma. Java, c# bunları sağladıkları için varlar.
Ben Java'ya eğilin derim
İyi çalışmalar.
http://www.eclipse.org/callisto
C/C++'ı burda deneyebilirsiniz, hatta Javayada bakabilirsiniz, tek bir IDE'den.
Son olarakta şunu ekleyeyim: Bence C++'dan uzak durun, özelliklede tek kişi programlayacaksanız. C++ algoritma kodlamak için iyi bir dil ama çoklu platform, güvenilir kod gibi kavramların daha olmadığı bir dönemden kalma. Java, c# bunları sağladıkları için varlar.
Ben Java'ya eğilin derim
İyi çalışmalar.
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Rubby ve Lisp için geleceğin dili gibi bir yaklaşım var bu sektörün gurularının açıklamalarında.Özellikle 4-5 yıl sonra olay daha çok yapay zeka uygulamalarına kayacağı için (ya da öyle hesaplanıyor..) Lisp, en cazip dil gibi..Ama madem bunu ticari anlamda düşünüyoruz ve hepsinden önemlisi madem TÜRKİYE yazılım piyasasındayız, uzuuun bir süre daha win32 ve veritabanı programcılığına devam etmemizde bir sakınca yok..Buradan win32'ye takılı kalmamız gerektiğini düşündüğüm gibi bi anlam çıkarmayın..Java'nın en büyük eksilerinden birisi yavaş olması ama bu, öyle kullanıcıyı canından bezdirecek düzeyde de değil elbette.Ve tabii biraz daha zamana ihtiyacı var...
Bir şey daha dikkatimi çekti, Linux'la ilgili söylenenlerden..Kişisel fikrim Linux'un en önemli sıkıntısı da aynı çekirden envai çeşit OS'ların türetilmesi..Bunu bir çatı altında toplamadıkları sürece de ciddi bir son kullanıcı kitlesi oluşturabileceklerini sanmıyorum.Ha server olarak harika o ayrı tabi..
Kolay gele..
Bir şey daha dikkatimi çekti, Linux'la ilgili söylenenlerden..Kişisel fikrim Linux'un en önemli sıkıntısı da aynı çekirden envai çeşit OS'ların türetilmesi..Bunu bir çatı altında toplamadıkları sürece de ciddi bir son kullanıcı kitlesi oluşturabileceklerini sanmıyorum.Ha server olarak harika o ayrı tabi..
Kolay gele..
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Şimdi yakında (balık kavağa çıkınca
) Vista çıkacak.
Teorik olarak tüm beklentilerimizi karşıladığını varsayarsak, ve sitesinde de belirtildiği 8ı kadar farklı sürümü olacağını göz önüne alırsak, ki bunların içinde de ev kullanıcıları için cazip fiyatlar olduğunu düşünürsek. Microsoft epeyce bir süre ekmek yer. Bakarsınız, tahtında rahat rahat oturur.
Diğer işletim sistemlerine büyük bilgisayar üreticileri ve yazılımcıları destek vermediği sürece Linux yayılma sürecinde yerinde sayacaktır. Linux vb. sistemleri genelde hep öğrenciler destekliyor. Ha bire open source yazın, kapalı prog. yazmak ayıptır günahtır diyorlar. Tabi nasıl olsa ekmek elden su gölden. Bi de ne hikmetse dikkatimi çekti, pardus falan gelşitiren ekipteki bazılarının kişisel sitelerine baktım, hepsi yurtdışına tatil matil iyi iş valla..
Bilgisayar kullanıcıları bilinçlendi, artık bilgisayarın sadece ucuz olanını değil özellikle servisi sağlam olanını tercih ediyorlar. Tabi Türkiye şartları için konuşuyorum. Ayrıca ödeme kolaylıkları vs. hepsi birer etken. ADam 18 ay vade ile bilgisayar satıyor 80 dolarlık XP lisans ücreretini fiyata eklese ne olur eklemese ne olur. Alan farkında bile olmaz.
Microsoft ilerleyen yıllarda karşımıza acayip bir fikirler çıkarsa şaşmam. Vista open source der mi der.
Şöyle bir yazı okumuştum vaktiyle.(tamamı için tıklayınız)
Saygılar...

Teorik olarak tüm beklentilerimizi karşıladığını varsayarsak, ve sitesinde de belirtildiği 8ı kadar farklı sürümü olacağını göz önüne alırsak, ki bunların içinde de ev kullanıcıları için cazip fiyatlar olduğunu düşünürsek. Microsoft epeyce bir süre ekmek yer. Bakarsınız, tahtında rahat rahat oturur.
Diğer işletim sistemlerine büyük bilgisayar üreticileri ve yazılımcıları destek vermediği sürece Linux yayılma sürecinde yerinde sayacaktır. Linux vb. sistemleri genelde hep öğrenciler destekliyor. Ha bire open source yazın, kapalı prog. yazmak ayıptır günahtır diyorlar. Tabi nasıl olsa ekmek elden su gölden. Bi de ne hikmetse dikkatimi çekti, pardus falan gelşitiren ekipteki bazılarının kişisel sitelerine baktım, hepsi yurtdışına tatil matil iyi iş valla..
Bilgisayar kullanıcıları bilinçlendi, artık bilgisayarın sadece ucuz olanını değil özellikle servisi sağlam olanını tercih ediyorlar. Tabi Türkiye şartları için konuşuyorum. Ayrıca ödeme kolaylıkları vs. hepsi birer etken. ADam 18 ay vade ile bilgisayar satıyor 80 dolarlık XP lisans ücreretini fiyata eklese ne olur eklemese ne olur. Alan farkında bile olmaz.
Microsoft ilerleyen yıllarda karşımıza acayip bir fikirler çıkarsa şaşmam. Vista open source der mi der.
Şöyle bir yazı okumuştum vaktiyle.(tamamı için tıklayınız)
Bu yazı bile yeterince düşündürücü, ki bunu yazan adam Microsoft'un içinden gelen biri.Joel on Software yazdı:Linux'un Microsoft için büyük bir tehdit olduğu konusunda haklılık payı olsa da, Redmond şirketinin ölümü hakkındaki tahminler şimdilik vakitsizdir. Microsoft, bankada inanılmaz miktarda nakit paraya sahiptir ve hala akıl almaz derecede karlıdır. Çökmeleri için çok uzun bir yolları var. Muhtemel bir tehlike içine girmek için on yıl boyunca her türlü yanlışı yapabilirler ama son dakikada bile kendilerini bir buz şirketi olarak baştan yaratabilirler... ve siz bunun farkına varmazsınız bile. Bu yüzden bir kenara fırlatıp atmak için o kadar aceleci davranmayın. 90'lı yılların başında herkes IBM'in tamamen tükendiğini düşünüyordu: mainframeler tarih olmuştu! Daha sonradan, Robert X. Cringely, mainframe devrinin 1 Ocak 2000 tarihinde biteceği tahmininde bulundu. COBOL ile yazılmış tüm uygulamalar çöktüğünde, insanlar kaynak kodları çoktan kaybolmuş bu uygulamaları düzeltmek yerine baştan yazacaklardı.
Saygılar...
Yazılıma göre dil seçilmeli bence. Ticari uygulama yazacak kimse oturupta lisp kullanmamalı zaten bir kere lispin geliştirme amacına aykırı. Ya da veritabanına bağlan kaydet kayıt çek için de c kullanılmamalı bence. Fazla dil öğrenmeli, projeye göre dil kullanılmalı kanısındayım. "Cross platform" yazılımlar için c++ kullanmak bence çözüm değil, zira c++ ın kendi içinde derleyici standartları dahi farklı. Tamamen "cross platform" olarak üretilmiş Ruby, Python, Real Basic vb... kullanılabilir. Kişisel tercihim RUBY yönünde. Hayranıyım, savunucusuyum bu dilin. Cross platform uygulama için veritabanıda cross platform olmalı, arayüz de, kullanılan dil de, kütüphaneler de.
JavaScript çok gelişti, ajax, arayüz olayları. İlla pencere tabanlı arayüzler kullanmaya da gerek yok. Sunucu üzerine kurup programı web browser için bir ufak program yazıp onun üzerinde gösterilebilir de program.
Seçenek çok önümüzde, iyi tercih iyi yazım sonucunda iyi yazılım oluşturmak için.
JavaScript çok gelişti, ajax, arayüz olayları. İlla pencere tabanlı arayüzler kullanmaya da gerek yok. Sunucu üzerine kurup programı web browser için bir ufak program yazıp onun üzerinde gösterilebilir de program.
Seçenek çok önümüzde, iyi tercih iyi yazım sonucunda iyi yazılım oluşturmak için.
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Madem RUBY dedin seni yakalamışken sorayım. Evvelki yazımda da bahsederken RUBY şöyle bir baktım, bakmamında sebebi okuduğum bir kaç yazı idi. PINAR adlı bir bayanın bir seminer kayıtlarını okudum. İyide anlatmış. Ayrıca comu.edu.tr de bir Türkçe kaynak bile var.mceL yazdı:Yazılıma göre dil seçilmeli bence. Ticari uygulama yazacak kimse oturupta lisp kullanmamalı zaten bir kere lispin geliştirme amacına aykırı. Ya da veritabanına bağlan kaydet kayıt çek için de c kullanılmamalı bence. Fazla dil öğrenmeli, projeye göre dil kullanılmalı kanısındayım. "Cross platform" yazılımlar için c++ kullanmak bence çözüm değil, zira c++ ın kendi içinde derleyici standartları dahi farklı. Tamamen "cross platform" olarak üretilmiş Ruby, Python, Real Basic vb... kullanılabilir. Kişisel tercihim RUBY yönünde. Hayranıyım, savunucusuyum bu dilin. Cross platform uygulama için veritabanıda cross platform olmalı, arayüz de, kullanılan dil de, kütüphaneler de.
JavaScript çok gelişti, ajax, arayüz olayları. İlla pencere tabanlı arayüzler kullanmaya da gerek yok. Sunucu üzerine kurup programı web browser için bir ufak program yazıp onun üzerinde gösterilebilir de program.
Seçenek çok önümüzde, iyi tercih iyi yazım sonucunda iyi yazılım oluşturmak için.
RUBY'de (Windows için konuşalım) EXE bir uygulama çıkartılabiliyor mu, yoksa illaki bir motora mı ihtiyacı var? Sadece 15-20 dk baktım. Detaylı inceleme şansım olmadı. RUBY konusunu biraz daha açabilir misin? Çünkü gördüğüm kadarıyla bazı özellikleri .NET'e bile aktarılmış. Çöp toplayıcı özelliği bilhassa...
Saygılar..
Çeviri için çeşitli projeler mevcut. Derleyebiliyorsunuz çeşitli projeler ile.
http://www.erikveen.dds.nl/rubyscript2exe/index.html bulabildiğim bir exe çevirici mesela.
Ruby hakkında ise, en güzel özelliği tamamen nesnel olması. Örneğin
"ruby nesnel bir dildir".capitalize veya StrLen('ruby') değil de "ruby".length. Şudur ki açıkta fonksiyon bulunmuyor, ana fonksiyonlarda dahi system nesnesine bağlı yani alıp puts komutunu değiştirebilirsiniz ya da integer sınıfını değiştirebilirsiniz. Çok esnek bir dil, yazım dizimi çok güzel. Henüz ticari bir uygulama yazmadım ruby ile ama en kısa zamanda düşünüyorum ufakta olsa bir uygulama geliştirmeyi.
bir de ruby.net ile ruby ile yazıp CLI ye çevirip .Net olarak derleyebiliyorsunuz.
http://www.erikveen.dds.nl/rubyscript2exe/index.html bulabildiğim bir exe çevirici mesela.
Ruby hakkında ise, en güzel özelliği tamamen nesnel olması. Örneğin
"ruby nesnel bir dildir".capitalize veya StrLen('ruby') değil de "ruby".length. Şudur ki açıkta fonksiyon bulunmuyor, ana fonksiyonlarda dahi system nesnesine bağlı yani alıp puts komutunu değiştirebilirsiniz ya da integer sınıfını değiştirebilirsiniz. Çok esnek bir dil, yazım dizimi çok güzel. Henüz ticari bir uygulama yazmadım ruby ile ama en kısa zamanda düşünüyorum ufakta olsa bir uygulama geliştirmeyi.
bir de ruby.net ile ruby ile yazıp CLI ye çevirip .Net olarak derleyebiliyorsunuz.
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
biraz geç kalmış olabilirim ama bende birşeyler söyleyeyim dedim
öncelikle Cross-platform uygulma için
1- Cross-platform IDE
2- Cross-platform Kütüphaneler
IDE olarak CodeBlocks biçilmiş kaftan Windows ve Linux -Ubuntu - altında kullandım.
Cross-platform Kütüphanelerden öncelikle GUI olarak QT yi tavsiye edemiyorum çünkü ticari kullanımı ücretli
bakınız
http://www.trolltech.com/products/qt/licenses/pricing
GTK WxWindows FLTK gibi -ücretsiz -değişik seçeneklerde var ben şahsen CodeBlocks ile FLTK kullanıyorum.
Veritabanı olarak
FireBird IBPP
Sqlite
Postgresql libpq
el hasıl değişik konularda değişik ücretsiz kütüphaneler var
bunlardan Cross-platform olanlarını kullanarak Cross-platform uygulama geliştirilebilir.
benim bazı çalışmalarım oldu
bakınız
öncelikle Cross-platform uygulma için
1- Cross-platform IDE
2- Cross-platform Kütüphaneler
IDE olarak CodeBlocks biçilmiş kaftan Windows ve Linux -Ubuntu - altında kullandım.
Cross-platform Kütüphanelerden öncelikle GUI olarak QT yi tavsiye edemiyorum çünkü ticari kullanımı ücretli
bakınız
http://www.trolltech.com/products/qt/licenses/pricing
GTK WxWindows FLTK gibi -ücretsiz -değişik seçeneklerde var ben şahsen CodeBlocks ile FLTK kullanıyorum.
Veritabanı olarak
FireBird IBPP
Sqlite
Postgresql libpq
el hasıl değişik konularda değişik ücretsiz kütüphaneler var
bunlardan Cross-platform olanlarını kullanarak Cross-platform uygulama geliştirilebilir.
benim bazı çalışmalarım oldu
bakınız
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Ticari uygulama geliştirmek için Lisp kullanabilirsiniz gibi bi ifade mi geçti ben mi kaçırdım?Zaten Lisp'in yapay zeka için geliştirildiğini ve ilerleyen yıllarda buna ciddi anlamda ihtiyaç duyulacağı için çok cazip bir dil olabileceğinin altını çizmiştimmceL yazdı:Ticari uygulama yazacak kimse oturupta lisp kullanmamalı zaten bir kere lispin geliştirme amacına aykırı.

Dil öğrenmek diye bi olay yoktur yazılımda.Mantığı öğrenirsin sonrası syntax..Bu dil öğrenmek değil..Korhan Kaya'ya hangi dilleri biliyorsun diye sordular, hepsini cevabını verdi vs.vs.mceL yazdı: Fazla dil öğrenmeli, projeye göre dil kullanılmalı kanısındayım.
Üzgünüm ama yanlış cevap vermiş. Programcılığın temelinde algoritma olduğu doğru, ama kullanıdığınız dile hakim olmadığınız takdirde algoritmayı neye göre geliştireceksiniz. Farklı programlama dillerinin ortaya çıkmasının tek sebebi söz dizimi değil. Dillerin yapısı, performansı, destekledikleri özellikler, sundukları kolaylıklar neredeyse hepsinde farklı. O yüzden kimileri Delphi, kimileri Visual Basic, kimileri de C, C++ gibi diller kullanıyor.Dil öğrenmek diye bi olay yoktur yazılımda.Mantığı öğrenirsin sonrası syntax..Bu dil öğrenmek değil..Korhan Kaya'ya hangi dilleri biliyorsun diye sordular, hepsini cevabını verdi vs.vs.
Örneğin socket programcılığını düşünün. Delphi'nin TClientSocket ve TServerSocket bileşenlerini kullanacağızı düşünelim ve belirli recordlar göndereceğiz. Threaded çalıştığınız zaman recordun tamamen gittiğini öğrenmeniz çok problemlidir. Programcı olarak sizin sunucu-istemci tarafına kontroller koymanız, hatta belki de sadece bunun için bir protokol yazmanız gerekecektir. (İletişime başladığınızda şu kadar veri gidecek, göndermeye başladım, hepsini gönderdim gibi sizin tarafınızdan tanımlanmış komutlar). Peki Java'da nasıl? Java'da structlar da nesne olduğu için ve Java socket üzerinden nesne iletişimini desteklediği için bu işlemlerin hepsini kendisi yapıyor. Yani sizin veri iletişimi için özel tanımlı protokol hazırlamanıza gerek yok. Şimdi size Socket programcılığı gerektiren bir program verildi ve Delphi'de yazmanız istendi. Siz ise Delphi değil, Java biliyorsunuz (Tam tersi de olabilir). Design Document ve UML'leri çıkardınız, kodlamaya başladınız. Söz dizimi acemiliğini bir kenara bırakın, sizin çıkardığınız Design Document ne kadar işe yarayacak? Yaramayacak, çünkü sizin dile yaklaşımınız "hepsi birbirinin aynı, sadece söz dizimi farklı" gibi bir yaklaşım. Bence Design Document bittikten sonra üzerinde ne kadar değişiklik yaparsanız, o kadar kötü bir program çıkar. Bu tıpkı animasyondaki storyboard gibidir, ilgili arkadaşlar bilirler, bir animasyon filminin kalitesi, storyboardundan anlaşılır. Filmin üretimi sırasında storyboard ne kadar değişirse, filmin kalitesi de o kadar düşer. Bu elbette düzeltmelerin yapılmaması anlamına gelmiyor, ama yukarıda verdiğim örnekte, küçük bir düzeltmeden değil, iletişim kısmının tasarımının tamamen değişmesinden bahsediyoruz.
O yüzden lütfen dilleri sadece söz dizimi olarak düşünmeyin, aksi takdirde Visual Basic'de canavar gibi program yazan bir programcının, C++'da da çok sağlam projeler yazabileceğini iddia etmeniz gerekir. Oysa Visual Basic'de adam gibi bir bellek yönetimi yokken, C ve C++ neredeyse bütün gücünü bellek işlemlerinden alır.
Kolay gelsin,
Bahadır Alkaç
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
İki şeyi iyi analiz etmek gerek;Opt2000 yazdı:Şimdi size Socket programcılığı gerektiren bir program verildi ve Delphi'de yazmanız istendi. Siz ise Delphi değil, Java biliyorsunuz (Tam tersi de olabilir). Design Document ve UML'leri çıkardınız, kodlamaya başladınız. Söz dizimi acemiliğini bir kenara bırakın, sizin çıkardığınız Design Document ne kadar işe yarayacak? Yaramayacak, çünkü sizin dile yaklaşımınız "hepsi birbirinin aynı, sadece söz dizimi farklı" gibi bir yaklaşım.
Burada altını çizdiğim syntax olayı hemen sözdiziminden ibaret değil..Her dilin kendine has özellikleri tabii ki olacak..Örnekte yazdığın socket programlamayı baz alırsak, ben Delphi bilmiyorum ve bu işi Delphi'yle yazmam gerekti.Delphi de bunun için yine örnekte geçen yeni bir protokol (bence bu kısmı abartılı zira koca protokol yazmaya ihtiyaç duyulacak bir durum yok ortada..) vb.bir şeyler yazmam gerekecek..Öğrenmem gereken nedir?Genel anlamda syntax..Onun haricinde ne gerekiyor, network bilgisi..Onun haricinde ne gerekiyor, socket mantığı..Onun haricinde ne gerekiyor, işletim sisteminin çalışma mantığı vs.vs.Peki bir yazılımcıda bu bilgiler (en azından temel olarak..) olması gerekmiyor mu sence?
Diğer olay ise bu söylediklerin belki 10 yıl öncesi için doğru bir tespit..Ancak bugün interneti olmayan yazılımcı kitlesi ne ölçüde?İşin mantığını bilen birisi, bu ortamda gerekli doküman ve kaynaklara ulaşıp bu işi çözemiyorsa zaten ezbercidir ve mantığı bilmiyordur..
Konu uzayıp gidiyor, aynı topice çok fazla yazmayı tercih etmiyorum ve bu kez kendi adıma kendi sınırlarımı aştım...
Kolay gele..
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
@bk dediğin gibi Code::Blocks güzel bir IDE, @kefukar bir yazısında bahsetmiş ve burdan görünce bir bakayım dedim. Güzel gerçekten hem de QT ile uygulama geliştirilebiliyor.
QT evet pahalı bir kütüphane, ama zaten ücretli yazılım geliştirilecekse para ödenmesi gerekiyor, öteki GTK vb. kütüphanelerde GPL lisansı ile yapmak gerekmiyor mu? Bu durumda ücretli yazılım da hi olsa kodları açmak gerekiyor. vs.
Bu arada @bk senin blog sitene bir kaç gün önce gezdim bayağı faydalandığımı söyleyebilirim. Eline sağlık. Orda da Code::Blocks olayını göründe didiklerim bloğunu. Tabi ordan oraya giderken birde RUBY'ye rastladım. Güzel blog devamını dilerim...
Şimdi bir kaç şeyi söylemek istiyorum.
Yazılma göre dil seçmek gerekiyor: Evet bu kısmen doğru, özellikle QT ile ilgili araştırmamda bu sonuç kendini çok kere gösterdi. MEsela QT ile dediğim gibi çok güzel bir İnternet Kafe programı yazılabilir. Ve yazılan kod aynen Linux ve Windows'da çalışır. Sorun çıkacağını hiç sanmıyorum. ,Ve MySQL kullandığımızı var sayalım. Ama Kafe programlarının Client makinalarda çalışan kısımlarında bir uygulama koruma programı yazılması gerekir ki bu tamamen ilgili işletim sisteminin özellikleriyle doğru orantılıdır. İşte bu noktada gerek aynı dil gereksede daha yatkın bir dil ile gerekli program yazılabilir. Ayrıca, Win32 için ben Delphi kullanırken, WEB siteleri için ASP, ASP.NET kullanabiliyıorum. Yada Client WEB tarafı için JavaScript gerekiyor. Çünkü alternatifleri olmayan diller var. Mesela JavaScript buna bir örnektir.
Dil öğrenmek diye bi olay yoktur yazılımda: Bunu şöyle açıklayaibliriz; Dünyadaki her yetişkin kişinin bir mantığı vardır, ama az ama çok. Fakat insanların bu mantığını dile getirebilmesi için bunu ifade etmesi yani varsayılan düzende KONUŞMASI gerekmektedir. Eğer sizin kullandğınız dil çok yalın bir dil ise, anlatmak istediklerinizi tam olarak anlatamayabilirsiniz. Yada epeyce uğraşmanız gerekmektedir. Bir başka düşünce ile kullandığnız dil çok iyidir ancak siz o dilin derinliklerini bilmediğiniz için kendinizi yeterli şekilde ifade edemezsiniz. Biz hep deriz ya bazen kızdığımız insanlara "Sen daha Türkçeyi bile bilmiyon", adam Türkçeyi biliyor ancak cahilliğinden yada bilgisizliğinden yeterince dile hakim olamıyor. Programlama dilleride işte böyledir. Mantık dili yürütür. ancak dilinde mantığı açığa çıkartabilcek güce ihriyacı vardır. C++ bilenler Delphi'yi adam yerine koymazlar, bunu çok kere duyan olmuştur. Ama mantığıyla Delphi'yi yürütenler C++ ile uğraşanlardan çok daha iyi projeler yapmışlardır. Bu neden böyle, çünkü Delphi (aslında pascal + IDE) dilinin derinliklerine indikçe ne derece iyi şeyler yapılabildiği görülmüş ve bunu insan mantığı ile birleştirince büyük projelerin çıkması kaçınılmaz olmuştur.
@Opt2000 ve @aLonE CoDeR arkadaşlarım bana göre birbirlerini tamamlayan sözler söylemişler. Yukarıda anlattığım şeyleri ayrı ayrı dile getirip, sadece birbirlerine karşı gibi durmuşlardır. Ama ikisininde söyledikleri benim nazarımda doğrudur.
Dil dedim demin, konuşma dili olarak örnek verdim. Şimdi ben hayatımda öyle insanlar gördüm ki, gerçekten Türkçe'yi kastıra kastıra öyle mükemmel konuşuyorlar ki, dinleseniz ADAM sanırsınız. Ama biraz daha sohbet ettikçe politika, bilim vs. konulara girdikçe adamın geri zekalı olduğu ortaya çıkıyor. İşte bu adam aslında ezberci bir adam. Hazırcı ve basma kalıp sözleri iyi kullanabilen biri.
Yazılım işinde de öyleleri vardır, size şu algoritmayı C++'da gösterin derler işe alırken, ama siz C++ çok iyi bilmediğiniz için cevap veremezsiniz. Aynı algoritmayı Basic, Pascal da çok iyi ifade edebilirsiniz. Fakat iş veren size acı acı gülerek "sen bu işi bilmiyon" diyi verir. Ve belkide bilemez ki bir daha bulamayacağı bir elemanı kaçırmıştır. (benim başımdan böyle bir olay geçmedi)
Ben mantık konusunda, kendimi geliştirmek için bir çok dili incelerim, onlardan fikirler alırım. Birçok kaynak koda bakmışımdır, farketmez handi dilde olduğu. Bir süre sonra 3 aşağı 5 yukarı o dilleri anlıyabiliyorsunuz. Ama benim tek yazılım yaptığım dil DElphi'dir. (Pascal diyeyim). Çünkü bu dile daha hakimim. Hatta Delphi IDE'sine çokça hakimim. .NET Delphi sürümlerine uygun olunca çok sevindim. Eskiden ASP.NET kullanıyordum VB.NET ile. Çok sıkıyordu.
Şimdi bu konuyu açmadan önce, sizlerinde farkettiğiniz gibi, dünya farklı bir yere doğru gidiyor. Özellikle işletim sistemleri açısından, Ve Delphi bu konularda Windows hariç diğer işletim sistemlerinde yetersiz kalıyor. Eğer KYLIX denilen olgu devam etseydi, bu gün linux çok daha ilerilerde olurdu diye düşünüyorum. Bu düşüncelerden yola çıkarak QT kütüphanesine kafam takılmılşı, ve hala iyi bir kütüphane olarak görüyorum. Zaten ticati bir olgu içine girdiğinizde zaten herşeyin bedelini ödemek zorundasınız. Kaz gelecek yerden tavuk esirgenir mi?
Saygılarımla...
QT evet pahalı bir kütüphane, ama zaten ücretli yazılım geliştirilecekse para ödenmesi gerekiyor, öteki GTK vb. kütüphanelerde GPL lisansı ile yapmak gerekmiyor mu? Bu durumda ücretli yazılım da hi olsa kodları açmak gerekiyor. vs.
Bu arada @bk senin blog sitene bir kaç gün önce gezdim bayağı faydalandığımı söyleyebilirim. Eline sağlık. Orda da Code::Blocks olayını göründe didiklerim bloğunu. Tabi ordan oraya giderken birde RUBY'ye rastladım. Güzel blog devamını dilerim...
Şimdi bir kaç şeyi söylemek istiyorum.
Yazılma göre dil seçmek gerekiyor: Evet bu kısmen doğru, özellikle QT ile ilgili araştırmamda bu sonuç kendini çok kere gösterdi. MEsela QT ile dediğim gibi çok güzel bir İnternet Kafe programı yazılabilir. Ve yazılan kod aynen Linux ve Windows'da çalışır. Sorun çıkacağını hiç sanmıyorum. ,Ve MySQL kullandığımızı var sayalım. Ama Kafe programlarının Client makinalarda çalışan kısımlarında bir uygulama koruma programı yazılması gerekir ki bu tamamen ilgili işletim sisteminin özellikleriyle doğru orantılıdır. İşte bu noktada gerek aynı dil gereksede daha yatkın bir dil ile gerekli program yazılabilir. Ayrıca, Win32 için ben Delphi kullanırken, WEB siteleri için ASP, ASP.NET kullanabiliyıorum. Yada Client WEB tarafı için JavaScript gerekiyor. Çünkü alternatifleri olmayan diller var. Mesela JavaScript buna bir örnektir.
Dil öğrenmek diye bi olay yoktur yazılımda: Bunu şöyle açıklayaibliriz; Dünyadaki her yetişkin kişinin bir mantığı vardır, ama az ama çok. Fakat insanların bu mantığını dile getirebilmesi için bunu ifade etmesi yani varsayılan düzende KONUŞMASI gerekmektedir. Eğer sizin kullandğınız dil çok yalın bir dil ise, anlatmak istediklerinizi tam olarak anlatamayabilirsiniz. Yada epeyce uğraşmanız gerekmektedir. Bir başka düşünce ile kullandığnız dil çok iyidir ancak siz o dilin derinliklerini bilmediğiniz için kendinizi yeterli şekilde ifade edemezsiniz. Biz hep deriz ya bazen kızdığımız insanlara "Sen daha Türkçeyi bile bilmiyon", adam Türkçeyi biliyor ancak cahilliğinden yada bilgisizliğinden yeterince dile hakim olamıyor. Programlama dilleride işte böyledir. Mantık dili yürütür. ancak dilinde mantığı açığa çıkartabilcek güce ihriyacı vardır. C++ bilenler Delphi'yi adam yerine koymazlar, bunu çok kere duyan olmuştur. Ama mantığıyla Delphi'yi yürütenler C++ ile uğraşanlardan çok daha iyi projeler yapmışlardır. Bu neden böyle, çünkü Delphi (aslında pascal + IDE) dilinin derinliklerine indikçe ne derece iyi şeyler yapılabildiği görülmüş ve bunu insan mantığı ile birleştirince büyük projelerin çıkması kaçınılmaz olmuştur.
@Opt2000 ve @aLonE CoDeR arkadaşlarım bana göre birbirlerini tamamlayan sözler söylemişler. Yukarıda anlattığım şeyleri ayrı ayrı dile getirip, sadece birbirlerine karşı gibi durmuşlardır. Ama ikisininde söyledikleri benim nazarımda doğrudur.
Dil dedim demin, konuşma dili olarak örnek verdim. Şimdi ben hayatımda öyle insanlar gördüm ki, gerçekten Türkçe'yi kastıra kastıra öyle mükemmel konuşuyorlar ki, dinleseniz ADAM sanırsınız. Ama biraz daha sohbet ettikçe politika, bilim vs. konulara girdikçe adamın geri zekalı olduğu ortaya çıkıyor. İşte bu adam aslında ezberci bir adam. Hazırcı ve basma kalıp sözleri iyi kullanabilen biri.
Yazılım işinde de öyleleri vardır, size şu algoritmayı C++'da gösterin derler işe alırken, ama siz C++ çok iyi bilmediğiniz için cevap veremezsiniz. Aynı algoritmayı Basic, Pascal da çok iyi ifade edebilirsiniz. Fakat iş veren size acı acı gülerek "sen bu işi bilmiyon" diyi verir. Ve belkide bilemez ki bir daha bulamayacağı bir elemanı kaçırmıştır. (benim başımdan böyle bir olay geçmedi)
Ben mantık konusunda, kendimi geliştirmek için bir çok dili incelerim, onlardan fikirler alırım. Birçok kaynak koda bakmışımdır, farketmez handi dilde olduğu. Bir süre sonra 3 aşağı 5 yukarı o dilleri anlıyabiliyorsunuz. Ama benim tek yazılım yaptığım dil DElphi'dir. (Pascal diyeyim). Çünkü bu dile daha hakimim. Hatta Delphi IDE'sine çokça hakimim. .NET Delphi sürümlerine uygun olunca çok sevindim. Eskiden ASP.NET kullanıyordum VB.NET ile. Çok sıkıyordu.
Şimdi bu konuyu açmadan önce, sizlerinde farkettiğiniz gibi, dünya farklı bir yere doğru gidiyor. Özellikle işletim sistemleri açısından, Ve Delphi bu konularda Windows hariç diğer işletim sistemlerinde yetersiz kalıyor. Eğer KYLIX denilen olgu devam etseydi, bu gün linux çok daha ilerilerde olurdu diye düşünüyorum. Bu düşüncelerden yola çıkarak QT kütüphanesine kafam takılmılşı, ve hala iyi bir kütüphane olarak görüyorum. Zaten ticati bir olgu içine girdiğinizde zaten herşeyin bedelini ödemek zorundasınız. Kaz gelecek yerden tavuk esirgenir mi?
Saygılarımla...
öncelikle şunu belirteyim
GTK
wxwidgets
FLTK
ile Kodu kapayıp Ticari olarak kullanabilirsiniz
CodeBlocks da zaten WxWidgets kullanılmıştır.
Eski tarihli ama güzel iki yazı
http://freshmeat.net/articles/view/928/
http://www.linuxfocus.org/English/Octob ... e350.shtml
Cross-Platform -CLX- haline getirilmeye çalışılmasıydı
GTK
wxwidgets
FLTK
ile Kodu kapayıp Ticari olarak kullanabilirsiniz
CodeBlocks da zaten WxWidgets kullanılmıştır.
Eski tarihli ama güzel iki yazı
http://freshmeat.net/articles/view/928/
http://www.linuxfocus.org/English/Octob ... e350.shtml
Kylix denen şey zaten VCL kütüphanesinin QT kütüphanesi kullanılarakKYLIX denilen olgu
Cross-Platform -CLX- haline getirilmeye çalışılmasıydı
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Evet, kaçırmışsınız sanırım. Bir önceki cümlemde yazılıma göre dil seçilmesini söylemiştim, lisp ya da herhangi bir dil örnek olaraktı orada. Kaçırdığınız nokta burası.aLonE CoDeR yazdı:Ticari uygulama geliştirmek için Lisp kullanabilirsiniz gibi bi ifade mi geçti ben mi kaçırdım?mceL yazdı:Ticari uygulama yazacak kimse oturupta lisp kullanmamalı zaten bir kere lispin geliştirme amacına aykırı.
Kullanılan dilin tüm özelliklerini tam olarak kullanamadıktan sonra ne anlamı kalır ki? Elinizde bir ferrari var ama yol toprak ise anlamı olmaz.aLonE CoDeR yazdı:Dil öğrenmek diye bi olay yoktur yazılımda.Mantığı öğrenirsin sonrası syntax..mceL yazdı: Fazla dil öğrenmeli, projeye göre dil kullanılmalı kanısındayım.
Yazılım geliştirme mantığı olduktan sonra zaten kalan tek şey dilin kullanacağınız özelliklerini tam olarak öğrenmek. Yoksa sanmıyorum ki bunca yazılım dili sadece yazım dizini "syntax" değiştirilsin diye çıksın. C ile C++ aynı yazım dizinine sahip ama aradaki gelişmişlik farkı veya olaylara yaklaşım çok farklı. C++ programını c yazar gibi kodladıktan sonra ne anlamı kalır ki? Gücünü kullanamamış olursunuz dilin.