【问题标题】:VCL/Delphi/BCB - which IDE/language should I use?VCL/Delphi/BCB - 我应该使用哪种 IDE/语言?
【发布时间】:2010-03-25 08:40:30
【问题描述】:

Delphi 1 刚出来时我就买了 - 并且被迷住了。 BCB出来的时候(D3左右,iirc左右),我转行了,主要是因为我专业使用C/C++几十年了。

我已经“离开”了 7 或 8 年,现在要回来了。我还有 BCB 6 和 Delphi 7(更不用说 Kylix)了。

我总是觉得 C++ 比 Pascal 更舒服——纯粹是因为对工作日的熟悉。但是,实际上,iirc,大多数第 3 方 VCL 组件都是用 Delphi/Pascal 编码的。而且我想我曾经在 BCB 中调试 Delphi 组件时遇到过问题,但我可能记错了。

Anyhoo,现在我回来了,打算使用 VCL 组件/破解相同的代码/调试它们并编写一些我自己的代码。

鉴于我对 C++ 稍微熟悉一些,是否有任何令人信服的理由选择 Delphi 而不是 BCB,或者这只是我的特定字符串有多长的一个例子?

【问题讨论】:

  • 有什么理由不使用 Delphi 和 C++ 的 RAD Studio?
  • @David Dean:大约 800 欧元......虽然我同意 RAD Studio 可能是一个更好的选择,如果你有多余的钱。
  • @TommyA:我知道钱是一个重要因素,我只是想确保没有其他原因。 B-)

标签: delphi c++builder vcl


【解决方案1】:

我认为这真的取决于你的目标比什么都重要。

你想推销你的技能吗?改用 C++,或者更好的是,放弃 Delphi/BCB 并改用 C#(尽管效率可能不高,但它更便宜、更容易推向市场)。

您是否正在编写想要销售和维护自己的产品?我会说你更喜欢什么,但关键是 VCL 市场几乎将 BCB 视为二等公民。从长远来看,它会更难维护,因此这取决于您产品的预期生命周期。

您只是想为自己的乐趣而写作吗?随心所欲,真的。如今,学习框架通常比学习语言更难,因此由于 Delphi 和 BCB 共享同一个框架,因此如果以后更改,您不会浪费太多时间投资。

最后,如果您正在创业并希望其他人在以后必须维护和扩展您的代码,那么请选择其他产品,并选择一个找到称职程序员并不难的产品(C#、java、PHP )

【讨论】:

  • 1 同意 Smasher - 这是一个很好的答案,考虑所有因素!
【解决方案2】:

我会说使用您更熟悉的语言。

德尔福确实倾向于从 Embarcadero 获得更多关注,BCB(ECB?)在上个世纪中期被严重忽视了几年,但自几年前被收购以来似乎已经完全恢复。

【讨论】:

  • 那么,没有技术差异?当我使用 BCB 时,调试我拥有源的 Pascal VCL 控件不是更难吗?我怀疑它是否以另一种方式工作。 BCB可以编译Pascal,但Delphi可以编译C++?
  • 当然存在技术差异,您已经提到了一些,但归根结底,如果我想用 C++ 编程,我会使用 BCB,如果我想使用 Pascal,我会使用德尔福。
【解决方案3】:

我最初是 C++Builder 用户,但我开始学习并喜欢 Delphi 语言。我经常在各自的领域中使用这两种方法:我更喜欢 Delphi 用于以 UI 为中心的代码(组件),或者当我想使用现代语言特性(泛型、匿名方法、RTTI、类多态)时,但当我使用 C++Builder 时需要与第 3 方 C 或 C++ 代码交互(这种情况经常发生)。即使使用 C++Builder,我也可以在 Delphi 中编写我的应用程序的一部分。

我的建议是通常更喜欢 Delphi 进行组件开发。您可以在 Delphi 和 C++Builder 中使用 Delphi 组件;用 C++ 编写的组件限制您使用 C++Builder。

较新的 IDE(BDS 2006 及更高版本)集成了 Delphi 和 C++Builder。现在在 C++ 应用程序中调试 Delphi 代码变得轻而易举。

但是,如果您已经有用 C++ 编写的现有组件,我只会在 C++Builder 中维护它们。除非您也想从 Delphi 使用它们,否则没有理由将它们迁移到 Delphi。

【讨论】:

    【解决方案4】:

    作为一名 C++ 开发人员,我在 C++ Builder (BCB) 上度过了愉快的时光,它是快速应用程序开发的绝佳工具。 VCL框架有其明显的优势,为C++开发者提供了快速构建应用程序的绝佳工具。很明显,在过去的几年里发生了很多事情,竞争框架已经变得更加成熟,wxWidgets 和 Qt 都提供了 VCL 提供的很多东西,但同时保持编译器独立性。

    我发现这非常重要,原因如下:

    1. 首先,Borland/Codegear/Embarcardero C++ 编译器缺少许多竞争编译器的许多更现代的功能。它不像许多其他编译器那样符合标准,我无法计算我过去在 BCB 中编译 boost 库时遇到的问题数量,尽管它们似乎已经解决了许多这些问题。

    2. 其次,我必须承认我对 Embarcardero 对 BCB 产品的承诺存有疑虑。我个人认为,BCB 产品只被非常边缘的受众使用,并且没有带来足够的资金来保持产品的正常维护,至少与它的 Delphi 亲戚相比。我担心 BCB 产品将在未来 3-4 年内不复存在。我必须强调,这是我个人的恐惧,只是基于猜测。

    3. 前两个组合提供了一种最坏的情况,即您被困在一个框架中,在这种情况下切换编译器是不可能的。但是我相信 Delphi 编译器会存在更长时间,考虑到(猜测的)更大的用户群,编译代码的性能将接近 BCB 的性能,但随着用户群的增加,获得的支持量会更大,并且更容易找到。

    说了这么多,我仍然喜欢 BCB,正如 Stephane 所说,它真的归结为你需要的东西。由于您决定使用 VCL,因此找到更多基于交叉编译器的框架可能并不重要,或者您可能已经完成了这些考虑。

    如果您喜欢 C++ 语言,那么我会使用 BCB,如果您喜欢具有更大用户群的语言,并且在该语言中更容易找到支持,我会选择 Delphi。但是话又说回来,您很可能已经购买了 RAD Studio 并拥有两种编译器,那么为什么要限制自己使用一种语言呢?如果您已经知道一种语言,那么切换到另一种语言应该很容易。尤其是当您知道的语言是 C++ 时,尤其是当您以前也使用过 Delphi 时。

    我想说的是,您必须为正确的工作选择正确的工具。因此,也许问题不应该是我应该使用什么工具,而是适合这项特定工作的工具,如果您计划使用大量多线程编写高性能代码,最好针对多核架构进行优化,那么很可能它既不是 BCB 也不是您将要寻找的德尔福。如果您正在寻找跨平台开发,并且您不喜欢 Java 的想法,那么也许 Freepascal/Lazarus 组合形式的 Pascal 语言将是您的最佳选择。

    如果你想快速开发应用程序,喜欢使用数据库,想要一个漂亮的 GUI 窗口并且不介意一些代码开销,那么我猜你对 VCL 框架的赌注可能是你的最佳选择,老实说,考虑到所有因素,在这种情况下使用 BCB 还是 Delphi 并不重要。

    因此,如果所有其他考虑因素归结为几个选择,它们在技术上甚至是候选人,请选择你最喜欢的,并且觉得你最有效率的选择。

    【讨论】:

    • 回复。跨平台:似乎下一个 Delphi/BCB 版本也将针对 Mac/Linux(32 位)。此外,我认为 BCB 不会很快消失,尤其是。考虑到未来的 64 位 Delphi/BCB 编译器可能有一个共享的编译器后端;至少在这里建议:edn.embarcadero.com/article/39174
    • @PhiS:永远不要相信 Embarcadero 所说的话:我们还在等待 Delphi64...
    • @Stephane:两点都同意。 x64 早就该了。但似乎至少跨平台的东西正在积极开发中,参见例如blogs.embarcadero.com/eboling
    • "如果你想快速开发应用程序,喜欢使用数据库,想要一个漂亮的 GUI 窗口并且不介意一些代码开销,那么我猜你对 VCL 框架的赌注可能是最适合您的选择” - 是的,这就是我想要的,还有其他东西能提供如此多的 3rd prty 组件并能够如此轻松地开发自己的组件吗?
    • @mawg:老实说,我认为 .net 框架可能有更多的 3rd 方组件,并且在语言的帮助下,在我看来,它更容易开发组件,但问题是可能与现有代码兼容。此外,VCL 是一个很好的框架,所以想要使用它并没有错。
    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 2022-01-27
    • 2012-11-06
    • 2022-06-16
    • 2016-11-23
    • 2010-10-14
    相关资源
    最近更新 更多