Je me sens comme si je retourne à l'âge de pierre. P>
Comment puis-je désapprendre sans IntelliSense (Pydev IntelliSense ne compte pas) .. En général, comment on quitte-t-on avec succès le confort de Visual Studio? P>
16 Réponses :
Je ne suis pas trop familier avec Python, je vais donc donner des conseils généraux. Assurez-vous d'imprimer des pages de référence de fonctions communes. Gardez-les par vous (ou épinglé à un mur ou à un mur ou à un bureau) à tout moment lorsque votre programmation ... Je suis traditionnellement un développeur de "âge de pierre" et après le développement de VS depuis quelques mois, je trouve que ma programmation de loisirs est difficile sans IntelliSense .. mais gardez-le à mémoriser les fonctions les plus courantes et, éventuellement, ce sera simplement naturel p>
Vous devrez également utiliser un peu plus "difficile" de débogage (pas sûr de la manière dont cela fonctionne avec Python) P>
Pendant votre apprentissage, vous devriez profiter de la bonté (au moins comparé au C #) de Python, même si vous n'avez pas d'intellisense .. Espérons que cela vous motivera! P>
Un pas à la fois? P>
Commencez avec des programmes simples (des choses que vous pouvez écrire avec vos yeux fermées en C #) et continuez ... vous finirez par connaître l'API par cœur. P>
Super déclaration! Oui, plus vous apprenez sur Python en examinant la documentation de la bibliothèque standard, plus vous vous engagez à la mémoire. Vous le saurez par cœur avec suffisamment de pratique dans la langue.
Je n'ai jamais utilisé le ralenti au développement de Python et ce n'est pas amusant le moins. Je recommanderais d'obtenir votre éditeur de texte préféré, le mien est NOTEPAD ++ et prie pour un plugin décent pour cela. Je n'ai jamais eu à aller d'Eclipse à Visual Studio afin que mes opinions soient généralement invalides dans ces contextes. P>
Si vous pensez dans la langue et la bibliothèque standard que vous avez mémorisée, il n'est pas difficile de programmer (oisif).
Je n'ai pas dit que c'était difficile, je viens de dire que ce n'était pas amusant :)
Vous pouvez toujours commencer par Ir IronPython et continuer à développer dans Visual Studio. p>
Tant que vous finissez par sortir et vous aventurer à CPPHON.
Visual Studio est terrible pour IronPython :(
L'IDE Python de Wingware est assez agréable. Thats ce que j'ai fini par utiliser aller de Visual Studio C ++ /. Net à faire de Python. P>
J'ai récemment appris Python avec un fond de C # fort. p>
Mon avantage: faites-le. Désolé, je ne pouvais pas résister mais je suis aussi sérieux. Installez Python et lisez: documentation Python.org (v2.6). Un livre peut aussi vous aider - j'aime The Python PhraseBook A >. De là, j'ai commencé à utiliser Python pour mettre en œuvre des solutions pour diverses choses. Plus particulièrement, projecturer.net questions. p>
Cela m'a obligé à prendre en compte les langues et intégré des structures de données. p>
Python est vraiment facile à utiliser et intuitif. Pour apprendre les bases, m'a pris environ une heure. Pour être très bon avec cela, a pris environ 5 heures. Bien sûr, il y a toujours plus à apprendre. P>
En outre, je tiens à noter que je découragerais à l'aide d'IronPython ou de Jython, car je me sens à l'apprentissage du noyau, le python ordinaire est la première étape. p>
Apprendre tous les outils de la bibliothèque standard: cela pourrait prendre plusieurs jours ou plusieurs semaines, en fonction de ce que vous devez faire.
Assez bon dans les 5 heures? Jeez je vais quelques années et je n'ai que je n'admie que d'être «d'accord».
Ne vous inquiétez pas pour IntelliSense. Python est vraiment simple et il n'y a vraiment pas grand chose à savoir, alors après quelques projets, vous concevez du code Python tout en conduisant, manger, etc., sans vraiment essayer. Plus, l'éditeur de texte intégré de Python (inactif) a une version wimpy d'IntelliSense qui a toujours été plus que suffisante à mes besoins. Si vous allez jamais en blanc et que vous voulez savoir quelles méthodes / propriétés et objet ont, tapez simplement ceci dans une session interactive: p>
dir (myObject) p>
J'utilise KOMODO Modifier et il devine raisonnablement bien à l'autocompleurtion. p>
Appuyé. Je serais également deuxième que les commentaires ci-dessus suggèrent de garder une fenêtre de console ouverte (ou d'un à Komodo) pour inspecter les classes et les objets.
C'est une sorte de raison pour laquelle je pense être un bon utilisateur Visual Studio fait de vous un mauvais développeur. Au lieu d'apprendre une API, vous regardez dans le navigateur d'objets jusqu'à ce que vous trouviez quelque chose qui ressemble plus ou moins à ce que vous recherchez, instanciez-le, puis frappez. et commencez à chercher ce qui sonne comme la bonne chose à utiliser. Bien que cela soit très rapide, cela signifie également qu'il faut toujours apprendre une API à une profondeur, ce qui signifie souvent que vous finissez par réinventer la roue (car la roue est enterrée sous une montagne d'appareils ménagers et vous n'avez eu aucune idée C'était là), ou juste faire des choses de manière sous-optimale. Juste parce que vous pouvez trouver rapidement la une solution em>, ne signifie pas que c'est la meilleure solution em>. P>
Dans le cas de .NET, qui est livré avec environ un milliard d'API pour tout sous le soleil, cela est en fait préféré. Vous devez passer au crible à travers beaucoup de bruit pour trouver ce que vous visez. P>
Le code pythonique favorise une manière évidente de faire une chose donnée. Cela a tendance à rendre les API très droites et lisibles. L'astuce consiste à apprendre la langue et à apprendre les API. Ce n'est pas terriblement difficile de faire, surtout dans le cas de Python, et tout en ne pouvant pas compter sur Intellisense peut être en premier, il ne devrait pas prendre plus une semaine ou deux avant de m'habituer à ne pas être là . p>
Apprenez la langue et les bibliothèques standard de base avec un bon livre. En ce qui concerne une nouvelle API de bibliothèque, je trouve que le codage exploratoire et que certains codages exploratoires peuvent me procurer une très bonne compréhension de ce qui se passe assez rapidement. p>
rant> code> p>
-1 pour votre déclaration. De nombreux développeurs .NET apprennent et comprennent l'API. Beaucoup d'autres apprennent l'intention globale du cadre et pourront déduire l'emplacement probable de l'API qu'ils souhaitent utiliser.
Je parle d'expérience personnelle, alors peut-être que cela s'applique simplement à moi. 3 ans de .net vs une année de rubis. Je peux faire un enfer de beaucoup sur .NET, mais il n'y a que quelques zones que je connais à une profondeur. En revanche, je connais beaucoup moins de bibliothèques et d'API rubis, mais ce que je sais, je sais vraiment bien. Quand il s'agit de frapper des choses, je trouve que je suis beaucoup plus rapide à l'aide de la pile MS, quand il s'agit de prendre en charge une expertise, je trouve cela plus facile avec les trucs rubis. Après avoir réfléchi pendant un certain temps, je suis descendu à l'ouest de la raison principale.
Python est riche en fonctionnalités "d'introspection". En particulier, vous pouvez trouver beaucoup de choses sur des fonctions intégrées à l'aide d'une commande appelée Supposons que vous voulez utiliser des expressions régulières, et que vous voulez savoir comment les utiliser. p> help () code> à partir de la ligne de commande Python.
>>> help(re.sub)
Absolument. Cela vous encourage également à écrire du code de manière interactive, ce qui peut être une bonne source de code de test plus tard ...
De même manière, vous faites autre chose qui n'a pas d'intellistuff. p>
Je parie que vous avez écrit cette question sans aide d'un programme informatique IntellInglandais qui vous a montré une liste de verbes que vous pouvez utiliser et une ponctuation automatiquement à la fin de vos phrases, par exemple. : -) p>
J'utilise Eclipse et Pydev, la plupart du temps, et l'aidation de l'achèvement automatique limitée qu'elle fournit est assez utile.
Cela ne va jamais arriver au niveau de l'intellisense de VS et ne peut pas , à cause de la nature dynamique de Python. Mais il y a des compensations, des gros. P>
La plus grande est la rupture du cycle de test de compilation de code. Il est si facile d'écrire et de tester le code de prototype au ralenti que très souvent, c'est là que je vais d'abord: je dessinerai de sortir et de tester quelques méthodes qui doivent interagir, déterminer qu'il y a quelque chose que je ne sais pas, apprenez-le, apprenez-le, Fixez mon test, puis portez le tout autant de Pydev et de regarder cela fonctionne la première fois. P>
Un autre est que c'est beaucoup plus simple. Il est vraiment important de savoir quels sont les modules standard et ce qu'ils font, mais pour la plupart pouvant être ramassés avec une petite lecture. J'utilise seulement une petite poignée de modules dans ma programmation quotidienne - Le truc qu'il est vraiment important de savoir que Intellisense ne pouvait pas savoir 't vous aide de toute façon. L'achèvement automatique ne va pas faire P> iTertools code>,
os code>,
csv code> (ouais, puits),
Datetime ,
stringio code> - et tout le reste est là si j'en ai besoin, mais généralement je ne le fais pas. P>
self.__dict__.update(kwargs)
D'autres ont suggéré plusieurs éditeurs qui ont des capacités d'intellisense. Essayez-les.
Installez également ipython et utilisez-le pour apprendre la langue de manière interactive. C'est comme une version ascendante de la coque interactive de Python ordinaire avec beaucoup de capacités ajoutées et l'une des plus utiles de son ensemble d'onglet contextuel et d'aide au contexte. p>
par exemple si vous tapez p> Il affichera tous les modules que vous pouvez importer en commençant par R P> re.compile??
PYSCRIPTER fait un travail raisonnable à l'achèvement automatique / IntelliSense. Je l'utilise récemment lorsque j'ai commencé à apprendre Python / Django, où j'ai été principalement un développeur C # pour ces dernières années. P>
Je suggère de faire froid Turquie - des langues comme Python Shine avec de super textes éditeurs. Choisissez-en un que vous souhaitez devenir incroyable (Vim, Emacs, etc.) et ne jamais regarder en arrière. P>
Une erreur Les gens venant de C # ou Java font beaucoup de choses sont recréé une grande hiérarchie de classe comme est courante dans ces langues. Avec Python, cela n'est presque jamais utile. Au lieu de cela, apprenez le typing de canard. Et ne vous inquiétez pas trop sur le manque de typage statique: dans la pratique, ce n'est presque jamais un problème. P>
Je ne supporte rien sans intellisense maintenant lol
Wow, vous comptez vraiment sur Intellisense autant? C'est un mauvais signe ...
Ne soyez pas si fort sur Billy r. Si vous travaillez toujours dans Visual Studio (comme beaucoup de choses) où IntelliSense est toujours disponible, vous vous y habituerez. Vous pouvez simplement utiliser le Bloc-notes et être un développeur «meilleur», mais vous n'avez pas beaucoup gagné. Ne vous sentez pas honteux de l'utilisation de fonctionnalités à votre disposition. Obtenir "accro" à IntelliSense est rarement une chose volontaire. Maintenant, je suis tout à fait d'accord pour que vous puissiez vous en cacher sans elle. C'est une question de juste le faire. :RÉ
Je veux juste souligner que Pycham Ide a un grand soutien IntelliSense pour Python. Bien que comme laneugramme dactylographié dynamiquement, il a des limites (cela ne sait pas ce que les paramètres de fonction de type A sont par exemple). Je conviens qu'après avoir utilisé VS depuis 10 ans et plus, c'est un ajustement difficile à aller sans intellisense.
@Cyclone: Vous pouvez utiliser n'importe quel éditeur qui prend en charge Jedi pour obtenir une excellente autocalistion (par exemple, Vim avec YouCompleMeeeme)