2

嗨,我想知道为什么人们用 C++ 开发图书馆应用程序和员工管理应用程序(例如这个应用程序),而同样的事情显然可以在 C# 和 VB.NET 中以更漂亮的方式完成。甚至银行应用程序也大多使用 C++。除了编译后的 C++ 代码执行得更快之外,还有一个很好的理由吗?

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

4

6 回答 6

5

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

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

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

于 2011-01-22T22:06:19.820 回答
5

C: 1972

C++:1979

C#: 2000

现在考虑一下库的生命周期,尤其是在银行中,此外,您可以在几乎所有现有的计算机系统上(理论上)使用这些库(而不是 C#)

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

于 2011-01-22T22:02:22.287 回答
4

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

于 2011-01-22T21:58:00.723 回答
2

除了技术原因(例如 C++ 是一种“非托管”语言,其功能和属性与 .NET 语言完全不同)之外,这可能只是由于偏好。并非所有人都认为 C# 和 VB.NET 是完成所有任务的最佳工具。或者最漂亮的。为什么这么认为?为什么其他人不应该有同样好的理由来选择他们喜欢的另一种工具?

更新,回复康拉德的评论:

没错,“偏好”这个词确实太狭隘了。它还有其他方面:

  • 经理/老板可以将他们的(可能是消息灵通的)偏好转化为业务政策;

  • 一家公司拥有十年历史的代码库可能意味着,在为某些新任务选择编程语言时,您将以不同的视角评估语言。您想要或需要重用现有代码,因此必须可以与旧代码的语言进行互操作。

于 2011-01-22T21:59:48.687 回答
1

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

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

于 2011-01-22T21:59:55.353 回答
0

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

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

于 2011-01-22T22:00:07.523 回答