Chcesz rozpocząć tworzenie systemu Ubuntu (i większości dystrybucji Linuksa w ogóle), co jest odpowiednie? Python czy Vala? [Zamknięte]


14

Jestem absolwentem informatyki i uczyłem się języków takich jak C, C ++, C # i Java. Chociaż mam więcej doświadczenia z Javą. Chcę tworzyć dla Linuksa i wolę tworzyć dla GNOME, nie jestem pewien, czy wybrać jedną z Python i Vala.

Po przejrzeniu dokumentacji dotyczącej Vali na stronach GNOME Live wydaje mi się ona bardziej znana w porównaniu do Pythona, który jest zupełnie inny pod względem składniowym w porównaniu do większości języków, których nauczyłem się podczas studiów. Podczas nauki krzywa w Vali wydaje mi się mniejsza. Tak więc, który język powinienem wybrać, aby rozpocząć tworzenie, który ma lepsze wsparcie w różnych dystrybucjach. Zalecane IDE dla sugerowanego języka będzie mile widziane.

Dzięki.


1
Coś, czego nikt inny w tym wątku nie zasugerował: powinieneś nauczyć się języka Python, ponieważ różni się on od tego, co już wiesz. Narazi cię na inne myślenie niż nauczyłeś się podczas programowania zadań wyłącznie w językach podobnych do C. Również, składnia nie jest to inaczej. Spróbuj wymienić {z :czym usuwanie wszystkich }w niektórych kodu Java, a to może zacząć wyglądać dużo bardziej jak Python.
Ryan C. Thompson

Odpowiedzi:


18

Poza starym argumentem o tym, który język programowania jest lepszy, do którego nie będę wchodził (nawet jeśli Python jest najlepszą rzeczą od krojonego chleba), powiedziałbym, że oba są równie odpowiednie do pisania aplikacji na komputer Gnome.

Pygtk, powiązania Python GTK, zostały wykorzystane do tworzenia aplikacji takich jak PiTiVi , Deluge , emesene , Exaile , Jokosher i WingIDE .

Nie mogę znaleźć listy aplikacji napisanych w Vala (choć wiem o Shotwell ). Ale ponieważ jest bardzo zaprojektowany jako język dla Gnome destkop, możesz być całkiem pewien, że nie będziesz rozczarowany jego integracją z GTK / GObject.

Wypróbuj je oba i używaj tego, co lubisz najbardziej. Oba są doskonałymi narzędziami do tworzenia aplikacji GTK. Możesz także zajrzeć do kodu Some Vala i Some Python .


6

Poleciłbym Vala. Wydaje się, że wolisz języki obiektowe, a Vala jest zorientowana obiektowo z założenia. Python ma również możliwości OOP, ale nie są one tak zintegrowane z innymi częściami - dlatego właśnie stworzono Ruby.

Python jest uważany za łatwiejszy w nauce i użyciu, ale jest to bardzo oryginalny język, z własną logiką i filozofią; Myślę, że Vala będzie łatwiejsza do nauczenia się, ponieważ jest bardzo podobna do C # i Java.

Wybór zależy również od tego, jakie aplikacje napiszesz. Python jest dobry do tworzenia skryptów i szybkiego prototypowania, ale jego wiązania GTK są obecnie słabe i bardzo wolne. Sam język jest około 40 razy wolniejszy niż C w różnych testach porównawczych. Z drugiej strony Vala jest preprocesorem C, więc napisane w nim programy działają bardzo szybko i są przeznaczone do użycia w GNOME.


1
Co jest „słabego” w powiązaniach GTK dla Pythona? Ponadto nie sądzę, że Ruby powstał jako reakcja na Python! Poza tym zgadzam się z twoją odpowiedzią.
dv3500ea 25.0411

Języki interpretowane są oczywiście wolniejsze, co jest kompromisem w projektowaniu. Aby napisać szybki kod Pythona, napisz działającą implementację Pythona, profiluj części wymagające optymalizacji i napisz moduły Pythona dla tych części w skompilowanym języku, takim jak C.
Egil,

@ dv3500ea: Właściwie „ Chciałem języka skryptowego, który byłby silniejszy niż Perl i bardziej zorientowany obiektowo niż Python. ” Niekoniecznie zgadzam się, nie rozumiem, w jaki sposób OOP nie jest zintegrowany z Pythonem.
André Paramés,

1
Podczas gdy sam Python jest wolny, jego szybkość w większości przypadków nie ma znaczenia. Naprawdę powolna część GUI przechodzi do rzeczywistej grafiki, którą wciąż jest cała C.
Brendan Long

5

Proponuję zacząć od Pythona, ponieważ tworzenie aplikacji PyGTK jest naprawdę łatwe. Ta darmowa książka jest świetnym źródłem do tworzenia aplikacji Gnome za pomocą Pythona.

Vala też jest świetna, ale poczujesz się lepiej z Pythonem jako początkującym.

Później, gdy zapoznasz się z filozofią tworzenia aplikacji dla systemu Unix, możesz tworzyć części aplikacji w języku python, vala lub JavaScript, w zależności od potrzeb.

Powiedziałbym, zacznij od PyGTK (PyGI), aby poczuć platformę, a następnie naucz się Vala i Javascript. JavaScript będzie OGROMNY na pulpicie Gnome. Mam na myśli OGROMNY.

Wiązanie dla GTK, są teraz takie same dla wszystkich aplikacji. Będziesz używać tych samych powiązań C z dowolnego języka, korzystając z introspekcji Gobject .


Nie mogę się doczekać, aż JavaScript przejmie Gnome lub dowolne środowisko komputerowe (co już ma, pozostawiając ogromne wrażenie na Gnome Shell).
Kushal

1

Python ma wiele dobrej dokumentacji / książek. Dla Vali nie wiem.


0

Sugerowałbym wxPython (wxWidgets) wraz z Boa Constructor lub Aptana Studio 3 (PyDev). Python jest fantastycznym językiem dla każdego (nawet dzieci - patrz „Snake Wrangling for Kids”). Kodując w Python / wxPython, będziesz pisać kod, który pięknie integruje się z Linuksem, ale można go z łatwością przenieść na system Windows i OS / X.


0

Używaj tego, w czym najwygodniej programujesz. Jeśli zamierzasz przekazywać kod (np. Pisanie wolnego oprogramowania), równie dobrze możesz się nim cieszyć. Jak powiedzieli inni, oba języki są idealne do rozwoju.


Oczywiście pisanie wolnego oprogramowania zmieni wszystko na zawsze. :-)
Kushal

0

vala jest prawdopodobnie numerem 3 (lub 4, jeśli policzysz gtkmm) języków z dobrymi powiązaniami i dokumentacją GTK. produkuje kod pośredni w c, który możesz zmienić lub przestudiować, aby zobaczyć, jak to się robi, większość vala jest po prostu owijana wokół GObject i GLib. Kod Vala działa prawie tak szybko jak C i powinien być łatwy dla każdego, kto pochodzi z c / c # / java

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.