C++ Builder与其他RAD IDE相比如何?

4
自从我做嵌入式软件以来,已经有几年没有为个人电脑开发过了。
那个时候,我非常擅长使用(Borland,现在是CodeGear)C++ Builder。时间过去了,C++ Builder变得非常昂贵,也出现了其他选择(MSVC Studio、NetBeans、QtCreator,甚至带有正确插件的Eclipse)。还有其他选择吗?
三件事让我担心(没有特定顺序),易用性、附加GUI组件和跨平台性。
易用性-我想要一个能够帮助而不是阻碍我的IDE。良好的调试器、重构、跳转到变量声明、使用等等……
GUI组件-当我使用C++ Builder时,我对如何轻松地开发附加的VCL组件以及可用的组件数量印象深刻,通常是免费的。因此,如果我想要一个标准的字符串网格,其中单元格还可以包含图片、复选框等等,我可能可以找到一个或自己制作一个。
我不确定其他系统的附加组件的当前状态是否与http://www.tmssoftware.com/site/类似?
跨平台 - 我个人使用Linux进行所有操作,但实际上,我的大多数用户都在Windows上安装。因此,跨平台是“很好拥有的”,“其他条件相等”的。现在我必须选择一个解决方案,并在接下来的几年中坚持使用它。鉴于我上述的要点(成本起到一定作用,但不是制约因素),我该选择哪一个呢?感谢您的帮助。
5个回答

9
我曾经使用过C++ Builder和Visual Studio。 多年来,我总是更喜欢C++ Builder而不是V.S. Builder和VCL的设计感觉比微软的产品更好。 (即使Borland库源代码看起来比微软的任何东西都更干净)。
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工作。


1
谢谢,罗杰。这是宝贵的反馈。 - Mawg says reinstate Monica

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。
关于跨平台问题,我在家中开发我的应用程序,通常在工作中在Windows上使用它们。到目前为止,在Linux上工作的所有内容都能够在Windows上正常工作,并且看起来就像是为其编写的一样。

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有一个名为LCL的类似VCL的GUI框架。从我浏览过的简短内容来看,它看起来非常相似。对于您的情况,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是否会继续得到维护,在这里有一些相关评论:here
Qt被提及,它确实是一个非常强大的GUI框架,Qt Creator也是一个很好的工具。个人认为,我喜欢IDE和GUI框架之间有非常紧密的联系,就像VCL的情况一样,但这非常依赖于开发者。 编辑:我有一个想法,当比较C++ Builder和其他RAD IDE时,很容易包括.NET语言和Java的IDE。这些使用为此目的创建的语言。C++ Builder中使用的C++虽然在Borland版本中略有修改,但并非如此。这确实引出了一个有趣的问题,使用C++进行RAD应用程序开发是否是必要且合理的?为什么不使用专门为此目的编写的工具(语言)呢?我知道C++ Builder是为RAD开发而编写的,但其背后的语言并非为此目的而设计。如果您真正需要快速开发应用程序,我建议考虑其他语言,但如果您因某种原因依赖于C++,可能是第三方库等,则C++ Builder是C++世界中极好的RAD开发平台。

感谢您提供全面详尽的回复。仅供记录,当有一个名为Kylix的Linux产品(抱歉,Mac用户)时,C++Builder实际上是跨平台的。这对于非商业用途是免费的,您可能可以在某个地方找到一份副本。它使用VCL组件。 - Mawg says reinstate Monica
1
确实如此,Kylix被构建为跨平台开发工具。但它没有使用VCL来支持Linux,而是使用了类似于VCL的CLX(我想那就是它的名字)。 - Tommy Andersen

1

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


1

简短的回答是NetBeans。它是跨平台的,易于使用,虽然它是用Java编写的,但仍然很快。

附注:如果您也在使用或打算使用Java进行编程,那么使用/学习这个IDE将非常方便。


看起来不错,但是第三方或自己编写的组件怎么样? - Mawg says reinstate Monica
OP似乎在寻找C++ IDE,而不是Java - 问题标记为C ++。 - drkvogel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接