VCL / Delphi / BCB - 我应该使用哪种IDE /语言?

时间:2010-03-25 08:40:30

标签: delphi c++builder vcl

当它出现时我买了Delphi 1 - 并且被迷住了。当BCB问世(D3,iirc)时,我转换了,主要是因为我已经专业地使用了C / C ++几十年。

我已经“离开”了7年或8年,现在又回来了。我还有BCB 6&德尔福7(更不用说Kylix)。

我总觉得C ++比Pascal更舒服 - 纯粹是因为工作日熟悉。但实际上,iirc,大多数第三方VCL组件都是用Delphi / Pascal编写的。而且我认为我以前在从BCB调试Delphi组件时遇到了问题,但我记错了。

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

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

4 个答案:

答案 0 :(得分:5)

我认为这实际上取决于你的目标是什么。

你想推销自己的技能吗?去C ++,或者更好的是,放弃Delphi / BCB并去C#(即使可能效率不高,它也更便宜,更容易上市)。

您是否正在撰写自己想要销售和维护的产品?我会说你更喜欢你的东西,但重点是VCL市场几乎把BCB视为二等公民。从长远来看,维护起来会更加困难,这取决于产品的预期生命周期。

你只想为自己的乐趣写作吗?你最喜欢的是什么,真的。如今,学习框架比学习语言更困难,因为德尔福和BCB共享同一个,如果你以后改变,你不会失去太多的时间投资。

最后,如果您正在创业并期望其他人必须在以后维护和扩展您的代码,请继续使用其他内容并选择能够找到合格程序员并不那么难的产品(C#,java,PHP) )

答案 1 :(得分:4)

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

德尔福确实倾向于从Embarcadero获得更多的关注,BCB(欧洲央行?)在中期的几年里被严重忽视,但自从几年前的买断以来似乎已经完全恢复了。

答案 2 :(得分:2)

我原来是C ++ Builder用户,但我来学习并喜欢Delphi语言。我经常使用它们,每个都在自己的域中:我更喜欢Delphi用于以UI为中心的代码(组件),或者当我想使用现代语言功能(泛型,匿名方法,RTTI,类多态)时,我喜欢C ++ Builder需要与第三方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中使用它们。

答案 3 :(得分:2)

作为一名C ++开发人员,我自己花了很多时间学习C ++ Builder(BCB),它是快速应用程序开发的绝佳工具。 VCL框架具有明显的优势,为C ++开发人员提供了一个快速构建应用程序的出色工具。很显然,在过去的几年中发生了很多事情,竞争框架已经变得越来越成熟,wxWidgets和Qt提到两个都提供了很多VCL提供的东西,但在保持编译器独立性的同时也是如此。

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

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

  2. 其次,我必须承认,我对Embarcardero对BCB产品的承诺存在疑问。我个人认为,BCB产品仅供非常边缘的受众使用,并且没有带来足够的资金来保持产品的正确维护,至少与其德尔福相对。我担心BCB产品将在未来3 - 4年内停止存在。我必须强调,这是我个人的恐惧,只是基于猜测。

  3. 前两个组合提供了一个最糟糕的情况,你会遇到一个框架,其中切换编译器可能变得不可能。但是我认为Delphi编译器会存在更长的时间,考虑到(猜测的)更大的用户群,编译代码的性能将接近BCB的性能但是用户群越大,获得的支持量就会越大,更容易找到。

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

    如果您喜欢C ++语言,那么我会使用BCB,如果您喜欢具有更大用户群的语言,并且使用该语言更容易找到支持,我会选择Delphi。但话说回来,很可能你会购买RAD工作室并拥有两个编译器,那么为什么要将自己限制在一种语言?如果你已经知道一种语言切换到另一种语言应该很容易。特别是当您熟悉的语言是C ++时,特别是当您之前使用过Delphi时。

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

    如果你想快速开发应用程序,比如利用数据库,想要有一个花哨的GUI窗口并且不介意一些代码开销,那么我想你在VCL框架上的赌注可能是你的最佳选择,并且说实话,考虑到你在这种情况下使用BCB或Delphi并不重要。

    因此,如果所有其他考虑因素归结为技术上甚至是候选人的一些选择,请选择您最喜欢的那个,并感觉自己最有效率。