Vous voulez commencer le développement pour Ubuntu (et la plupart des distributions Linux en général), ce qui convient? Python ou Vala? [fermé]


14

Je suis diplômé en informatique et j'ai appris des langages comme C, C ++, C # et Java. Bien que j'aie plus d'expérience avec Java. Je veux développer pour Linux et je préférerais développer pour GNOME, je suis confus entre en choisir un parmi Python et Vala.

Après avoir parcouru de la documentation sur Vala sur les pages GNOME Live, cela me semble plus familier que Python, qui est assez différent sur le plan syntaxique par rapport à la plupart des langues que j'ai apprises pendant mon diplôme. Alors que la courbe d'apprentissage à Vala me semble plus petite. Alors, quel langage dois-je choisir pour commencer le développement, qui a un meilleur support dans une variété de distributions. Un IDE recommandé pour la langue suggérée sera apprécié.

Merci.


1
Quelque chose que personne d'autre dans ce fil n'a suggéré: vous devriez apprendre Python car il est différent de ce que vous savez déjà. Cela vous exposera à une façon de penser différente de celle que vous avez apprise lors de la programmation des travaux de classe exclusivement dans des langages de type C. De plus, la syntaxe n'est pas si différente. Essayez de remplacer {par :puis de supprimer tout le }code Java, et cela pourrait ressembler beaucoup plus à Python.
Ryan C. Thompson

Réponses:


18

Autre que l'ancien argument sur le meilleur langage de programmation, dans lequel je n'entrerai pas (même si Python est la meilleure chose depuis le pain en tranches), je dirais que les deux sont tout aussi bien adaptés à l'écriture d'applications pour le bureau Gnome.

Pygtk, les liaisons Python GTK, ont été utilisées pour créer des applications comme PiTiVi , Deluge , emesene , Exaile , Jokosher et WingIDE .

Je ne trouve pas de liste d'applications écrites en Vala (même si je connais Shotwell ). Mais comme il est très bien conçu pour être un langage pour le destkop Gnome, vous pouvez être sûr que vous ne serez pas déçu par son intégration GTK / GObject.

Essayez-les tous les deux et utilisez ce que vous préférez. Ce sont deux excellents outils pour créer des applications GTK. Vous voudrez peut-être également jeter un œil au code Vala et au code Python .


6

Je recommanderais Vala. Vous semblez préférer les langages orientés objet et Vala est orienté objet par conception. Python possède également des capacités OOP, mais elles ne sont pas intégrées aux autres parties - c'est pourquoi Ruby a été créé.

Python est considéré comme plus facile à apprendre et à utiliser, mais c'est un langage très original, avec sa propre logique et philosophie; Je pense que Vala sera plus facile à apprendre car il est très similaire à C # et Java.

Le choix dépend également des applications que vous allez écrire. Python est bon pour les scripts et le prototypage rapide, mais ses liaisons GTK sont actuellement médiocres et très lentes. Le langage lui-même est environ 40 fois plus lent que C dans divers cas-tests. Vala, d'autre part, est un préprocesseur C, donc les programmes écrits en lui fonctionnent très rapidement, et il est conçu pour être utilisé dans GNOME.


1
Qu'est-ce qui est «médiocre» dans les liaisons GTK pour Python? De plus, je ne pense pas que Ruby a été créé en réaction à Python! En dehors de cela, je suis d'accord avec votre réponse.
dv3500ea

Les langues interprétées sont bien sûr plus lentes, c'est un compromis de conception. Pour écrire du code python rapide, vous écrivez une implémentation de python fonctionnelle, profilez les parties qui nécessitent une optimisation et écrivez des modules python pour ces parties dans un langage compilé tel que C.
Egil

@ dv3500ea: en fait, " je voulais un langage de script plus puissant que Perl, et plus orienté objet que Python. " Non pas que je sois nécessairement d'accord, je ne vois pas comment la POO n'est pas intégrée à Python.
André Paramés

1
Alors que Python lui-même est lent, sa vitesse importe peu dans la plupart des cas. La partie vraiment lente d'une interface graphique va aux graphismes réels, qui sont toujours tous en C.
Brendan Long

5

Je vous suggère de commencer avec Python car il est vraiment facile de créer des applications PyGTK. Ce livre gratuit est une excellente ressource pour développer des applications Gnome avec Python.

Vala est génial aussi, mais vous vous sentirez plus à l'aise avec Python en tant que débutant.

Plus tard, une fois que vous vous serez familiarisé avec la philosophie du développement d'applications Unix, vous pourrez créer des parties de votre application en python ou vala ou Javascript selon vos besoins.

Je dirais, commencez par PyGTK (PyGI) pour avoir une idée de la plate-forme, puis apprenez Vala et Javascript. Javascript va être ÉNORME sur le bureau Gnome. Je veux dire ÉNORME.

La liaison pour GTK, ils sont maintenant les mêmes pour toutes les applications. Vous utiliserez les mêmes liaisons C de n'importe quel langage à l'aide de Gobject Introspection .


J'ai hâte que JavaScript reprenne Gnome ou tout autre environnement de bureau (qu'il a déjà en laissant une énorme impression sur Gnome Shell).
Kushal

1

Python a beaucoup de bonne documentation / livres. Pour Vala, je ne sais pas.


0

Je suggère wxPython (wxWidgets) avec Boa Constructor ou Aptana Studio 3 (PyDev). Python est un langage fantastique que n'importe qui peut utiliser (même les enfants - voir "Snake Wrangling for Kids"). En codant en Python / wxPython, vous écrirez du code qui s'intègre parfaitement à Linux mais qui peut également être porté avec un effort trivial sur Windows et OS / X.


0

Utilisez la programmation dans laquelle vous êtes le plus à l'aise. Si vous voulez faire don de code (c'est-à-dire écrire un logiciel gratuit), vous pouvez aussi bien en profiter. Comme d'autres l'ont dit, les deux langues sont idéales pour le développement.


De toute évidence, l'écriture de logiciels libres est ce qui va tout changer pour toujours. :-)
Kushal

0

vala est probablement le numéro 3 (ou 4 si vous comptez gtkmm) de langues avec de bonnes liaisons GTK et une bonne documentation. il produit du code intermédiaire en c, que vous pouvez modifier ou étudier pour voir comment cela se fait, la plupart de vala ne sont que des wrappers autour de GObject et GLib. Le code Vala fonctionne presque aussi vite que C, et devrait être facile pour quiconque venant de c / c # / java

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.