Question

Récemment, j'ai décidé d'élargir mes horizons de programmation et d'apprendre le langage de programmation Python. Bien que j'ai utilisé un peu de python pour des cours au collège et pour un projet ou deux au travail, je ne suis en aucun cas un expert. Ma question est la suivante: devrais-je m'embêter avec les versions 2.x ou dois-je passer directement à la version 3.0? Je me penche vers la version 3.0 car je programmerai davantage les applications à des fins personnelles / d'apprentissage, mais je voulais voir s'il existait de bons arguments contre elle avant de commencer.

Était-ce utile?

La solution

Absolument pas 3.0 - 3.1 est sorti et est plus stable, meilleur, plus rapide à tous égards; Cela n’a absolument aucun sens de commencer par la version 3.0 pour le moment. Si vous voulez utiliser la série 3, elle devrait être 3.1 pour tous les comptes.

Comme pour 2.6 vs 3.1, le 3.1 est un meilleur langage (en particulier parce qu’il a été supprimé certains fichiers crus qui se sont accumulés au fil des ans mais qui doivent rester dans la version 2. * pour des raisons de compatibilité ascendante), mais le reste de l’écosystème 2.6) - si vous ne vous souciez pas de pouvoir utiliser (par exemple) certaines interfaces graphiques ou extensions scientifiques, déployer sur App Engine, script Windows avec COM, avoir un Une IDE tierce, etc., est recommandée, mais si vous vous souciez de ce genre de choses, maintenez toujours 2. * pour le moment.

Autres conseils

Utilisez 3.1

Pourquoi?

1) Étant donné que tout le monde utilise toujours la version 2.6, les bibliothèques auront moins de raisons de migrer vers la version 3.1. Tant que ces bibliothèques ne sont pas portées à la version 3.1, vous ne pouvez pas utiliser les atouts de la version 3.1, ni effectuer les tâches à mi-chemin en utilisant la solution bidon qui consiste à utiliser un ensemble de fonctionnalités back-ported. Soyez un avant-gardiste et contribuez à faire avancer Python.

2) Si vous apprenez et utilisez 3.1 maintenant, vous n'aurez plus besoin de le réapprendre plus tard, une fois le port de masse terminé. Je sais que certaines personnes disent que vous n'aurez pas à apprendre beaucoup, mais pourquoi apprendre la vieille merde du tout? Python lui-même s’oriente vers la version 3.1 , les bibliothèques s’orienteront vers la version 3.1 et il est très pénible de devoir rattraper son retard et de réapprendre un langage que vous utilisez déjà.

3) La version 3.1 est une meilleure langue , plus stable et plus cohérente que la version 2.6 ... ceci est normal. Les leçons tirées de la version 2.6 ont toutes été intégrées à la version 3.1 pour l’améliorer. Il s’agit d’un processus appelé PROGRESS . C'est pourquoi personne n'utilise toujours Windows 3.1. C'est la façon dont les choses avancent. Pour quelle autre raison pensez-vous qu'ils se sont donné la peine de porter en arrière un ensemble de fonctionnalités en premier lieu?

4) Si vous apprenez Python et que vous apprenez la version 2.6, vous serez à l'aise avec le langage, les ports seront disponibles et vous devrez réapprendre les bibliothèques et le langage. Si vous commencez par la version 3.1, les ports seront sortis au moment où vous maîtriserez la langue et vous pourrez alors connaître les bibliothèques qui vous intéressent. Le processus est plus simple .

5) Pour être un meilleur développeur. Si vous devez apprendre et réapprendre les mêmes choses, votre compréhension ne sera pas très profonde. En apprenant cette langue et ses bibliothèques une seule fois, vous aurez plus de temps pour travailler avec elles plutôt que de réapprendre la syntaxe. Cela vous permet de mieux les comprendre. S'il vous manque vraiment des morceaux en vous rendant sur les bibliothèques? ECRIVEZ-LES. Vous n'aurez probablement pas besoin d'une bibliothèque entière et ne pourrez généralement écrire que les éléments dont vous avez besoin et développer des outils pour vous-même. Ceci, encore une fois, vous aide à comprendre la langue mieux et plus profondément.

Réponse courte: Commencez par Python 2.6.

Pourquoi: la programmation est plus amusante et utile lorsque vous pouvez tirer parti du travail des autres. Cela signifie utiliser souvent des bibliothèques tierces. La plupart des bibliothèques populaires pour Python n'ont pas encore de support 3.x. PIL et NumPy / SciPy me viennent à l’esprit. Mon interprète préféré, ipython, ne fonctionne pas encore avec la version 3.0. De nombreux frameworks de tests unitaires et web ne sont pas encore sur la version 3.0.

Donc, si vous démarrez dans 3.x, de nombreuses portes vous seront fermées, au moins jusqu'à ce que le portage 3.x prenne de l'ampleur. Certes, Python 3.x contient de nombreuses fonctionnalités intéressantes, mais certaines d’entre elles ont été rétroportées à la version 2.6 et d’autres feront de la version 2.7. Alors restez avec 2.6 pour le moment, et réévaluez 3.x dans environ un an.

Je pense que vous serez mieux servi en passant directement à la version 3.0. À moins de disposer d’une base de code héritée à laquelle faire face, l’apprentissage des méthodes 2.xx présente très peu d’avantages.

Dans le monde Python (comme dans la plupart des autres), les versions mettent généralement un certain temps à migrer vers tous les sous-projets, mais si vous avez besoin de revenir à la version 2.xx, je ne le ferai jamais. Ne pensez pas que vous allez trouver que réapprendre des choses est particulièrement pénible.

Vous devriez utiliser la dernière version de tout langage de programmation que vous apprenez, sauf si vous avez une raison spécifique de ne pas vouloir. Comme vous n'avez pas de projet existant qui ne fonctionnera pas avec Python 3.0, vous devriez vous sentir libre d'utiliser la version la plus récente.

Utilisez python 3.1, Luke.

Python 3.1 ne doit pas être utilisé tant que les autres bibliothèques n’ont pas pris en charge cette fonctionnalité.

Vous devriez utiliser la version 2.6 maintenant. Il possède plusieurs fonctionnalités 3.x qui lui ont été rapportées, de sorte que la migration vers la version 3.x ne sera pas difficile par la suite et que vous n'apprendrez aucune pratique obsolète.

La bonne nouvelle est qu’il n’est pas si difficile d’apprendre à la fois Python 2.x et 3.x. Vous pouvez installer la dernière version 2.x en tant que version enregistrée auprès du système pour exécuter les scripts Python par défaut, mais également installer la dernière version 3.x pour lancer explicitement lorsque vous le souhaitez. C'est ce que j'ai sur mon système Windows Vista.

Ensuite, le document clé pour apprendre les différences entre les versions 2.x et 3.x est:

http://docs.python.org/3.1/whatsnew/3.0.html

Si vous lisez des supports d’apprentissage Python basés sur la version 2.x et que vous vous référez également à celui-ci, "Quoi de neuf en Python 3.0"? lien ci-dessus, vous aurez une compréhension de la façon dont les choses ont changé. Voir également les autres éléments de la nouvelle documentation, comme pour les différences entre la version 3.0 et la version 3.1, mais le lien ci-dessus est le lien principal pour comprendre les modifications apportées aux versions 2.x et 3.x.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top