C#是一个重要项目的可行语言吗?

时间:2010-12-18 02:05:25

标签: c# c++ programming-languages comparison

我已经使用C#一段时间了,我喜欢它与Windows的完美集成。 C ++中的Win32 API是一个怪物,但这是另一个故事。无论如何,我想知道,C#是一个“足够好”的语言用于大型项目吗? Microsoft是否在其任何应用程序中使用C#?我一直认为C ++是大型项目的唯一选择,因为它的速度快,不需要CLR。

您对C#有何看法?

编辑:我说的很大,我指的是像Microsoft Project这样的应用程序(我想到的第一个例子)。它也可能意味着任务关键型应用程序。

5 个答案:

答案 0 :(得分:6)

除非你追求极致性能(例如游戏),否则C#几乎可以被任何应用程序所接受 - 我多年来一直在开发企业级应用程序,并且作为一般规则,其优势远远超过任何应用程序(可忽略不计)与C ++相比,性能损失 - 特别是当你考虑开发时间和提高CPU速度的相对较低的成本时。

自从我开始使用C#以来,我需要一个非常好的理由让我回到像C ++这样的低层次 - 在易于开发,内存管理,庞大的库方面有很多优点(.Net框架),WCFLINQ

在开始一个新项目时,我会在任何其他语言之前考虑使用C#

答案 1 :(得分:3)

我使用c#因为它出现了,到目前为止只有一些我无法做的事情,如打印驱动程序。除此之外,我开发了相当复杂的多线程服务器端应用程序,这些应用程序既可靠又快速。

另外 - 您可能想要定义“大”。

答案 2 :(得分:2)

是的,但我建议您不要遵循供应商锁定模式。虽然你可能认为这并不适用于.net,但你会失败。

答案 3 :(得分:1)

SharePoint和Dynamics(Microsoft产品)(以及其他几个)几乎完全用.NET(C#)编写。它们肯定会被视为大型企业级应用程序。几乎所有微软的内部项目,除了Windows和Office都是用C#编写的(我认为这甚至是新项目的要求)。

答案 4 :(得分:1)

由于必须加载.NET运行时,因此会产生更大的启动时间。除此之外,对于大多数事情来说,性能实际上非常好。

通过垃圾收集,内存泄漏不再是一个问题,因此Java和C#都成为任务关键型应用程序的良好选择(内存泄漏会随着时间的推移而增长,并且可以杀死一次运行数周或数月的内容使用更可靠的内存占用,您的应用程序可以更稳定。)

所以......是的。