Dağıtımlardaki Python3 Desteği?

Başlatan CodErode, 10 Mayıs 2010 - 10:35:58

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

CodErode

Arkadaşlar Ubuntu ve diğer dağıtımların sanırım hepsinde python 2.x kurulu değil mi?

Python3 çıkalı birkaç yıl oldu ama hala dağıtımlar python3x sürümünü varsayılan paket olarak hala sunmadılar? Acaba ne zaman python3x varsayılan sürüm olarak gelecek karşımıza?

Biliyorum çoğu program 2x ile yazıldı ama artık programlarında 3x sürümleri de yazılması gerek diye düşünüyorum.

Python öğrenmek isteyenler python3x'den başlarlar mantıklı olarak? Ama 3x ile yazılan programların çalışması için sisteme harici olarak 3x kurulu olması gerek?

Sizlerin bu durum hakkında görüşü, isteği, yorumu nedir?

Ozmo

depodan kur bende version 2.5 version 3.1 version 2.6 serileri var sorun olmuyor :)

CodErode

Ozmo dediğin gibi yaptım zaten. Ama benim geliştirdiğim bir programı, başka birisi kullanmak isterse ona ek bir zahmet sunmuş olacağız. Python 3x kurmak zorundasınız gibi... Umarım yakın tarihte 3x varsayılan sürüm olarak gelir.

bsod1

3.x'den başlamak mantıklı mı değil mi konusu çok detaylı, mantıklı olduğunu ve olmadığını düşünenler var, genel olarak mantıklı olmadığını şu yüzden düşünüyorlar: şu anda python 2.x için yüzlerce hazır kütüphane ve daha da önemlisi framework(django, twisted, pylons, web2py, bazı gui kütüphaneleri, vs). bunlar haliyle 3.x de çalışmıyorlar ve 3.x kullananlar bunlardan yararlanamıyor, ne zaman 3.x'e port edecekler belli değil, uzun sürecektir haliyle ve eğer hızlıca öğrenip birşeyler üretmeyi planlıyorsan 2'den başlamalısın.

onun dışında, ben şu anda hem 2 hem 3 kullanıyorum, bir arada öğrenmek sanıldığı kadar zor değil ve bazı kitaplar ikisini beraber anlatıyor(mesela benim takip ettiğim kitap, learning python, mark lutz, o'reilly, biraz temeliniz varsa tavsiye ederim).

pyconları takip ediyorsanız, bu seneki pycon'da guido "3 şey değiştirme imkanın olsa(python ile alakalı) ne değiştirirdin" sorusuna "ilk önce python 3'ün birkaç yıl(sayı veriyor ben hatırlayamadım şimdi) önce  yapılmış olmasını dilerdi, daha sonra herkesin python3 kullanıyor olmuş olmasını isterdim, ve bundan emin olmak için bir kere daha dilerdim" gibi birşey söylemişti. zaten her yeni sürümde eski sürümdeki hataların düzeltildiği ve geliştirmeler yapıldığı düşünülürse her zaman son sürümü kullanmak mantıklı olur.

onun dışında bir wikide python 3 ile gelen dağıtımların listesi vardı, şimdi bulamadım ama o konuda rahat ol, şu anda gelmiyorsa bile 1-2 yıla kadar neredeyse tamamı 3 ile gelecek, hem gelmese bile programının hem 2 ile hem 3 ile çalışabilmesini sağlayan bir kodla başlatarak 3 kurulumu yaptırabilirsin örneğin. 3to2 veya 2to3 gibi dönüştürücüler de var, ama ben denemedim bilmiyorum nasıl çalışıyorlar.

ha bir de, 2.7 ve 3.1'den itibaren python2 ve 3 paralel geliştiriliyor, yani 2.8 çıktığında 3.2 çıkacak ve aynı geliştirmeleri içerecekler. o yüzden 2 ayrı sürüm takip etmene gerek yok, ikisini beraber öğren(sanıldığı kadar zor değil, gerçekten), güncellemeler sıkıntı olmayacaktır. hangi kaynaktan öğrendiğin de önemli, bu konu da çok detaylı ama kısaca bahsetmek gerekirse kesinlikle türkçe kaynaklardan öğrenmemelisin(tercümeler hariç, bilgisayar bilimcisi gibi düşünmek: python ile programlama diye bir kitap tercümesi vardı forumda linki var biraz ararsan, o güzel mesela).

CodErode

Python 2x'in geliştirmesi artık bitti diye biliyordum?

Türkçe kaynak olarak istihza.com var. Çeviri değil bize özgü, orada hem 2 ve 3 sürümlerinin anlatımları var. Birkaç yıl içinde 3'e geçilcekse tamamen o zaman şu an öğrenmek isteyenler bence 3'den başlamalılar diye düşünüyorum? Kütüphane sıkıntısında haklı olabilirsin ama onlarda 3'e uyarlanmıyormu? Bunun üstüne çalışmalar yapılıyor sanırım?

bsod1

Yapılıyor mu bilmiyorum ama pycon'da da sürekli vurgulandığı gibi en azından yapılması lazım.

2.x'in gelişmesi bitmedi, 2.7 çıkacak, 2.8 de bir ihtimal.

istihza'yı da biliyorum, tüm türkçe kaynakları biliyorum ve oralardan öğreneceğin şey herhangi bir programlama bilgisi değil, kod sadece, birkaç kod ezberlersin, ben bunu dershanede fizik, matematik öğrenmeye benzetiyorum(öss'ye girdim de geçen sene :P). kullandığın şeyin tanımını, ne olduğunu bile bilmezsin ama soruları çözebilirsin(çözmek denirse). örneğin istihza'da 60 sayfa anlatılan nesne tabanlı programlama konusu benim bahsettiğim kitapta 300 sayfadan fazla tutuyor.

en azından bir kaynağa başlamadan önce sadece ilk bölümlerini oku ona göre karar ver, sen de farkedeceksin zaten, kitabı almadan önce malum yerlerden temin et ve ilk bölümlerini oku, yada ortadan bir konu seç.

CodErode

@bsod1, şöyle bir sorunumuz var ki, benim ingilizcem o derece iyi değil :D

İngilizceyi öğreten bir kaynak bulsam daha iyi olcak:D Kısa cümleler kurup, anlayabilirim sadece. İngilizce kaynaklar gerçekten çok kaliteli ama ingilizcem iyi değil. İngilizce öğrenmeyi bende istiyorum ama işte.. :D

Neyse konuyu ingilizceye çevirmemek gerek, bıyık altından bildiğin kaynak varsa söylersin, oradan faydalanırım ingilizce olarak.

bsod1

ingilizcen yoksa bu alanda pek şansın yok gibi geliyor bana, bir şekilde okuduğunu anlayacak kadar ilerletmen gerekecek. kaynak çok, anahtar kelime torrent.

CodErode

Neyse ingilizce için bir çaresine bakarken türkçe kaynaklarla bir yere kadar gelip ingilizceyi halledikten sonra da devam ederiz :)

Bu arada django 3x desteği ile ilgili çalışma yapıyormu, bilgisi olan varmı?

bsod1

http://docs.djangoproject.com/en/dev/faq/install/#can-i-use-django-with-python-3

en azından bir ya da 2 yıl alacağı söylenmiş. zaten tüm framework veya kütüphaneler 2 yıl içinde python3'e geçecektir diye düşünüyorum.

CodErode

Hmm biraz konunun dışında kalacak ama Qt ve Gtk arayüzleri ile ilgili bir sorum olacaktı.

Qt'da yapılan bir program sadece kde kullanan dağıtımlarda mı, ya da gtk kullanılarak yapılan bir program sadece gtk kullanan dağıtımlarda mı kullanılabiliyor?

Python için malum o kadar çok arayüz takımı var ki... Gtk, Qt, Wxpython.. vs. vs.

heartsmagic

Alıntı yapılan: CodErode - 10 Mayıs 2010 - 14:57:59
Qt'da yapılan bir program sadece kde kullanan dağıtımlarda mı, ya da gtk kullanılarak yapılan bir program sadece gtk kullanan dağıtımlarda mı kullanılabiliyor?

İlgili kütüphaneler kurulduktan sonra her dağıtımda kullanılabilir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

CodErode

Hmm bunu bilmek güzel. O zaman gtk öğrenmeli. Hazır güzel bir Türkçe kaynakda varken... :)

bsod1

gui kütüphaneleri de çok geniş ve detaylı olduğundan, onları öğrenmeden önce de bir miktar göz gezdirmeni tavsiye ediyorum, gtk öğrenmeye başlamadan önce mutlaka qt'ye bakmalısın(türkçe kaynak var mı bilmiyorum ama)

eribol

Gtk'yı öğrenmek için qt önşart mı? Neden ki?

utdmr

Alıntı yapılan: eribol - 11 Mayıs 2010 - 21:15:00
Gtk'yı öğrenmek için qt önşart mı? Neden ki?
Aslında önşart değil, ancak python, c++ gibi Object-Oriented dillerde Qt yapısı gereği daha uyumludur. Ben de pyGTK ile başlamıştım, ancak Qt'nin daha yetenekli ve daha kolay olduğunu gördüm. Bu yüzden yeni öğrenilen bir grafik kütüphanesine Qt önerilir.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

CodErode

@utdemir hocam qt kütüphanesini dediğiniz ilk başta tavsiye ediyorlar. Fakat bir tane iyi kötü bir türkçe kaynak bulmuştum. Onda qt için c++ ön şarttır demişti. Bende qt kütüphanesine baktım hakikaten çok garip kodlardı. En azından gtk'dan daha karışıktı.

Zaten bu aralar python, java arası yapıp duruyorum. :D Python'da arayüz işi çok can sıkıyor. Onu geçtim, birde python2x ve 3x sürümleri arasında çelişkide kalmak içten değil... Bir yandan 2x desteği bitecek 3 ile başlamak gerekir diyorum. Ardından bakıyorum en güzel modüller 2x için ayarlanmış.

Kafa karışıklığı...

bsod1

@CodErode, kafan neden karıştı anlamadım, ilk sayfada uzun uzun anlattım 2x 3x olayını, ikisini beraber çok rahatlıkla götürebilirsin. tek önemli şey ingilizce biliyor olman.

qt'ye bakmalısın derken, gtk öğrenmeye başlamadan önce hem biraz gtk hem qt'ye göz at anlamında, sonradan pişman olma diye, çünki öğrenme işlemi uzun ve sıkıcı olacak(en azından benim için öyle oluyor).

ayrıca python'da qt için cpp neden ön şart olsun anlamadım, o cpp'de qt anlatımı için olmasın?

bir de bu kütüphaneler için kullanabileceğin tasarım programlarına bakabilirsin örneğin, qt için qt designer, gtk için glade..

CodErode

Tamam olayı anladım tabii ama bana 2 sürümü de beraber götürmek ters gidiyor. Ben uygulamamı her 2 sürümde de yazamamki, yani yazmam?

2x'de öğrenmem zaten 3 çıkmış eninde sonunda 3'e geçilcek, bu da bana acayip ters geliyor. Sonunda desteği bitecek olan birşeyde kafa yormak...

Qt olayında ise bilmiyorum kodlar karışık geldi, ama belki öğrendikçe neyin ne olduğunu bildikçe kolay gelir orasını bilemem. Qt için c++ bilmek ön koşuldur denen e-kitapda neden öyle dedi bende anlamadım, belki tam hakim olmak içindir orasını bilemem, zaten orasına pek kafa yormuyorum.

Tasarım programlarına da pythonda karar kılarsam bakacağım. Ama şu aralar işte bir yol ayrımındayım ya hayırlısı... Birine sağlam tutunup ilerlemek gerek.

utdmr

Öncelikle tasarım programlarından şimdilik uzak durmanızı öneririm, temel yapıyı anlayana kadar, yoksa karman çorman bir programla karşı karşıya kalırsınız. Sadece karmaşık arayüzlerde yardımcı olsun Assistant, Glade gibi programlar.

Python 2.x sürümleriyle 3.x sürümleri arasında öğrenmeyi zorlaştıracak kadar bir yazılım farkı yok. Üstelik şu anda çoğu kütüphane de hazır değil Python 3.0'a. Şimdilik desteği iyi olan Python2'den başlarsanız, daha sonra Python3'e geçmek bir kaç gününüzü alır ancak.

Ve de emin olun, birazcık öğrenince Qt'nin GTK'dan çok daha rahat olduğunu göreceksiniz :D.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

bsod1

@CodErode bir yaszılımı neden iki ayrı python sürümü için geliştiresiniz ki? yazılımı tabii ki 2.x sürümü için geliştireceksiniz ama 3'ü de bilmiş olacaksınız ve frameworkler veya kütüphaneler 3'e aktarılıp, dağıtımlar için 3 standart hale gelince 3'e geçersiniz.

ya da kullanacağınız kütüphaneyi 3'e port ederek açık kaynak dünyasına bir katkıda bulunabilirsiniz örneğin.

bunu düşüneceğiniz vakitte python2'yi bilen bir insan 3'ü anlayabilirdi mesela :P

CodErode

Teşekkür ederim değerli yorumlarınız için. Düşünelim karar kılalım bir masaüstü programlama diline geçelim gayrı...  :D

rutku

Konu python olunca qt ve gtk arasında bi fark yok. Ama c/c++ olunca bariz fark ortaya çıkıyor. C kullanıyorsanız gtk için örnekler çok. C++ kullanıyorsanız örnekler az ve bazıları güncelliğini yitirmiş. Programa odaklanmaktan çok arayüz için çalışan kod aramakla vakit geçiriyorsunuz. Ama durum Qt de tam tersi. Qt nin evi c++ olduğu için herşey takır takır çalışıyor. Ayrıca adamlar c++ ın kendi özellikleri yerine boost tan aldık özellikleri geliştirmişler ve kendi frameworklerini oluşturmuşlar. Misal List yerine QList, string yerine QString, QFtp, QDirectory diye gidiyor. Gtk bu konuda dilin özelliklerini daha fazla kullanıyor. Hoş konu python olunca bu durumda siz etkilenmiyorsunuz :)
Hayallerini kodla ...

uKiriş
Mezgeldek