我拥有一家软件开发公司。我们为以他们的名字/头衔命名的其他公司开发软件。我们在会计/ERP 市场上也有几个自有品牌。我们的会计软件约占我们业务的 60%,并且使用 C++ Builder 编写。
了解 C++ Builder 的人在从 Borland 到 CodeGear 再到 Embarcadero 的转手过程中经历了一段非常坎坷的道路,并且可能在这之间有几次转手。 C++ Builder 已经在我们的会计软件上搞砸了我们很多次。 QuickReports 出了名的错误,他们的 XML 构建描述与 GUI 没有紧密耦合,导致构建无法工作——通常是错误的界面。
在过去的 8 年中,我们一直在稳步消除对 VCL 和错误组件的依赖,但是,一些第 3 方 VCL 组件仍然不容易更换。我们使用来自 Developer Express 的 GRID 包 - 很棒的产品。
我正处在一个十字路口,当你看到这个产品糟糕的历史时,我很难证明它的价格是合理的。
因此,我正在寻找可能处于类似情况并成功切换到 Visual Studio 的其他人遵循的建议或步骤。
除了Developer Express 工具外,我们已经慢慢地将大部分应用程序移至wxWidgets。而且我们编写了自己的 TSQL 抽象,也可以移植。
有什么想法或建议吗?您是否已将您的项目移至 Visual Studio,或者您是否尝试过新的 Builder XE 以发现它以前的许多缺点现在已经消失?
寻找“去过那里,做过那个”的建议。
最佳答案
Visual Studio 无法与 C++ Builder 相比。
是的,它们都是 C++ 编译器,但是:
- Visual Studio 仅在使用 .NET 语言时是 RAD
- MFC 是“半辐射”,但与 VCL 的易用性不相上下
- Visual Studio 编译器更擅长生成优化代码,但 C++ Builder 使用的 Clang 相当不错
- Visual Studio 和 C++Builder 均符合标准(CB 使用基于 Clang 的编译器)
- C++ Builder 自带 Boost
- C++ Builder XE 比以前的版本好很多(不包括 Builder C++ 6.0)
- C++ Builder 中的 RAD 工具无法胜过 C++ 开发,没有什么能比得上
对于非 VCL 依赖的代码,编译器的差异可能不会对您造成太大的伤害。我有一个为 VC6、VS2008 和 Builder 2010/XE 下的客户端编译的 DLL。我不得不折腾一些#ifdef,但其中大多数实际上是针对 VC6 的。
我能提出的最大建议是不要迁移到 MFC,这就是痛苦的开始。
还要考虑对开发人员的培训。在学习新编译器的特性时,您的开发人员生成工作代码的速度会明显变慢。
话虽如此,当我在为新产品迁移到 VS2008/2010 或 Builder C++ 之间为客户做出选择时,我选择了 Builder,仅用于 RAD IDE。
祝你好运。
针对 C++Builder 10.2 (2017) 更新:
- 32 位和 64 位 Windows 都使用 Clang/LLVM(iOS 和 Android 也是如此)
- 32 位和 64 位 Windows 都使用 Boost 1.55
- 10.2 非常稳定,每个版本都在变得更好
这仍然出现在 Google 搜索中,因此再次针对柏林 10.1 进行了更新:
- 32 位和 64 位代码现在在 Windows 上使用 CLANG/LLVM
- OS X 的 32 位代码仍然使用旧的编译器
- Android 和 iOS 编译使用 CLANG/LLVM
关于C++ 生成器或 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234434/