我主要是一个业余爱好者程序员。我学习了C ++的基础知识,然后转到我喜欢的Java,因为它很简单。现在我回到C ++,我真的很想学习使用Qt API的GUI,但我听说过很多关于Boost Libraries的讨论。
我的问题应该首先学习Qt还是先花一些时间在Boost上更好。
就个人而言,我是Qt因为我已经厌倦了看无聊的黑色控制台屏幕。
2)Pascal / Free Pascal是一种值得学习的语言。如果是这样,那么学习它的最佳位置是什么。我知道它已经死了 - 但我被这种语言神秘地吸引了。
答案 0 :(得分:15)
在学习了不同的语言和库之后,我发现QT拥有最好的文档,并且非常用户友好。无论学习曲线如何(使用Qt都要容易得多),Qt专门用于图形界面,并带有很好的容器或有用的模式,如信号插槽,它们有很多帮助。但有人说,名为“moc”的预编译阶段可能存在问题。您必须使用特定的编译器或工具链。
Boost是更老的学校和“标准”。我认为你必须在你的技能工具箱中拥有它。如果你有C ++和STL,下一步是熟悉boost,因为boost几乎是C ++的官方标准库。它由C ++的老大师推动。在其他方面,提升更难以学习,但更容易集成到您的项目中。就像有些人说的那样......很多项目都依赖于BOOST。
你必须知道,即使可以在同一个项目中同时使用boost和Qt,你最好做出选择,因为很多事情在Qt的提升中是多余的。
Personnaly,我选择Qt是因为信号/插槽机制,以及它提供的高级包(声音openGl webkit svg,设计师等)
答案 1 :(得分:12)
对于业余爱好?
然后没有问题:跟Qt一起去吧。他们有很好的文档,可以直接获得非常好的完整代码示例。你可以在Qt潜水更多!
另一方面,提升就像......“超级C ++”。它为您提供了强大的工具,但在您进行一些认真的编程之前,您肯定不需要这些工具。另外,它们有时使用起来非常复杂(boost::graph,我正在看着你):因为它们可以适应各种各样的应用程序,你需要调整大量的混淆参数。
答案 2 :(得分:7)
答案 3 :(得分:6)
跟Qt,IMO一起去吧。 Qt包含了许多可以一起工作的便携式课程(我知道,也可以提升),所以也许你不需要太多的提升。
使用Qt的一个主要优点是它们的对象可以充分利用框架中内置的信号/插槽机制,并且功能非常强大。
答案 4 :(得分:2)
这都是关于你想做什么的。 Boost是为了增强和改进,更快,更容易,但只有在你了解它是如何工作之后。如果你坚持使用C ++,那么Boost是一个很好的假设。
如果你想更多地做GUI的话,我真的建议你在进入神秘的Boost世界之前先研究一下Qt或wxWidgets:)
2)如果你正在编写脚本,那么,我的一些程序使用pascal脚本。我没有旧的教程网站,但这似乎有很好的简单说明:http://www.taoyue.com/tutorials/pascal/
答案 5 :(得分:1)
首先,我认为你应该问两个不同的问题,因为这些问题非常不同。我只回答你的第一个问题:
我喜欢Java的简单性,我建议从Qt开始。文档非常完整和准确,您可以快速获得有趣的结果。 Boost是一个很棒的图书馆,但它会花更多的时间来掌握它。
无论如何,那些是非常不同的东西。 Qt是一个应用程序框架,boost是一个模板库(大部分)。这取决于你想做什么。