我对PC进行任何开发已经有几年了(我通常会使用嵌入式软件)。
那时我非常精通(Borland,现在是CodeGear)C ++ Builder。时间已经过时了,C ++ Builder已经变得非常昂贵,并且有其他选择(MSVC工作室,NetBeans,QtCreator,甚至可能是带有正确插件的Eclipse)。其他
有三件事情(无特定顺序),易用性,其他GUI组件和跨平台性。
易于使用 - 我想要一个有用的IDE,而不是阻碍我。好的调试器,重构,跳转到变量声明,用法,那类......
GUI组件 - 在使用C ++ Builder时,我对开发其他VCL组件的容易程度以及通常免费提供的VCL组件的容易程度印象深刻。因此,如果我想要一个标准字符串网格,其中单元格也可以包含图片,复选框等,我可能会找到一个,或者自己滚动。
我不确定附加组件的当前状态是什么。其他系统是否有类似http://www.tmssoftware.com/site/的内容?
跨平台 - 我个人使用Linux来实现一切,但实际上,我的大多数用户都安装了Windows。因此,跨平台“很高兴”,“所有其他条件都相同”。
现在我必须选择一个解决方案并在接下来的几年里坚持下去。哪一个,考虑到我的观点(成本起作用,但不是成败)?
提前感谢您的帮助。
答案 0 :(得分:7)
我使用过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总是很慢感到满意。 即SunStudio12很好(而且免费)但是UI反应很慢。 我在Linux上使用Code:Blocks,它具有合理的可用性, 但是没有做任何RAD工作。
答案 1 :(得分:4)
我从未使用过C ++ Builder,但曾经是delphi的忠实粉丝/用户。我通常使用一些java来处理c ++中的服务器应用程序。我最初开始为自己编写一些小型生产力应用程序,最初使用的是java,但之后转移到了Qt。
现在我喜欢它。该库感觉设计得很好,就像vcl在delphi中所做的那样。信号/插槽机制很棒,我仍然感到惊讶的是,我不必编写代码来连接对话框。使用qt很容易,你编写的代码很容易阅读和创建。我还没有编写自己的小部件,我认为qt的模型/视图架构很好地分割了角色,使得库存小部件非常强大。例如,当使用QTableView时,ItemModel可以提供大多数显示和编辑功能,ItemDelegate提供了更强大的控制功能。我发现这些比编写自定义小部件更容易重用,尽管从查看文档看起来很容易。
Qt创建者是基本的,但是我需要的95%,集成项目,gui设计师,代码,调试和帮助。支持CMake以及qmake。它没有重构等高级功能,但智能感比VS2005更好。然而,下一个版本的KDevelop看起来非常有前途,并将包括这些。如果你想要这些功能,你也可以使用eclipse,或者根据需要在eclipse和qt creator之间移动。但我对qt创作者非常满意。
在跨平台问题上,我在家里在Linux上开发我的应用程序,并倾向于在工作中使用它们。到目前为止,在Linux上工作的所有东西都只是工作窗口,看起来它也是为它编写的。
答案 2 :(得分:2)
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 Linux (GTK2)
可在此处找到更多屏幕截图:http://wiki.lazarus.freepascal.org/Screenshots
Delphi / C ++ Builder的问题在于VCL目前不具备跨平台功能。虽然这是为未来版本计划的(据我所记),但尚未实施。注意到,对于是否继续维护C ++ Builder有一些考虑,在这里有一些评论:here。
Qt已被提及,它确实是一个非常强大的GUI框架,Qt创建者是一个很好的工具,个人虽然我喜欢在IDE和GUI框架之间有一个非常紧密的联系,就像VCL的情况一样,但这非常依赖于开发人员。
编辑:我只是想到了,在将C ++ Builder与其他RAD IDE进行比较时,很容易将.NET包含在.NET语言和Java中。这些使用为此目的创建的语言。在C ++ Builder中使用的C ++虽然在Borlands中略有修改,但不是。这确实提出了一个有趣的问题,是否使用C ++进行必要且合理的RAD应用程序?为什么不使用为此目的而编写的工具(语言)。我知道C ++ Builder是为RAD开发编写的,但它背后的语言不是为此而设计的。如果您的需求是真正快速开发的应用程序,我会考虑寻找其他语言,但如果您因任何原因依赖C ++,可能是第三方库等。那么C ++ Builder在C ++世界中是一个优秀的RAD开发平台。
答案 3 :(得分:1)
简短的回答是NetBeans。它是跨平台的,它易于使用,虽然它是java中制造但仍然很快。
PS:如果您还在java中进行或打算进行编程,那么使用/学习这两个IDE将会很方便。
答案 4 :(得分:1)
您还可以使用wxForms for C++ Builder并使用wxWidgets创建跨平台应用程序。它适用于现有的C ++ Builder IDE,并使用相同的表单设计器。