【问题标题】:C++ QT vs C# .NET for Windows Development [closed]用于 Windows 开发的 C++ QT 与 C# .NET [关闭]
【发布时间】:2015-01-08 22:23:09
【问题描述】:

我目前在决定使用 Qt 框架的 C++ 还是使用 .NET 框架的 C# 来开发我目前正在设计的中小型项目时,哪个更适合我。

我对这两种语言都有一点经验,在 C++ 方面略多一些,但可能仍被视为新手。

我读过的所有信息都已经过时(至少有几年的历史),我想知道是否有任何更新可以以某种方式摆动优势,或者这真的只是一个问题偏好。

QT 似乎能更好地支持我的特定需求,但使用 C++ 工作的额外困难可能会抵消我回到第 1 格的情况。

我的要求相当简单,我需要富文本支持、数据库连接、导出到各种文件类型的能力以及相当动态的 GUI。

有人有什么个人经验或建议想分享吗?

【问题讨论】:

  • 如果您的应用仅适用于 Windows:C#/.NET。如果您的应用是跨平台的:C++/Qt。

标签: c# c++ .net windows qt


【解决方案1】:

我推荐使用 Qt,因为:

  • 它是跨平台的,涵盖广泛的操作系统(包括移动)
  • 用 C++ 编写使您有机会使用库 如 STL、Boost 等;
  • 使用 C++ 可以让您的应用程序高速运行
  • 它是开源的,并且改进速度很快
  • 它拥有出色的 GUI 设计器和功能强大的 IDE (Qt Creator)
  • API 设计出色且易于使用
  • 它有一个很好的文档,易于阅读
  • 它有Qt翻译系统,可以让你拥有一个多语言的应用程序
  • GUI 布局系统让小部件根据布局自行调整大小,让一切变得更容易
  • QML 让您能够通过出色的图形和动画创建出色的 GUI
  • 它对网络和连接(socket、SSL、www、IPC...)有很好的支持
  • 它有 QTestLib 用于测试代码
  • 如果你不想使用 C++,它有很多语言绑定

【讨论】:

  • 我用过两者来创建 GUI,而 .Net 更容易、更简洁、文档更好(msdn Rocks)。如果您使用 Xamarin C#,它也是跨平台的。 C# 和 .Net 现在也是开源的。
  • @kami C++ 和 C# 都是有大量文档记录的编程语言,而且 C++ 并不比 C# 更难或更容易,这完全基于使用该语言编程的人。此外,您不会通过说一种语言比另一种“更容易”来比较语言,您会列出寿命、兼容性、可维护性等优点。同样,仅仅因为语言/平台是开源的,对程序员来说并不一定意味着什么.
  • @thedanny09 我提到 C# 是开源的,因为在上面的帖子中,作者推荐了 Qt,因为它是开源的。此外,作为开源软件可能是有利也可能是不利的,它是决定使用哪种语言的一个有效点,这对一些公司很重要(其中一些公司甚至对此有政策)。您还提到“……这完全基于人……”。我强烈反对这一点。 counter-sample:对于几乎所有人来说,机器代码显然比 Sketch 更难。
  • 我同意卡米的观点。由于已经说明的原因,C# 更易于使用,并且 IL 更易于使用和调试。时期!!!。不仅如此,还有反射允许你进行动态编程。如果我有选择的话,我永远不会回到 C++。 Java 甚至无法与 C# 相比。另外,你没有所有的样板废话。我确实喜欢一些 c++ 结构,多继承,但更危险,并且允许错误的拱形/反模式。 en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
【解决方案2】:
  1. 如果你会 C++,你可以轻松学习 Qt

  2. 您给出的所有要求在Qt中都是完全可行且容易做到的

  3. 部署不需要任何虚拟机,但 .NET 需要。

  4. 您的应用程序将是跨平台的

  5. 在 Qt 中创建自定义 UI 是非常可能的。您可以在 Qt 中创建几乎任何类型的 UI。

【讨论】:

  • .NET 不需要 VM(虚拟机?)
  • QT 需要库才能运行。QT 库很大(超过 500 Mb)
  • @DaveInCaz .NET 一个VM(虚拟机),就像Java一样。
  • @EsmailJamshidiasl 仅用于开发,不用于部署!
猜你喜欢
  • 1970-01-01
  • 2014-08-22
  • 2012-09-29
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多