与托管语言相比,使用C ++开发应用程序有什么好处?

时间:2011-01-22 21:54:43

标签: c++ visual-c++ language-comparisons

您好我想知道为什么人们用C ++开发库应用程序和员工管理应用程序(例如this application),当C#和VB.NET可以用更漂亮的方式完成同样的事情时。甚至银行应用程序也主要使用C ++。除了编译的C ++代码执行得更快之外,还有一个很好的理由吗?

任何人都可以对此有所了解吗?

6 个答案:

答案 0 :(得分:5)

C:1972

C ++:1979

C#:2000

现在想想一个库的生命周期,特别是在银行中,另外,你可以在几乎所有存在的计算机系统上使用这些库(理论上)(而不是C#)

你还会在那里找到很多COBOL(1960)。

答案 1 :(得分:5)

C ++说银行应用程序的主要原因是:

  1. 旧版代码。一家大型金融公司通常拥有大约10到20 - 30年的内部开发的业务特定C / C ++库,以及一些可能无法用于C#的业务特定供应商库

  2. 很多财务代码都在Unix / Linux上运行。虽然你可以从理论上纯粹为Linux构建C#代码,但它绝对不是你想要投入数十亿美元的成熟技术。

答案 2 :(得分:4)

C ++可用于其他类型的系统,而c#和vb.net则不适用。

答案 3 :(得分:2)

除了技术原因(例如C ++是一种“非托管”语言,其功能和属性与.NET语言完全不同),这可能仅仅是由于偏好。并非所有人都发现C#和VB.NET是完成每项任务的最佳工具。还是最漂亮的。为什么这么认为?为什么其他人没有类似的理由选择他们喜欢的另一种工具呢?

更新,回复Konrad的评论:

“偏好”这个词的确太狭隘是正确的。还有其他方面:

  • 经理/老板可以将他们(可能信息不明)的偏好转变为商业政策;

  • 公司十年前的代码库可能意味着在为某项新任务选择编程语言时,您将使用不同的视角来评估语言。您希望或需要重用现有代码,因此必须与旧代码的语言互操作。

答案 4 :(得分:1)

这可能是某个公司知识经济的一个因素。例如,公司越大,或者员工流动越少,就越难以替换能力,流程和工具以适应新语言。 C / C ++已经存在了很长一段时间,许多开发人员和开发商都有这样的背景。

关于银行应用程序,原因是,我猜,主要是因为你有一个接近金属环境,可以让你以可靠的方式利用实时编程。

答案 5 :(得分:0)

每种语言都有其优点和缺点,没有一种语言最适合每种应用。 C ++中的程序更难编写,但可以利用特定于平台的硬件和功能。因为它们是编译的,所以它们也往往运行得更快。 C#程序更容易编写,但无法访问底层资源,也无法轻松移植到非Windows平台。

简而言之,它实际上取决于应用程序的需求。如果您需要原始速度和显式资源管理,请使用C ++。如果您想要轻松编码和清晰,请使用C#。

相关问题