10
votes

Quels sont les avantages de c # sur python

J'aime Python surtout pour la grande portabilité et la facilité de codage, mais je me demandais, quels sont certains des avantages que c # a sur python?

La raison pour laquelle je demande est que l'un de mes amis dirige un serveur privé pour un jeu en ligne (UO) et il a offert de me faire un dev si je voulais, mais le logiciel du serveur est tout écrit en C #. J'aimerais faire cela, mais je n'ai pas vraiment le temps de faire plusieurs langues et j'étais juste après quelques autres raisons de justifier de prendre C # sur Python à moi-même.

Je fais tout cela auto-enseigné en tant que passe-temps, BTW


2 commentaires

Selon le type de développement que vous souhaitez faire pour ce jeu, vous pourrez peut-être utiliser IronPython, une implémentation de Python pour le .NET CLR - ainsi que vous pourriez tirer parti de vos compétences linguistiques existantes tout en restant dirigé votre code dans votre ami. Environnement .NET. Évidemment, cela ne fonctionnerait que si vous étiez, disez-vous, écrivez des scripts ou quelque chose comme ça, plutôt que de travailler sur la base de code C # existante. (Et votre ami aurait besoin d'écrire un peu de plomberie pour appeler les scripts IPY, mais c'est assez trivial.)


Il y a aussi le langage de python boo pour .NET


10 Réponses :



9
votes

Il y a beaucoup de différences, d'avantages ainsi que d'inconvénients. Je suppose que les principaux avantages seraient le long des lignes de

  • Excellente intégration de Windows, y compris l'accès à toutes les fonctions d'interface graphique standard et à toutes les autres bibliothèques.
  • Compilation JIT, entraînant une meilleure performance que Python, dans certaines circonstances ou la plupart des cas. Comme il a été souligné, ceci est maintenant aussi possible dans Python.
  • sous Windows, le support IDE est sans doute meilleur pour C #. Visual Studio est un environnement de développement bien établi et avancé et les éditions «Express» sont gratuites pour une utilisation personnelle . Dans un environnement non-Windows, il s'agit probablement d'un tirage au sort entre différents éditeurs.

    Le reste est fondamentalement à la préférence personnelle (typée statiquement par rapport à la syntaxe de type C ou non, etc.).


2 commentaires

Je suis sûr que les éditions Express de Visual Studio 2008 sont gratuites pour un usage commercial, s'ils sont toujours disponibles.


Pas que je suis pro Python sur C # (j'aime les deux pour différentes choses, mais préférez généralement c #) mais j'aimerais simplement souligner qu'il y a plusieurs machines virtuelles Python qui font la compilation JIT, et il est prévu de fusionner une hirondelle de malédend (un très populaire offert par Google) dans la base de code Python par défaut.



1
votes

Le jiteur et le fait que cela puisse produire du code plus serré en raison de la saisie statique. Le jiteur peut être résolu en utilisant l'une des implémentations de non-CPPHON ou en passant à I386 et à l'aide de PSYCO, mais la typographie statique ne peut pas être résolue aussi de manière triviale (ni je pense que cela devrait être).


0 commentaires

0
votes

J'ai trouvé utile de travailler avec différentes langues, car ils ont chacun leurs forces. Python est extrêmement puissant, mais repose fortement sur de bonnes conventions et pratiques de codage pour garder le code maintenu. En particulier, il n'applique pas la sécurité ou l'isolation de type, ce qui signifie qu'il est facile à abuser. C # est une langue moderne orientée objet, avec de fortes caractéristiques et d'autres caractéristiques pour aider à appliquer l'isolation et l'encapsulation. Ce n'est pas aussi fluide flexible, mais j'ai également constaté que les plus grands programmes C # sont beaucoup plus faciles à maintenir (surtout lorsque vous les héritez d'autres développeurs.)


2 commentaires

Python est fortement tapé aussi. Ce n'est pas statiquement typé.


C'est, mais la notion d'un "type" est beaucoup plus mutable, car les champs apparaissent par usage plutôt que de définition. En ce sens, Python est fortement typé, mais les types eux-mêmes sont sujets à changement. Cela peut être très puissant, mais il y a aussi des avantages à travailler dans une langue avec des restrictions bien pensées.



0
votes

Eh bien, la facilité de codage est discutable. Je trouve plus facile à coder lorsque vous avez facteur dans l'aide que vous obtenez de Teh IDes (par exemple, le développeur Web Visual gratuit).

Donc, la portabilité est moins problématique si vous facteur dans mono. La performance peut être meilleure dans certains scénarios. Je trouve la documentation en ligne pour être généralement meilleure dans .NET.

Avez-vous considéré comme ironpython? Si vous êtes prêt à utiliser l'une des distros .NET qui possèdent le DLR en eux (4,0 est votre meilleur pari, mais certaines des bêtaies DLR vont bien), vous pouvez alors écrire C # code et code Python et les avoir Travailler ensemble avec toutes les difficultés extérieures des conventions de nommage étant un peu différents.


0 commentaires


0
votes

C # peut accéder directement aux pointeurs via "code non géré", ce qui peut lui donner un avantage de performance dans certaines situations.


2 commentaires

Alors peut python via les liçons C.


Je trouve aussi que les CTTYPES de Python sont à égalité avec .NET Interop



3
votes
  • C # est pris en charge par Microsoft ;) (attente de commentaires)
  • c # est typeafe qui vient avec ses avantages.
  • Rien n'est meilleur lorsque vous développez des applications Windows.
  • Sa syntaxe est également très bien conçue. Le code semble très bon.
  • sa peine d'apprendre parce que beaucoup de code est écrit et qu'il est écrit dedans.
  • Il est si bon lorsque vous codrez en C # dans Visual Studio. Je cherche toujours une si belle IDE pour Python.
  • avec C # Vous pouvez explorer beaucoup de choses intéressantes .NET, WPF, WCF, XNA, ASP.NET, Blog de Jon Skeet ... etc.

1 commentaires

Je trouve impossible de taper ces 2 caractères c # sans taper ces 8 jon Skeet .



0
votes

Si vous préférez Python, mais devez écrire du code pour .NET, à part IronPython, il y a aussi boo , qui est une langue .NET inspirée lourdement-Python (y compris des types statiques). Vous voudrez peut-être essayer.


0 commentaires

0
votes

Si vous n'êtes pas intéressé à utiliser la framework .NET, vous pouvez utiliser Python et PyqT ou Tkinter, car Python dispose désormais d'une prise en charge de l'IDE pour Visual Studio appelé Python Tools pour Visual Studio (PTVS) qui vous donne des invites de syntaxe, à savoir Comment vous entrez dans VB et C # dans Visual Studio. Mais si vous devez également utiliser .NET également, utilisez Iron Python puis des outils Python pour Visual Studio et dans Visual Studio, choisissez Compiler comme Python de fer. Visual Studio est pris en charge dans les versions 2013 et 2012. Je dirais que c'est le meilleur IDE pour Python et que de plus est-ce que cela est soutenu par MSFT TOA

vérifier le lien ici https://pytools.codeplex.com/

Remarque: Vous pouvez utiliser des PTV avec la version 2.7 ou la version 3.0. J'utilise 2.7 Version comme je l'ai habitué, mais pour les débutants, je suggérerais d'utiliser 3.0 car il a de nombreux avantages par rapport à la version 2.7. Mais ne pas installer les deux dans le même système. Installez également une coque Visual Studio isolée, puis intégrée avant d'installer PTVS. Assurez-vous également que votre version Python correspond à la version du bit du système d'exploitation.

:)


0 commentaires