Arkadaşlar,tecrübeli bir bilgisayar mühendisi hocamız bir video barındırma sitesinde bizim gibi acemiler için video hazırlamıştı,ben de izledim,bazı aklıma takılan noktaları buraya da sormak istiyorum. Hocamız her programlama dili,aynı zamanda bir turing makinesidir ve aklınıza gelebilecek her şeyi hemen hemen çoğu programlama dilinde yapabilirsiniz demişti. Şimdi bu benim ufkumu genişletti. Python dilinde tkinter dışında pek alternatif gui yok,tkinter ise çağın çok gerisinde gerçekten.

Şimdi ben turing makinasını,yani matematiksel algoritmaları kullanarak sıfırdan pythona nasıl gui kütüphanesi yazabilirim ?

soruldu: 09 Ağu, 07:54

ShooterLens's gravatar image

ShooterLens
277101425
cevap kabul oranı: 0%


Her şeyi yapmak için donanıma vs hükmetmek gerek, dolayısıyla C/C++/Pascal/Delphi gibi derlenerek çalışan, çalışmak için framework (java, .net, ...) ve yorumlayıcıya ihtiyaç duymayan dillere yönelmeli.

PyQt4 / PyQt5, PyGTK, IronPython.NET, Jython, WxPython, ... vs. inceleyebilirsiniz. Qt (C++), GTK (C), wxWidgets (C++), Jython (Java), IronPython (C#) kütüphaneler C / C++ / Java / C# ile yazılmıştır. Python'da ve diğer dillerde kullanılabilmeleri için port edilmişlerdir. Tabi ki bunlardan GUI dışında başka amaçlar içinde kullanılabilecek şekilde üretilmiş olanları var, detayına girmeyeceğim.

Buradan çıkan sonuç ya Python'dan bağımsız olarak böyle bir şey yapabilirsiniz C/C++ gibi bir dille veya yukarıda bahsedilen kütüphanelerden birini kullanarak veya farklı bir dil kullanarak Java, Delphi, C#, ... bir tane de siz geliştirebilirsiniz.

Zamanında birisi tkinter için Designer bile yapmıştı: Visual Python IDE

Bence PyQt4 deki Qt Designer a vs. bir bakın, gerçekten kalitelidir.

Bence para eden teknolojilerle ilgilenmeli ki sizde çağın gerisinde kalmayasınız :)

permanent link

cevaplandı: 16 Ağu, 15:56

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559
cevap kabul oranı: 26%

değiştirildi: 16 Ağu, 16:03

Hocam bilgisayarın bana sınırlama getirmesini hazmedemiyorum. Ben bilgisayara hükmetmek için bu mesleği seçtim,SADECE hazır kütüphaneleri kullanarak yapboz misali program yazmak için seçmedim. Türkiye piyasasında iş bulabileceğim,bilgisayar mühendisinin aklına her türlü gelebilecek programı,yani PROGRAMCIYA SINIRSIZ ÖZGÜRLÜK TANIYAN önerdiğiniz programlama dili nedir ?

(16 Ağu, 17:18) ShooterLens ShooterLens's gravatar image

Hocam ihtiyaca göre dil ve teknoloji seçilir. Şimdi C++ ı seçersin ama web tarafına gelince kaplumbağayla Ferrarilere meydan okumak gibi bir şey olur. :)

Kütüphaneleri vs hazıra konmak olarak değerlendirmek yerine, acaba şu bileşeni bu kütüphanenin sunduğu imkanlarla yazıp kütüphaneyi geliştirebilir miyim diye düşünürseniz daha rahat edersiniz. Misal Java'nın web tarafındaki standardı JavaServer Faces in bileşenleri azdır ama bir Çağatay Çivici çıkar ve ekibiyle PrimeFaces kütüphanesini geliştirir, sonra dünya onu kullanır. Aynı zamanda açık kaynaktan nasıl kazanılırın da güzel bir örneğidir. :)

Kendinizi teknoloji / programlama dili vs noktasında kısıtlamayın.

Bu arada üniversitelerin teknokent gibi yerlerinde kolay iş bulursunuz, devletin maaş desteği var bil. mühlere. Buradan yola çıkaran o teknoparklardaki / teknokentlerdeki şirketleri ve neler kullandıklarını araştırabilirsiniz. Misal ytü teknopark.

Sözü fazla uzatmadan bir ustanın yazılarıyla sizi baş başa bırakıyorum :)
http://www.pratikprogramci.com/2014/11/18/hangi-programla-dilini-ogrenmeliyim
http://www.kurumsaljava.com/2015/02/06/20-yas-30-yas-35-yas-ve-bugunki-programci-ben
http://www.pratikprogramci.com/2015/06/25/programcinin-evrimi
http://www.pratikprogramci.com/2015/09/09/nasil-usta-programci-olunurmus
http://www.pratikprogramci.com/2016/01/01/daha-iyi-bir-programci-olmak-icin-sinirlar-nasil-zorlanmali
http://www.pratikprogramci.com/2015/10/15/neden-frontend-ve-backend-programcisi-tarihe-karisiyor

(16 Ağu, 19:13) rahmanyazgan ♦ rahmanyazgan's gravatar image

Teşekkür ederim üstad,büyük bir zevkle okuyacağım

(17 Ağu, 06:08) ShooterLens ShooterLens's gravatar image

Donanıma hükmetmek için assembly bilmek şart, ancak şunu unutmamak lazım. diğer programlama dillerinin yapamadığı yerde assembly nin görevi başlar. mesela C++ da bir program yazıyorsunuz. ama gerek performans gerek dilin mevcut kütüphaneleri yetersiz ise assembly ile bir dll hazırlanıp c++ içinden bu dll çalıştırılır. python ile her şeyi yapamazsınız. ama bu python gereksiz olduğu anlamına gelmez. alet çantanız ne kadar zengin ise sorunları o kadar kolay çözersiniz. Bir atasözü ile bitirelim. Alet işler, el övünür.

permanent link

cevaplandı: 17 Ağu, 02:47

Fatih%20A%C5%9Flamac%C4%B1's gravatar image

Fatih Aşlamacı
1.0k111929
cevap kabul oranı: 14%

Hocam şöyle diyelim,ruby dilini örnek alalım mesela. Ruby dilinde bir 3d grafik kütüphanesi yok(öyle varsayalım) Ancak adamın biri 3d grafik kütüphanesini yazmış ruby dili için. Bu grafik kütüphanesini C++(C) ile yazıp ruby diline mi port ediyorlar ? Yani aslında ruby,python gibi diller bir havuz ve bu havuzun dışındaki alet edevatlara ulaşamıyorsunuz,hazır olanı kullanmak zorundasınız,hazır olanı kullanmak istemiyorsanız C gibi dillerde kütüphane geliştirmek gerekiyor ?

(17 Ağu, 06:07) ShooterLens ShooterLens's gravatar image

Ben acemi de olsa,donanıma hükmeder seviyeye gelip,mühendislik temelimi sağlamlaştırmak istiyorum. Direk C(donanıma ulaşmayı anlayamadım bu dilde),Java dan başlayınca hep kendimi bu yönden eksik hissediyorum. Sanırım yolum başlangıç için C diline çıkıyor. C dilinde donanıma ulaşmayı,var olmayanı yaratabileceğim şeyleri öğrenebileceğim sağlam kaynak varmıdır ? Bazı üniversitelerin dökümanlarını okudum,ancak sadece teorik eğitim vermişler,yani kodların nasıl yazılacağını göstermemişler

(17 Ağu, 06:14) ShooterLens ShooterLens's gravatar image

Donanıma hükmetmeyi öğrenmenin ilk adımı assembly ile başlar. bunun başka yolu yok. C ile bunu öğrenemezsin ama assembly ile öğrenip sonra C ile yoluna devam edebilirsin. bahsettiğin 3d kütüphanesi konusunda bir bilgim yok ancak oradaki olay port etme değil. Ruby ile yazdığın kodlar C++ ile derlenmiş olan Dll lere ulaşıp dll ile konuşuyor.

(17 Ağu, 07:11) Fatih Aşlamacı Fatih%20A%C5%9Flamac%C4%B1's gravatar image

Anladım hocam,peki assembly öğrenebileceğim tutorial tarzı şeyler mevcutmudur ? İnternette genelde c++ ile assembly karışımı dersler veriliyor,C++ kodunun içine Assembly gömüyorlar Saf Assembly derslerini bulamadım,bir de bu assembly in kodları her işlemciye göre değişiyormuş

(17 Ağu, 07:51) ShooterLens ShooterLens's gravatar image

evet doğru assembly işlemciye göre değişir. kısmen işletim sistemine göre de değişir. assembly ile başlamanın sebebi işi temelinden öğrenmektir, öğrendikten sonra zaten yoluna C++ ile devam edersin. üniversite de "MS-DOS için Assembly Ferda M. Tanyeri" kitabını almıştım. hala satılıyor mu bilmiyorum. Anlaşılması zor bir dil olduğu için eğer benim gibi ingilizceniz yetersiz ise Türkçe bir kitap başlangıç için iyi olur. daha sonra ingilizce kaynaklar ile devam edebilirsiniz. derleyici olarak http://flatassembler.net/ adresine bakabilirsin.

(17 Ağu, 08:36) Fatih Aşlamacı Fatih%20A%C5%9Flamac%C4%B1's gravatar image

Anladım hocam çok teşekkür ederim

(17 Ağu, 09:36) ShooterLens ShooterLens's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

Turing makinasına kadar inmene gerek yok bence. https://wxpython.org gibi açık kaynak bir kütüphane inceleyerek nasıl yapıldığı konusunda fikir sahibi olabilirsin.

permanent link

cevaplandı: 15 Ağu, 01:33

yunus's gravatar image

yunus
2527
cevap kabul oranı: 4%

Peki ben python kullanarak,turing makinası felsefesinden sıfırdan bir gui kütüphanesi yazabilirmiyim ? (yani yazılabilir mi )

(16 Ağu, 13:52) ShooterLens ShooterLens's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×46
×41
×2
×1

Soruldu: 09 Ağu, 07:54

Görüntüleme: 321 kez

Son güncelleme: 17 Ağu, 09:36

powered by BitNami OSQA