28 votes

Vaut-il la peine d'apprendre Python?

Je suis développeur C ++ / C # /. NET.

Je cherche quelque chose de nouveau et d'amusant. Je souhaite également développer des applications Web. Donc ma question est: vaut-il la peine de sauter dans Python (qu'est-ce qui est si bon à ce sujet?), Ou vous me recommandez autre chose (qu'est-ce qui est si bon à propos d'autre chose)?

45voto

Magnus Hoff Points 12052

Cela vaut la peine de plonger dans Python !

Sérieusement. Python complétera votre boîte à outils. Après en avoir suffisamment appris, vous constaterez que vous écrivez des choses que vous avez déjà faites à la main ainsi que des choses trop fastidieuses pour être exprimées dans vos langues actuelles.

Ce n'est pas un marteau d'or - rien ne l'est - mais il complète très bien vos langues actuelles.

25voto

Je dirais que Python est bien la peine d'apprendre pour un couple de raisons, dont l'une est spécifiquement pertinents pour votre existant .Net fond.

  • La première raison est que Python est un bon système (sans faire dans les débats sur son spécifique fond) et bénéficie d'une forte croissance de la communauté. Ce n'est pas le seul jeu dans ville mais Python serait un bon choix si vous deviez choisir l'un de l' open-source dynamique des langues.

  • La deuxième raison est que vous pouvez utiliser IronPython (natif .Net de la mise en œuvre de Python) avec la .Bibliothèques Net, qui vous permet certains ré-utilisation de votre existant .Net de l'expérience. Il vous permet également d'intégrer IronPython comme un langage de script dans un .Net application, ou de construire une application avec un mixure de C# et Le code Python. Il y a aussi un Visuel Studio plugin appelé IronPython Studio qui vous permet de l'utiliser à partir de Visual Studio, seule IDE ou intégré avec un large VS installer. De ce point de vue il complète votre existant .Net développement.

Python est assez facile à apprendre. Quand j'ai d'abord utilisé Python, j'ai pu aller à partir d'un départ arrêté avec aucune expérience préalable à la rédaction d'un serveur multithread (FWIW, un émulateur pour une caméra web) en 6 jours, pour faire un temps plein diplôme en Sciences Informatiques à l'université.

Si vous travaillez sur Windows, obtenir Activestate Python, qui est une conserve de distribution avec un certain nombre de goodies comme ODBC, COM et Win32 l'interfaçage des bibliothèques, un wrapper de la bibliothèque MFC et un outil appelé "COM MakePy' qui génère des wrappers Python de type métadonnées de bibliothèque (pensez: script Excel à partir de Python). Il dispose également d'un grand corps de la documentation Python organisé en chm le fichier et une belle Python-connaissance de l'éditeur de base de l'IDE et de la fonctionnalité de débogage. Entre le présent et IronPython, Python est à peu près un citoyen de première classe sur Windows - sans doute Python est le meilleur support de Windows de toute de la dynamique des langues.

13voto

Garth Kidd Points 2792

Oui. Apprendre Le Langage Python.

Je trouve que j'construire les fonctionnalités autour de cinq fois plus vite en Python qu'en C# ou VB.NET. Il n'y a tout simplement moins de dactylographie et de soucis pour elle.

Assez sur la productivité: parlons de plaisir. Python permet de jouer avec typage dynamique, fonctionnelles, techniques de programmation (bonjour, générateur d'interprétations!) et le cerveau de benders, comme le singe de correction et les metaclasses. Il y a un filet de sécurité, cependant. Au lieu d'avoir à comprendre un tout nouveau style de programmation, cependant - je suis à la recherche à vous, Erlang - vous pouvez vous amuser sans abandonner le familier Algol-style de langage orienté objet fonctionnalités que vous avez été à l'aide de toutes ces années, en plus des langues traditionnelles.

En parlant de filets de sécurité: il n'y a pas besoin d'abandonner votre investissement dans le .NET framework. Télécharger IronPython. Vous pouvez utiliser tous vos .NET classes de code Python. Vous pouvez utiliser Python comme langage intégré pour le développement rapide d'utilisateur et d'extensibilité. L'enfer, vous pouvez utiliser Python, il suffit de tester votre code pressé. Par exemple:

# Gather reports by their traceback, if any
exception_counts = {}
for record in records:
    try:
        RunParser(record)
    except Exception, ex:
        exception_counts.setdefault(cls.Exception.ToString(), 
                                    []).append(record)

# Print a report sorted by crash rate, descending. 
report_lines = [(len(records), ex) 
                for (ex, records) in exception_counts.items()]
report_lines.sort()
report_lines.reverse()
for count, traceback in report_lines:
    print "%d: %s\n" % (count, traceback)

Qui tente de l'analyseur sur tous mes dossiers, et raconte-moi ce qui s'est écrasé le plus. Il m'a fallu environ cinq minutes pour écrire. J'ai la trouille de penser à combien de temps il faudrait m'ont pris en C#, mais j'figure certains commentateurs vont montrer leurs compétences. :)

Ajouté juste un peu plus tard:

Luc a commenté sur Python du bloc de style, qui est en retrait plutôt que délimité. J'avoue une fois en pensant que Python d'utilisation de l'indentation que la syntaxe était une abomination. Ensuite, j'ai essayé, et il aimait d'un lot.

J'ai écrit beaucoup de C# dernièrement. J'ai déjà soufflé un certain temps à essayer de comprendre d'où une accolade de fermeture était manquant. Comme je l'ai dit à Luc: le bloc styles ont leurs modes de défaillance.

Si l'indentation que la syntaxe est la pire chose que votre langue jette dans votre chemin aujourd'hui, vous avez une très bonne journée.

4voto

Emiliano Points 2165

Jetez un œil à Django . Je ne sais pas si c'est mieux que Ruby On Rails (car je ne connais pas Ruby) mais Django est tout à fait sûr l'une des meilleures plates-formes de développement Web Python disponibles.

2voto

Stefano Driussi Points 1929

oui ça vaut le temps de l'apprendre. considérez qu'il est largement soutenu et a une vaste communauté derrière lui.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X