Ubuntu (ve genel olarak çoğu Linux dağıtımı) için geliştirmeye başlamak mı istiyorsunuz? Python mu yoksa Vala mı? [kapalı]


14

Bilgisayar bilimi mezunuyum ve C, C ++, C # ve Java gibi dilleri öğrendim. Java ile daha fazla deneyimim olmasına rağmen. Linux için geliştirmek istiyorum ve GNOME için geliştirmeyi tercih ediyorum, Python ve Vala'dan birini seçmek arasında kafam karıştı.

GNOME Live sayfalarında Vala ile ilgili bazı belgeleri inceledikten sonra, mezuniyetim sırasında öğrendiğim çoğu dilden oldukça sözdizimsel olarak oldukça farklı olan Python'a kıyasla daha tanıdık geliyor. Vala'da öğrenme eğrisi benim için daha küçük görünüyor. Bu nedenle, çeşitli dağıtımlarda daha iyi desteği olan gelişime başlamak için hangi dili seçmeliyim. Önerilen dil için önerilen bir IDE takdir edilecektir.

Teşekkürler.


1
Bu konuda başka bir şey önermedi: Python'u öğrenmelisiniz çünkü zaten bildiğinizden farklı. Sizi sadece C-benzeri dillerde sınıf ödevleri programlarken öğrendiklerinizden farklı bir düşünce tarzına maruz bırakacaktır. Ayrıca, sözdizimi o kadar da farklı değil . Bazı Java kodlarındaki tüm kodları değiştirmeyi ve sonra silmeyi deneyin {; Python gibi görünmeye başlayabilir. :}
Ryan C. Thompson

Yanıtlar:


18

Hangi programlama dilinin daha iyi olduğuna dair eski argüman dışında, (Python dilimlenmiş ekmeklerden beri en büyük şey olsa da), her ikisinin de Gnome masaüstü için Apps yazmaya eşit derecede uygun olduğunu söyleyebilirim.

Python GTK bağları olan Pygtk , PiTiVi , Deluge , emesene , Exaile , Jokosher ve WingIDE gibi uygulamalar oluşturmak için kullanılmıştır .

Vala'da yazılmış uygulamaların bir listesini bulamıyorum ( Shotwell hakkında bilgim olsa da ). Ancak, Gnome destkop için bir dil olarak tasarlandığından, GTK / GObject entegrasyonu ile hayal kırıklığına uğramayacağınızdan emin olabilirsiniz.

İkisini de deneyin ve hangisini en çok sevdiğinizi kullanın. Her ikisi de GTK Uygulamaları oluşturmak için mükemmel araçlardır. Ayrıca bazı Vala kodlarına ve Bazı Python kodlarına da bakmak isteyebilirsiniz .


6

Vala'yı tavsiye ederim. Nesne yönelimli dilleri tercih ediyor gibisiniz ve Vala tasarım yönelimli nesne yönelimli. Python'un OOP yetenekleri de var, ancak diğer parçalara entegre değiller - bu yüzden Ruby yaratıldı.

Python'un öğrenmesi ve kullanması daha kolay kabul edilir, ancak kendi mantığı ve felsefesi ile çok orijinal bir dildir; Bence Vala'nın öğrenmesi daha kolay olacak çünkü C # ve Java'ya çok benziyor.

Seçim, hangi uygulamalara yazacağınıza da bağlıdır. Python, komut dosyası oluşturma ve hızlı prototipleme için iyidir, ancak GTK bağlantıları şu anda zayıf ve çok yavaştır. Çeşitli kriterlerde dilin kendisi C'den yaklaşık 40 kat daha yavaştır. Öte yandan Vala, bir C ön işlemcisidir, bu yüzden içinde yazılmış programlar çok hızlı çalışır ve GNOME'da kullanılmak üzere tasarlanmıştır.


1
Python için GTK bağlamaları 'zayıf' nedir? Ayrıca, Ruby'nin Python'a bir tepki olarak yaratıldığını sanmıyorum! Bunun dışında cevabınıza katılıyorum.
dv3500ea

Yorumlanan diller elbette daha yavaştır, yani bir tasarım değiş tokuşudur. Hızlı python kodu yazmak için, çalışan bir python uygulaması yazarsınız, optimizasyona ihtiyaç duyan parçaları profillendirir ve C gibi derlenmiş bir dilde bu parça için python modülleri yazarsınız.
Egil


1
Python'un kendisi yavaş olsa da, çoğu durumda hızı pek önemli değildir. Bir GUI'nin gerçekten yavaş kısmı, hala C olan gerçek grafiklere gidiyor
Brendan Long

5

PyGTK uygulamaları oluşturmak gerçekten çok kolay olduğu için Python ile başlamanızı öneririm . Bu ücretsiz kitap , Python ile Gnome uygulamaları geliştirmek için harika bir kaynaktır.

Vala da harika ama yeni başlayanlar için kendinizi Python ile daha rahat bulacaksınız.

Daha sonra, Unix uygulama geliştirme felsefesini öğrendikten sonra, ihtiyacınız olduğunu hissettiğinizde uygulamanızın python veya vala veya Javascript bölümlerini oluşturabilirsiniz .

Platform hakkında fikir edinmek için PyGTK (PyGI) ile başlayın ve daha sonra Vala ve Javascript'i öğrenin. Javascript, Gnome masaüstünde BÜYÜK olacak. BÜYÜK demek istiyorum.

GTK için bağlayıcı, şimdi tüm uygulamalar için aynı. Gobject Introspection'ı kullanarak herhangi bir dilden aynı C bağlarını kullanacaksınız .


JavaScript'i Gnome veya herhangi bir masaüstü ortamını (Gnome Shell'de zaten büyük bir izlenim bırakarak) devralmak için sabırsızlanıyorum.
Kushal

1

Python'un birçok iyi belgesi / kitabı var. Vala için bilmiyorum.


0

Ben wxPython (wxWidgets) Boa Constructor veya Aptana Studio 3 (PyDev) ile birlikte öneririm . Python herkes için harika bir dildir (çocuklar bile - bkz. "Çocuklar için Yılan Dövüşü"). Python / wxPython'da kodlama yaparak, Linux ile güzel bir şekilde bütünleşen ancak Windows ve OS / X için de önemsiz bir çaba ile taşınabilen bir kod yazacaksınız.


0

En rahat programladığınız programı kullanın. Kod bağışlayacaksanız (örn. Özgür yazılım yazmak), bunun keyfini çıkarabilirsiniz. Diğerlerinin söylediği gibi, her iki dil de gelişim için mükemmeldir.


Açıkçası özgür yazılım yazmak, her şeyi sonsuza dek değiştirecek olan şeydir. :-)
Kushal

0

vala muhtemelen iyi GTK bağları ve belgelerine sahip dillerin 3 numaralı (veya gtkmm olarak sayıyorsanız 4). nasıl yapıldığını görmek için değiştirebileceğiniz veya çalışabileceğiniz c'de ara kod üretir, vala'nın çoğu sadece GObject ve GLib etrafındaki sarmalayıcılardır. Vala kodu neredeyse C kadar hızlı çalışır ve c / c # / java'dan gelen herkes için kolay olmalıdır

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.