4

自从我为 PC 做任何开发(我通常做嵌入式软件)以来已经有几年了。

那时我非常精通(Borland,现在的 CodeGear)C++ Builder。时光荏苒,C++ Builder 变得非常昂贵,而且还有其他替代品(MSVC studio、NetBeans、QtCreator,甚至可能是带有正确插件的 Eclipse)。其他的?

我关心三件事(没有特别的顺序),易用性,额外的 GUI 组件和跨平台性。

易于使用 - 我想要一个可以帮助而不是阻碍我的 IDE。好的调试器,重构,跳转到变量声明,用法,诸如此类的东西..

GUI 组件 - 当使用 C++ Builder 时,我印象深刻的是开发额外的 VCL 组件是多么容易,而且有多少可用,而且通常是免费的。因此,如果我想要一个标准的字符串网格,其中的单元格也可以包含图片、复选框等,我可能会找到一个,或者自己滚动。

我不确定附加组件的当前状态如何。其他系统是否有类似http://www.tmssoftware.com/site/的东西 ?

跨平台——我个人将 Linux 用于一切,但实际上,我的大多数用户都安装了 Windows。因此,跨平台是“很高兴”,“所有其他条件都一样”。

现在我必须选择一个解决方案并在接下来的几年里坚持下去。哪一个,考虑到我上面的观点(成本起作用,但不是成败)?

在此先感谢您的帮助。

4

5 回答 5

9

我使用过 C++ Builder 和 Visual Studio。多年来,我一直更喜欢 C++ Builder 而不是 VS Builder,而 VCL 的设计感觉比微软的产品好得多。(即使是 Borland 库的源代码看起来也比来自 Microsoft 的任何东西都干净)。

Builder 中的集成调试器是真正集成的,使用起来非常直观。

我发现 Builder 的编译速度比 Visual Studio 快得多。Builder 5 有一个问题导致它不必要地慢,但当时它仍然比 VC++ 快,并且最新的 Builder 版本具有更快的编译时间。TwineCompile 等加速器使 Builder 变得更快。

我从未尝试为 Visual Studio 创建自定义 C++ 控件,但在 Builder 中很容易做到。

去年,CodeGear 发布了 TurboExplorer 的免费版本(我自己没有使用过),其中包括 IDE 和 RAD(虽然有限)http://www.turboexplorer.com/ TurboExplorer 可用于商业应用程序。

我对基于 Java 的 IDE 总是很慢并不满意。即 SunStudio12,它很好(而且免费),但 UI 响应缓慢。我在 Linux 上使用 Code:Blocks,它具有合理的可用性,但没有使用它进行任何 RAD 工作。

于 2010-01-20T04:32:40.630 回答
5

我从未使用过 C++ Builder,但曾经是 delphi 的忠实粉丝/用户。我通常使用 c++ 处理服务器应用程序,并使用一些 java。最近我开始为自己编写一些小型生产力应用程序,最初我使用 java,但后来转向 Qt。

现在我喜欢它。这个库感觉设计得很好,就像在 delphi 中的 vcl 一样。信号/槽机制很棒,我仍然很惊讶我不需要编写代码来连接对话框。使用 qt 很容易,您编写的代码非常易于阅读和创建。我还没有编写自己的小部件,我认为 qt 的模型/视图架构很好地分割了角色,使库存小部件非常强大。例如,当使用 QTableView 时,大多数显示和编辑功能可以由 ItemModel 提供,更强大的控制由 ItemDelegate 提供。我发现这些比编写自定义小部件更容易重用,尽管从查看文档来看似乎很容易。

Qt creator 是基本的,但完成了我需要的 95% 的工作,集成项目、gui 设计器、代码、调试和帮助。支持 CMake 和 qmake。它没有重构之类的高级功能,但智能感比VS2005好。然而,KDevelop 的下一个版本看起来很有前途,并将包括这些。如果您想要这些功能,也可以使用 eclipse,或者根据需要在 eclipse 和 qt creator 之间移动。但我对 qt creator 很满意。

在跨平台问题上,我在家里在 Linux 上开发我的应用程序,并倾向于在工作中的 Windows 上使用它们。到目前为止,在 linux 上工作的所有东西都只能工作在 windows 上,看起来它也是为它编写的。

于 2010-01-20T18:04:59.313 回答
3

C++ Builder(以及 Delphi)的优势在于 VCL GUI 框架,它易于使用,并提供真正的 RAD 开发。VCL 有很多替代品,它们各有优缺点。VCL 的优势在于与 C++Builder/Delphi 的紧密联系,这使得它在这种组合下工作得非常好。缺点是它是一种支持软件,这意味着如果没有 Codegear/Embarcadero 的官方支持,您不太可能将代码移植到其他 IDE 或平台。

然而,有一些免费的替代品,其中一个更有趣的是Lazarus IDE。Lazarus IDE 是 Free Pascal 语言的 IDE,这点和 Delphi 非常相似,我必须承认我自己不是 Delphi 人,所以我无法详细说明。Lazarus 有一个类似于 VCL 的 GUI 框架,称为 LCL。从我对它的简短外观来看,它看起来非常相似。Lazarus/Freepascal 包有几个好处,特别是针对您的情况。它是免费的,它可以为 windows、linux 和 mac 编译和构建,它支持 64 位。此外,编译器似乎比 Delphi 更现代。

在 Windows 7 上运行的 Lazarus

在 Linux (GTK2) 上运行的 Lazarus

在 Mac OSX 上运行的 Lazarus

更多截图可以在这里找到:http ://wiki.lazarus.freepascal.org/Screenshots

Delphi/C++Builder 的问题是 VCL 目前不支持跨平台。尽管这是为未来版本计划的(据我所知),但尚未实施。注意到这一点,对于 C++Builder 是否会继续维护有一些考虑,这里有一些评论:这里

Qt 已经被提及,它确实是一个非常强大的 GUI 框架,Qt 创建者是一个很好的工具,虽然我个人喜欢在 IDE 和 GUI 框架之间建立非常紧密的联系,就像 VCL 的情况一样,但是非常依赖开发商。

编辑:只是我的一个想法,在将 C++Builder 与其他 RAD IDE 进行比较时,很容易包含 .NET 语言和 Java 的 IDE。这些使用为此目的创建的语言。C++ Builder 中使用的 C++ 可以,虽然在 Borlands 版本中稍作修改,但不是。这确实提出了一个有趣的问题,在 RAD 应用程序中使用 C++ 是否必要且合理?为什么不使用为此目的而编写的工具(语言)。我知道 C++ Builder 是为 RAD 开发而编写的,但它背后的语言并不是为此目的而设计的。如果您需要真正快速开发的应用程序,我会考虑寻找其他语言,但如果您出于任何原因依赖 C++,可能是 3rd 方库等。那么 C++ Builder 在 C++ 世界中是一个出色的 RAD 开发平台。

于 2010-01-20T20:12:41.917 回答
1

简短的回答是 NetBeans。它是跨平台的,易于使用,虽然它是用java制作的,但它仍然很快。

PS:如果您也使用 Java 进行编程或打算进行编程,那么使用/学习这两个 IDE 会很方便。

于 2010-01-22T12:02:45.033 回答
1

您还可以将wxForms 用于 C++ Builder,并使用 wxWidgets 创建跨平台应用程序。它与现有的 C++Builder IDE 一起使用,并使用相同的表单设计器。

于 2010-02-03T06:39:08.767 回答