Каковы преимущества C # по сравнению с Python - PullRequest
9 голосов
/ 20 марта 2010

Мне нравится Python в основном за отличную переносимость и простоту кодирования, но мне было интересно, каковы некоторые преимущества C # по сравнению с Python?

Причина, по которой я спрашиваю, состоит в том, что один из моих друзей использует частный сервер для онлайн-игры (UO), и он предложил сделать меня разработчиком, если я захочу, но программное обеспечение для сервера написано на C #. Я бы с удовольствием это сделал, но у меня не было времени на несколько языков, и я просто хотел еще несколько причин оправдать использование C # поверх Python для себя.

Я занимаюсь самообучением как хобби, кстати

Ответы [ 10 ]

13 голосов
/ 20 марта 2010
  1. Visual Studio - лучшая IDE.

  2. Из всех типов статически типизированных языков C # очень продуктивен.

11 голосов
/ 20 марта 2010

Многие из нас действительно любят работать со строго / статически типизированными языками .Это большой там.

9 голосов
/ 20 марта 2010

Существует множество отличий, преимуществ и недостатков. Я предполагаю, что главные преимущества были бы по линии

  • Отличная интеграция с Windows, включая доступ ко всем стандартным функциям графического интерфейса пользователя и другим библиотекам.
  • JIT-компиляция, приводящая к лучшей производительности, чем Python, в некоторых или в большинстве случаев. Как уже указывалось, теперь это возможно и в Python.
  • В Windows поддержка IDE, возможно, лучше для C #. Visual Studio - это хорошо зарекомендовавшая себя и продвинутая среда разработки, и редакции "Express" бесплатны для личного использования . В среде, отличной от Windows, это может быть различие между разными редакторами.

Остальное в основном зависит от личных предпочтений (статически типизировано, а не динамически, С-подобный синтаксис или нет и т. Д.).

3 голосов
/ 21 марта 2010
  • C # поддерживается Microsoft ;) (ожидая комментариев)
  • C # - typesafe, что имеет свои преимущества.
  • Нет ничего лучше, когда вы разрабатываете приложения для Windows.
  • Его синтаксис также очень хорошо разработан. Код выглядит довольно хорошо.
  • Его стоит изучить, потому что много кода написано и пишется в нем.
  • Так приятно, когда вы кодируете на C # в Visual Studio. Я все еще ищу такую ​​замечательную IDE для Python.
  • С C # вы можете исследовать множество интересных вещей .NET, WPF, WCF, XNA, ASP.NET, Блог Джона Скита ... и т. Д.
1 голос
/ 20 марта 2010

JITer, и тот факт, что он может создавать более жесткий код благодаря поддержке статической типизации. JITer можно обойти, используя одну из реализаций не-CPython, или перейдя на i386 и используя psyco, но статическую типизацию нельзя обойти как тривиально (и я не верю, что это должно быть).

0 голосов
/ 25 апреля 2014

Если вы не заинтересованы в использовании .NET Framework, вы можете вместо этого использовать python и pyQt или Tkinter, так как Python теперь имеет поддержку IDE для Visual Studio под названием Python Tools for Visual Studio (PTVS), которая выдает синтаксические приглашения, каккак вы попадаете в VB и C # в Visual Studio.Но если вам нужно также использовать .NET, используйте Iron Python, а затем Python Tools for Visual Studio и в Visual Studio выберите компилятор в качестве Iron Python.Visual Studio поддерживается в версиях 2013 и 2012.Я бы сказал, что это лучшая IDE для python, и что еще поддерживается MSFT *

Проверьте ссылку здесь https://pytools.codeplex.com/

ПРИМЕЧАНИЕ: Вы можетеиспользуйте ptvs с версией 2.7 или версией 3.0.Я использую версию 2.7 так, как я к ней привык, но для начинающих я бы предложил использовать 3.0, поскольку она имеет много преимуществ по сравнению с версией 2.7.НО НЕ УСТАНАВЛИВАЙТЕ ИХ И В ТО ЖЕ Систему.Также установите Visual Studio Shell изолированным, а затем интегрированным перед установкой PTVS.Также убедитесь, что ваша версия Python совпадает с битовой версией операционной системы.

:)

0 голосов
/ 21 марта 2010

Если вы предпочитаете Python, но вам нужно написать код для .Net, кроме IronPython есть также Boo , который является языком .Net с большим количеством вдохновлений Python (включая статические типы).Возможно, вы захотите попробовать.

0 голосов
/ 20 марта 2010

C # может напрямую обращаться к указателям через «неуправляемый код», что может дать ему преимущество в производительности в некоторых ситуациях.

0 голосов
/ 20 марта 2010

Ну, простота кодирования спорна. Я считаю, что C # легче кодировать, когда вы учитываете помощь, которую вы получаете от IDE (например, бесплатный Visual Web Developer).

Таким образом, переносимость менее важна, если учитывать Mono. Производительность может быть лучше в некоторых сценариях. Я считаю, что онлайн-документация в целом лучше в .NET.

Рассматривали ли вы IronPython? Если вы, ребята, хотите использовать один из дистрибутивов .Net, в которых есть DLR (лучше всего подойдет 4.0, но некоторые бета-версии DLR в порядке), вы можете написать код C # и код Python и получить работать вместе без каких-либо трудностей, не связанных с именами.

0 голосов
/ 20 марта 2010

Я считаю полезным работать с разными языками, поскольку у каждого из них есть свои сильные стороны. Python является чрезвычайно мощным, но в значительной степени опирается на хорошие соглашения и практики кодирования для обеспечения поддержки кода. В частности, он не обеспечивает безопасность типа или изоляцию, что означает, что его легко злоупотреблять. C # - это современный объектно-ориентированный язык, имеющий строгую типизацию и другие функции, помогающие обеспечить изоляцию и инкапсуляцию. Это не так уж и гибко, но я также обнаружил, что большие программы на C # гораздо проще поддерживать (особенно если вы наследуете их от других разработчиков).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...