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

发布于 2024-08-26 10:47:08 字数 417 浏览 4 评论 0原文

当 Delphi 1 发布时我就买了它,并且被它迷住了。当 BCB 出来时(D3、iirc 左右),我就换了,主要是因为我专业使用 C/C++ 几十年了。

我“离开”了七八年,现在又回来了。我还有 BCB 6 & Delphi 7(更不用说 Kylix)。

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

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

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

I bought Delphi 1 when it came out - and was hooked. When BCB came out (around D3, iirc), I switched, mainly because I have used C/C++ professionally for a few decades.

I have "been away" for 7 or 8 years and am now returning. I still have BCB 6 & Delphi 7 (not to mention Kylix).

I always felt more comfortable with C++ than Pascal - purely because of work-day familiarity. But, realistically, iirc, most 3rd party VCL components are coded in Delphi/Pascal. And I think I used to have problems debugging Delphi components from BCB, but I could well remember wrongly.

Anyhoo, now I am back and intend to use VCL components / hack the code of same / debug them & code a few of my own.

Given that I am slightly more comfortable with C++, is there any compelling reason to choose Delphi over BCB, or is this just a case of how long my particular piece of string is?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一人独醉 2024-09-02 10:47:09

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

您是否想推销您的技能?使用 C++,或者更好的是,放弃 Delphi/BCB 并使用 C#(它更便宜且更容易上市,即使可能效率不高)。

您正在编写想要自己销售和维护的产品吗?我会说选择你更舒服的方式,但关键是 VCL 市场几乎将 BCB 视为二等公民。从长远来看,维护会更加困难,因此这取决于产品的预期生命周期。

你只是为了自己的快乐而写作吗?真的,随心所欲。如今,学习框架通常比学习语言更难,因此由于 Delphi 和 BCB 共享相同的框架,因此如果以后进行更改,您不会损失太多时间投入。

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

I think it really depends on what your goals are more than anything else.

Are you trying to market your skills ? Go C++ or, better, drop Delphi/BCB and go C# (it's cheaper and easier to market even if arguably not as efficient).

Are you writing a product you want to sell and maintain yourself ? I'd say go with what you're more comfortable with but the point is that the VCL market pretty much sees BCB as a second-class citizen. It'll be harder to maintain in the long run so it will depends on the expected life cycle of your products.

Do you just want to write for your pleasure ? Go with whatever you like best, really. Nowadays, it's often harder to learn the framework than the language so since both Delphi and BCB share the same one, you won't lose too much time investment if you change later on.

Finally, if you're starting a business and expect others to have to maintain and extend your code later on, do go with something else and pick a product where finding competent programmers isn't that hard (C#, java, PHP)

回首观望 2024-09-02 10:47:09

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

德尔福确实更容易受到Embarcadero的关注,而BCB(ECB?)在上个世纪九十年代中期曾被严重忽视了几年,但自从几年前被收购以来似乎已完全恢复元气。

I would say use the language you are more comfortable with.

Delphi does tend to get a more attention from Embarcadero, BCB (ECB?) was seriously neglected for some years in the mid-noughties but seems to have been fully rehabilitated since the buyout a couple of years ago.

梦中的蝴蝶 2024-09-02 10:47:09

我原本是一名 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 使用它们。

I'm originally a C++Builder user, but I have come to learn and love the Delphi language. I use both frequently, each in its own domain: I prefer Delphi for UI-centric code (components) or when I want to use modern language features (generics, anonymous methods, RTTI, class polymorphism), but C++Builder when I need to interface with 3rd-party C or C++ code (which happens frequently). Even when using C++Builder, I can write a part of my application in Delphi.

My suggestion would be to generally prefer Delphi for component development. You can use Delphi components in both Delphi and C++Builder; components written in C++ restrict you to C++Builder.

The newer IDEs (BDS 2006 and above) have both Delphi and C++Builder integrated. Debugging Delphi code in a C++ application now is a breeze.

However, if you already have existing components written in C++, I'd just maintain them in C++Builder. There's no reason to migrate them over to Delphi unless you want to consume them from Delphi as well.

—━☆沉默づ 2024-09-02 10:47:09

作为一名 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 的性能,但随着用户群更大,获得的支持量也会更大,并且更容易找到。

话虽如此,我仍然喜欢 BCB,正如 Stephane 提到的,它实际上可以归结为您所需要的。既然您决定使用 VCL,那么找到一个更加基于交叉编译器的框架可能并不重要,或者您可能已经完成了这些考虑。

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

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

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

因此,如果所有其他考虑因素都归结为几个在技术上是均匀候选者的选择,请选择您最喜欢的一个,并感觉自己最有生产力。

Being a C++ developer myself I have spend great time with the C++ Builder (BCB), it is an excellent tool for rapid application development. The VCL framework has its obvious advantages, and provides a C++ developer with an excellent tool for building applications rapidly. Obviously a lot of things has happened over the last couple of years, and the competing frameworks have grown way more mature, wxWidgets and Qt to mention two are both providing a lot of what VCL provides, but does so while maintaining compiler independence.

I find this is extremely important for a few reasons:

  1. Firstly the Borland/Codegear/Embarcardero C++ compiler lacks a lot of the more modern features of many competing compilers. It is not as standard compliant as many other compilers, I can't count the number of problems I used to have compiling the boost libraries in BCB, although they seem to have fixed many of those problems.

  2. Secondly I must admit that I have a shed of doubt concerning the Embarcardero commitment to the BCB product. It is my personal belief that the BCB product is only used by a very marginal audience, and isn't bringing in enough money to keep the product properly maintained, at least compared to its Delphi relative. I fear the BCB product will cease to exist within the next 3-4 years. I must emphasize though that this is my own personal fear, and only based on guesses.

  3. The first two combined provides a worst case scenario where you are stuck with a framework where switching compiler can turn out to be impossible. The Delphi compiler however I believe will be around for much longer, given the (guessed) larger userbase, the performance of the compiled code will be close to that of the BCB but with a larger userbase the amount of support to get, will be larger, and easier to find.

Having said all that, I still like the BCB, and as mentioned by Stephane it really boils down to what you need. Since you are determined to use the VCL it will probably not be important to find a more cross compiler based framework, or perhaps you have already done those considerations.

If you like the C++ language then I'd use the BCB, if you like a language with a larger userbase, and where support is easier to find in that language I'd choose Delphi. But then again, most likely you will have bought the RAD Studio and have both compilers, then why limit your self to one language? If you already know one language switching to another language should be quite easy. Especially when the language you know is C++, and in particular when you have worked with Delphi before as well.

I like to say that you have to choose the right tool for the right job. Therefore perhaps the question shouldn't be what tool should I use, but what tool fits this particular job, if you are planning on writing high performance code utilizing lots of multithreading preferably optimized for multicore architectures, then most likely it will be neither BCB nor Delphi that you will be looking for. If you are looking for cross platform development, and you don't like the idea of Java, then perhaps the Pascal language in the shape of the Freepascal/Lazarus combination will be your best bet.

If you want to develop applications rapidly, like to utilize databases, want to have a fancy GUI window and don't really mind some code overhead, then I guess your bet on the VCL framework might be the best choice for you, and to be honest all things considered, it doesn't really matter whether it is BCB or Delphi you use in that case.

So if all other considerations boils down to a few choices where they are technically even candidates, choose the one you like the most, and feel you are most productive in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文