【问题标题】:How does C++ builder stack up against other RAD IDEs?C++ builder 如何与其他 RAD IDE 相媲美?
【发布时间】:2011-01-07 02:35:01
【问题描述】:

我已经有几年没有做过任何个人电脑的开发了(我通常做嵌入式软件)。

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

我关心三件事(排名不分先后)、易用性、额外的 GUI 组件和跨平台性。

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

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

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: c++ netbeans c++builder rad


    【解决方案1】:

    我使用过 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 总是很慢很不满意。 IE。 SunStudio12 很好(而且免费),但用户界面响应缓慢。 我在 Linux 上使用 Code:Blocks,它具有合理的可用性, 但尚未对其进行任何 RAD 工作。

    【讨论】:

    • 谢谢,罗杰。这是有价值的反馈
    【解决方案2】:

    我从未使用过 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,而且看起来也是为它编写的。

    【讨论】:

      【解决方案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 更现代。

      Lazarus running on Windows 7

      Lazarus running on Linux (GTK2)

      Lazarus running on Mac OSX

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

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

      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 开发平台。

      【讨论】:

      • Tahnks 以获得完整和全面的答复。只是为了记录,当有一个名为 Kylix for Linux 的产品时,C++Builder 实际上是跨平台的(对不起,Mac 用户)。这对于非商业用途是免费的,您可能可以在某处获取副本。它使用了 VCL 组件。
      • Kylix 被构建成一个跨平台开发工具是真的。但它并没有使用 Linux 的 VCL,而是使用了与 VCL 非常相似的 CLX(我认为是这个名字)。
      【解决方案4】:

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

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

      【讨论】:

      • 看起来不错,但是第三个或自己滚动的零件呢?
      • OP 似乎要求的是 C++ IDE,而不是 Java - 问题标记为 C++。
      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        • 2022-11-15
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        相关资源
        最近更新 更多