Linux'da Görsel programlama

Sizce Hangi dili kullanmalıyım


  • Kullanılan toplam oy
    23

Bu konuyu okuyanlar

orcnd

Müdavim
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
Linux'da görsel programlama yapmak istiyorum.
Fakat dil seçiminde kararsız kaldım

Ubuntu, Fedora, Mint, Pardus, Arch gibi popüler dağıtımlarda performanslı çalışacak bir dil olsun istiyorum.

Özellikle grafik işleme kütüphanelerine bolca ihtiyacım olacaktır. (Webcam üzerinden el ile fareyi kullanma gibi projelerim var windowsda yaptığım bunları linux'a taşıyacam)

Öğrenme açısından değil de performans, döküman ve geliştirici araçları açısından bakarsak
Sizce Hangi dili seçmeliyim
Ruby, Python, C yada başka bir dil mi ?
 

N3CAT1

Müdavim
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,609
Reaksiyon puanı
144
Puanları
63
Python ve C++ daha uygun olacaktır sanırım. Java konusunda ise fazla fikrim yok. Linuxta kullanışlı mı değil mi bilmiyorum.
 

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
Python ve C++ daha uygun olacaktır sanırım. Java konusunda ise fazla fikrim yok. Linuxta kullanışlı mı değil mi bilmiyorum.

aynen katılıyorum.. c++ başlarsan sadece linux ortamında değil ilerde fikrin değişir başka alanlardada yazılımı daha rahat geliştirirsin.
 

orcnd

Müdavim
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
öğrenme açısından sormuyorum.
zaten şu an php üzerinden e-ticaret yapıyorum çalıştığım firmada. ayrıca c,c++,c# vb.net,actionscript, javascript de kullandım zamanında. önemli olan emülatörde gibi çalışmaması c++ bunu yapıyor linux'da acaba diğerleri de onun kadar performanslı mı.

özellikle Qt eğer bunlara yakın bir performans sergileyebiliyorsa tercihim olacaktır. tüm platformlara desteği var ne de olsa
 

kosasker

Müdavim
Katılım
24 Aralık 2008
Mesajlar
3,195
Reaksiyon puanı
49
Puanları
48
O zaman Java aga... Eclipse ile beraber VE eklentisini kullanacaksın. Bu işini hızlıca görmeni sağlar. Ha bir de geçenlerde google dan bir mail gelmişti. Bir tane daha eclipse eklentisinin haklarını satın alıp ücretsiz dağıtıyorlardı google projects de... VE den daha gelişmiş bir form oluşturma eklentisi idi.

Yok framework olmayacaksa işin içinde kesinlikle C++ derim. Qt ve Gtk da C++ kütüphaneleri zaten. :)
 

MtHan

Müdavim
Katılım
3 Şubat 2008
Mesajlar
1,432
Reaksiyon puanı
14
Puanları
0
Python ile yaparsan daha hızlı yol alırsın. Hem sürekli derleyip denemen gerekmez... Benim bildiğim webcam ile ilgili opencv modülü var ibm geliştiriyor sanırım. Bir çok dille kullanılabiliyor. Opencv ile ilgili ne kadar ddöküman bulabilirsen Python kısmıda hemen hemen aynı olur :D Aynı şekilde qt de.

c++ ile aralarında ufak bir performans farkı olur, ama artık bu zamanda o performans kaybı fazla önemli olmaz sanırım.
 

orcnd

Müdavim
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
frameworksüz uğraşırsam işim çok uzar buradan c++ elenmiş oldu.
ruby'den kimse bahsetmediğine göre pek popülerliği yok o da elendi

geriye python(yalın), qt(herhangi bir dil ile), java(eclipse ile) kaldı.


acaba qt her işletim sisteminde aynı performansı sağlayabiliyor mu
eğer sağlayabiliyorsa diğerlerine avantaj sağlamış olur değil mi ?
 

N3CAT1

Müdavim
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,609
Reaksiyon puanı
144
Puanları
63
Ruby 'nin çok büyük kullanım kolaylığı sunduğunu duymuştum. Tabi kullanmak nasip olmadı :) Javanın bence performans sorunu var. Tabi nasıl bir yazılım geliştireceğine de bağlı bu.
 

kosasker

Müdavim
Katılım
24 Aralık 2008
Mesajlar
3,195
Reaksiyon puanı
49
Puanları
48
Java da performans sorunu olduğu görüşüne katılmıyorum. Derleme anında yani, *.java uzantılı dosyalar *.class uzantısına dönüşüp ilk çalıştığında bir yavaşlama oluyor lakin program çalışmaya başladıktan sonra bu olmuyor.

Javanın yavaş olup olmaması tamamen kullanılan JRE nin yapısına bağlı bir durum. Eclipse nerede ise tamamen java tabanlı. Limewire da öyle. Bu programlar yavaş mı çalışıyor, yapmayın Allah aşkına :) Biraz daha araştırmak lazım derim.

Eclipse mesela Java' da bulunan OSGi teknolojisini kullanıyor. www.osgi.org Osgi teknolojisinin yaptığı şey şu; java framework ü üzerinde bir katman daha yaratarak yazdığınız programları doğal olarak modüler hale getiriyor.

osgi_framework.jpg


Böylece çok değişik bir biçimde yazılım geliştirebilirsiniz. Limewire ın kaynak kodlarını indir ve incele derim. Aynı şekilde Eclipse' in ve Equinox projesini inceleyin.

Bunlara göz atın, teknolojilerini araştırın ondan sonra karar verin derim.

C++ dan da hemen vazgeçme çünkü, C++ için de frameworkler var. GTK+ gibi ve javanın yapabildiklerinden fazlasını yapıyorlar. C++ dünyası javadan daha geniştir lakin javada kod yazmak ve proje yönetimi daha kolay geliyor.

Saygılar.
 

orcnd

Müdavim
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
peki linux ve windowsta kullanılan JRE'lerin performans değerleri nedir. IBM ve SUN'ın ürettiği JRE'lerden bahsediliyor.
eğer java kullanacak olursam hangi JRE'yi seçmeliyim.
Yanılmıyorsam Limewire Sun'ın JRE'sini kullanıyor ve gayet hızlı.
Fatak Eclipse için aynı şeyi söyleyemiyorum. Hatta çok büyük boyuttaki bir html dosyasının kodlarını renklendirirken donduğunu hatırlarım.

Java'da performans için ne yapılmalı konusu ile ilgili biraz bilgiye ihtiyacım var (makale tarzı bir şey de olabilir)

açıkçası qt'nin multi-platform olması çok ilgimi çekti. az önce qt-apps.org'dan basit bir oyun indirdim. qt'nin çekirdeği ve arayüz modülü 15 mb kadar tutmuş 2 dll'e saklanmış oyun 150 kb. aynı oyunu symbian telefonlarda ve linux'da oynayabilmek güzel bir şey. Acaba javadaki gibi yorumlayıcı farklılıkları var mı.

---------- Post added at 17:32 ---------- Previous post was at 17:15 ----------

hatta bu yazıyı qt-apps.org'dan indirdiğim nova browserdan yazıyorum

şöyle bir imzası var
Mozilla/5.0 (Windows; U; Windows NT 5.1; tr-TR) AppleWebKit/532.4 (KHTML, like Gecko) Qt/4.6.0 Safari/532.4
 

kosasker

Müdavim
Katılım
24 Aralık 2008
Mesajlar
3,195
Reaksiyon puanı
49
Puanları
48
Qt framework ü ve GTK+, GTK2+ için bu yorumlayıcı farkı geçerli değil.

Javada "Mobil Edition" var mesela. Çok çok küçük bir alan kaplıyor. Hatta işlemcilerin içerisine gömülüyor bu "Runtime Environment" (çalışma zamanı araçları/değişkenleri)

Bu açıdan sanırım en sağlamı Python. Yani frameworklerin desteği konusunda. Lakin halen 3.xx sürümlerine, kullanılan çoğu kütüphaneyi entegre edemediler.

Şunu demek istiyorum aslında; Android java tabanlı örneğin. Uygun donanıma sahip olduğunda gayet hızlı çalışıyor, haksız mıyım. Performans testi isterseniz, C++ her daim ağır basacaktır. Diğer programlama dillerinin performans anlamında C++ a yetişmesi mümkün değil. C++ kütüphanelerinin bazı fonksiyonları, örneğin sıralama fonksiyonları C de bulunan sıralama fonksiyonlarından gözle fark edilecek derecede hızlı çalışır. Python *.html oluşturma sırasında ve sunumda yerine göre php den kat ve kat hızlı çalışabiliyor. Lakin bu php kullanımına engel değil.

Javanın üzerinde durmamın nedeni, teknolojisi sektörde artık kabullenilmiş ve çoğu insan javada projelerini hazırlıyor. Masaüstü programcılığında da java iyi, lakin çok kapsamlı birşeyler yapmayı hedeflemiyorsan javayı da kullanmaya gerek yok.

Osgi teknolojisini kullanarak, veritabanından bağımsız, hem desktop hem servlet, hem de browser tabanında applet olarak sunabileceğin bir uygulama yapabilirsin. Bulut mantığında çalışır yani.

Lakin şu soru sorulmalı ? Buna ihtiyaç var mı ??

Diğer yandan C++ kodunu yazarken dikkatli olmalısın. İhtimalleri iyi düşünmeli ve kendi içerisinde hata kontrolü yapacak bir sınıf oluşturmalısın ki, dışarıdan gelecek hata ve saldırı durumlarını bir nebze olsun ortadan kaldırabilesin. C++ öğrenirsen ve uygulamanı onunla geliştirirsen, javaya geçiş yapman gerektiğinde zerre kadar zorlanmazsın buna emin ol.

Çünkü C++ da kendi kontrol etmek zorunda olduğun bir çok durum, java tarafında JRE tarafından üstleniliyor. Ayrıca Qt ve GTK nın kütüphaneleri de bazı kontrollerde sana yardımcı olabiliyor.

C++ herşeye yeter abicim. Araştırın ve görün. Java ise sektörün isteği yetenekleri doğal olarak karşılayabilen bir dil. C++ da ise ihtiyacın olan kütüphaneleri bulman ve anlaman gerekiyor. Java ise JDK ile gelen kütüphanelerinde bir çok işlem için doğal destek sağlıyor. C++ için GTK ve Qt gibi kitaplıkların yazılmasının nedeni de tam olarak bu....

Huh.. Uzun oldu be.. Yanlışım varsa veya katılmadığınız yerlerde lütfen beni uyarın arkadaşlar.
 

ERL

Asistan
Katılım
15 Ekim 2009
Mesajlar
446
Reaksiyon puanı
24
Puanları
0
Lİnux de görsel programlama için en iyisi C++ ile Qt. Python biliyorsan Python Qt yide kullanabilirsin.
 

orcnd

Müdavim
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
63
Şu an sadece düşünüyorum zaten. bu güne kadar hep microsoft ürünleri ile program yazdım. bundan sonra tamamen open-source kullanmak istiyorum.

yarısında bezip caymamak için iyice düşünüyorum.

Qt ile Java platformları arasında kaldım şu an sanırım sonucu test yaparak öğrenmem gerekicek

128235-1282942977.jpg
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Bana kalırsa ne yapıp yapıp Microsoft Visual Studio kullanmak lazım. Diğer IDE ler uzun kodlarda yetersiz kalıyor nerde hata yaptığını bile anlayamıyorsun…
 
Üst