我正在寻找一个很好的设置来学习C ++,最终在Mac OSX上学习Python。因为我要使用C ++,所以我不想使用XCode,因为(据我所知),它主要用于Objective-C。我在Java和MATLAB编程方面有一点经验,数学可能不是我的主要问题。我在想一个看起来像这样的方法:
我正在考虑使用Eclipse和GTK + / X11。关于IDE和GUI工具包的任何想法?最好是开源,绝对免费。您如何看待这五个步骤?
非常感谢任何帮助 - 提前感谢!
答案 0 :(得分:3)
因为我要使用C ++而不是 想要使用XCode,因为(据我所知) 这主要用于 目标C
XCode是一个不错的选择,即使对于纯C ++解决方案也是如此。
使用Accelerated C ++。
这本书让我开始了!这是一个很好的选择,但不是在公园散步。我花了一两个月,每天约1到2个小时。但在此之后,你将成为一名非常优秀的C ++程序员。
写几个小数学课程; 类似Mandelbrot的东西,a PDE求解器,或图形应用程序。这个 将使用小部件工具包完成。 写一个非常糟糕的小游戏 图形。这可能会是 一次关于Jetmen Revival或Space的剽窃 入侵者;-)(当我厌倦了 游戏不工作),努力工作 核心Python(这是一本书;最多一本 新用户的链接/问题......)。
很好,我做了俄罗斯方块。
在Python中重复步骤2和3。
我没有使用Python的经验,但我知道它比C ++更容易掌握。因此,如果您可以掌握C ++,Python将不会有任何问题。
对于GUI,您可以使用Qt,特别是现在它已经成为LGPL。但是,Cocoa也很有趣,如果有足够的勇气也可以学习Objective-C :)(顺便说一下,Cocoa还有一个Python端口。)
答案 1 :(得分:2)
XCode是一款成熟的IDE,几乎适用于任何语言。 C ++特别受到支持。
显然GTK +有native OSX widget support,虽然我从未使用它,所以如果你愿意,你可以完全跳过X11堆栈。其他跨平台小部件集包括wxWidgets,fltk和Tk。
但对于游戏来说,它们并不是最佳选择。为此,我强烈推荐LibSDL或其python绑定,PyGame。如果您想使用它们,这些可以为OpenGL提供方便的标准接口,或者如果您需要,可以使用硬件加速的2d原语。
答案 2 :(得分:2)
选择IDE时,这非常属于品味问题,因此最好的选择可能是每天尝试几天。 Eclipse和XCode都是流行的选择,这些选择肯定是以他们自己的方式出色的。我无法帮助你使用这些小部件,因为我对此知之甚少。 GTK +是一个流行的框架,但上次检查时本机OS X支持还没有准备好,但是开发正在进行中,所以这可能已经改变了。 Qt不太受欢迎,但现在是完全开源的,所以它以前的许可问题现在已经解决了,所以你可能也想看一下。 wxWidgets在Python中很流行,我发现它很容易使用,但我不知道它是否和其他的一样好,但它可能很好。
至于五个步骤,首先在Python中使用它们更有意义。 Python很容易学习和掌握,特别是如果你没有受到C / C ++的污染。 C / C ++程序员经常不得不忘记事情,因为你必须做很多事情并想到你不必在Python中烦恼。
使用Python,您可以专注于学习库和工具,而不必学习如何使用C ++不会自己陷入困境。之后学习C ++,你将有更好的学习曲线,并享受更多。
答案 3 :(得分:0)
我肯定会去GTK +。这很容易。我不确定OS X上的图形库。我知道OS X主要使用Objective-C,但是如果可以从C ++使用本机图形库,则将其用于游戏图形。
至于IDE,我不知道。我使用GNU Emacs,但我不建议初学者使用。学习如何使用Emacs就像学习一种新的编程语言一样。我将从一个基本的文本编辑器(查找一个带有语法高亮显示)开始,并从终端编译,所以你也不必学习IDE。他们使大项目变得更容易,但可以成为PITA的小东西。
答案 4 :(得分:0)
您可以将VIM与cscope和ctags插件一起用于C ++,我个人认为这是最快的。如果你需要一个gui,Eclipse for C ++也很好,但它不像Java那样功能丰富,但它是一个很好的开源IDE。
就书籍而言,有效的C ++和更有效的C ++是好的。
答案 5 :(得分:0)
- 使用Accelerated C ++。
- 写几个小数学课程;类似的东西 Mandelbrot集,PDE求解器,或者 图形应用程序内。这将使用 小工具工具包。
- 用一个非常糟糕的图形写一个小游戏。这可能是 将成为Jetmen的骗局 复兴或太空侵略者; - )
- (当我厌倦了游戏不工作时),通过Core工作 Python(这是一本书;最多一本 新用户的链接/问题......)。
- 在Python中重复步骤2和3。
醇>
我可能会建议在语言方面按相反顺序执行此操作吗?请记住,GTK +并不容易学习,C ++也不是。事实上,我真的建议先从Cocoa和PyObjC开始。可可是一个更好的包裹你的头,但一旦你把它弄下来,很容易看到它的好处。 GTK和PyGTK的开发设置可以是在OS X上设置的PITA(至少对我而言)。
答案 6 :(得分:0)
NetBeans是另一种选择。虽然Python和C ++支持都是新的。 Python可以找到,但我还没有尝试过C支持。