我最喜欢Python,因为它具有出色的可移植性和编码的易用性,但我想知道,C#对Python有哪些优势?
我问的原因是我的一个朋友为一个在线游戏(UO)运行私人服务器,如果我愿意,他愿意让我成为一个开发者,但服务器的软件都是用C#编写的。我很乐意这样做,但是我没有时间做多种语言,而且我只是在考虑将C#作为Python之后的其他几个理由。
我这样做都是自学成才的爱好,顺便说一句
答案 0 :(得分:13)
Visual Studio - 那里最好的IDE。
在流通的静态类型语言中,C#非常高效。
答案 1 :(得分:11)
我们很多人真的like working with strongly/statically-typed languages。那是一个很大的问题。
答案 2 :(得分:9)
存在许多差异,优点和缺点。我想主要优点是
其余的基本上取决于个人偏好(静态类型与动态,类似C语法等)。
答案 3 :(得分:3)
typesafe
,它有其优点。答案 4 :(得分:1)
JITer,以及它可以产生更紧密的代码,因为它支持静态类型。 JITer可以通过使用其中一个非CPython实现来解决,或者使用psyco进行处理,但是静态类型不能简单地解决(我也不相信它应该是)。
答案 5 :(得分:0)
我发现使用不同的语言很有帮助,因为他们各自都有自己的优势。 Python非常强大,但在很大程度上依赖于良好的编码约定和实践来保持代码的可维护性。特别是,它不强制类型安全或绝缘,这意味着它易于滥用。 C#是一种现代的面向对象语言,具有强大的类型和其他功能,有助于实现绝缘和封装。它不是那么灵活,但我也发现更大的C#程序更容易维护(特别是当你从其他开发人员继承它们时。)
答案 6 :(得分:0)
嗯,编码的简易性值得商榷。当你考虑从IDE获得的帮助时(例如免费的Visual Web Developer),我发现C#更容易编码。
因此,如果您考虑Mono,可移植性就不那么重要了。在某些情况下,性能可能会更好。我发现.NET中的在线文档通常更好。
你考虑过IronPython吗?如果你们愿意使用其中一个带有DLR的.Net发行版(4.0是你最好的选择,但是有些DLR测试版是正常的),那么你可以编写C#代码和Python代码并拥有它们在命名约定之外的任何困难都可以协同工作。
答案 7 :(得分:0)
C#可以通过“非托管代码”直接访问指针,这可以在某些情况下提供性能优势。
答案 8 :(得分:0)
如果您更喜欢Python,但需要为.Net编写代码,除了IronPython之外,还有Boo,这是一种受Python激发的.Net语言(包括静态类型)。你可能想尝试一下。
答案 9 :(得分:0)
如果您对使用.NET框架不感兴趣,可以改为使用python和pyQt或Tkinter,因为Python现在具有对Visual Studio的IDE支持,称为Visual Studio的Python工具(PTVS),它为您提供语法提示你如何在Visual Studio中使用VB和C#。但是,如果您还需要使用.NET,请使用Iron Python,然后使用Python Tools for Visual Studio,在Visual Studio中选择编译器作为Iron Python。 Visual Studio在2013和2012版本中受支持。我会说它是python的最佳IDE,而且MSFT也支持它更多
点击此处链接 https://pytools.codeplex.com/
注意:您可以将ptvs用于2.7版或3.0版。我习惯使用2.7版本,但对于初学者我建议使用3.0,因为它比2.7版本有很多优点。但是不要在同一系统中安装它们。在安装PTVS之前,还要安装Visual Studio Shell Isolated,然后再进行集成。还要确保您的python版本与操作系统位版本匹配。
:)