什么是OSX上C++ + Python的初学者设置?

2024-05-16 23:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一个学习C++的好的设置,最后在Mac OSX上使用Python。当我使用C++时,我不想使用XCODE,因为(我理解)这主要是用Objto-C使用的。我在java和Matlab编程方面有一点经验,数学可能不是我的主要问题。我在考虑一种类似这样的方法:

  1. 完成Accelerated C++。在
  2. 写几个小的数学程序;比如Mandelbrot集、PDE解算器或绘图应用程序。这可以使用widget工具箱来完成。在
  3. 写一个非常糟糕的图形小游戏。这很可能是对杰曼复兴号或太空入侵者的剽窃;-)
  4. (当我厌倦了游戏不起作用的时候),我的方法通过Core Python。在
  5. 在Python中重复步骤2和3。在

我在考虑使用Eclipse和GTK+/X11。对IDE和GUI工具包有什么想法吗?最好是开源的,而且绝对免费。你觉得这5个步骤怎么样?在

如有任何帮助,我们将不胜感激-提前谢谢!在


Tags: 方法程序mac编程步骤数学经验java
3条回答

As I'm going use C++ I don't want to use XCode, as (I understand) this is primarily used with Objective-C.

XCu码是一个不错的选择,甚至对于纯C++解决方案也是如此。在

Work through Accelerated C++.

这就是让我开始的书!这是个很好的选择,但不是在公园里散步。我花了一两个月的时间,每天大约1到2个小时。但是在这之后,你将成为一个真正的优秀C++程序员。在

Write a couple of small math-programs; something like the Mandelbrot set, a PDE-solver, or a graphing-app. This would be done using a widget toolkit. Write a small game with really crappy graphics. This is probably going to be a rip-off of Jetmen Revival or Space Invaders ;-) (When I'm fed up with the game not working), work my way through Core Python (this is a book; max. one link/question for new users...).

好吧,我玩俄罗斯方块。在

Repeat steps 2 and 3 in Python.

我没有使用Python的经验,但我知道它比C++更容易掌握。因此,如果你能掌握C++,Python就不会有任何问题。在

对于GUI,您可以使用Qt,特别是现在它已经成为LGPL了。不过,Cocoa也很有趣,如果你有足够的勇气学习Objective-C:)(顺便说一句,还有一个用于Cocoa的Python端口)

XCode是一个成熟的IDE,几乎适合任何语言。特别支持C++。在

显然GTK+有native OSX widget support,尽管我从未使用过它,因此如果需要,可以完全跳过X11堆栈。其他跨平台小部件集包括wxWidgetsfltkTk。在

不过,对于游戏来说,它们并不是最理想的。为此,我强烈推荐LibSDL或其python绑定PyGame。如果您想使用OpenGL,它们可以为OpenGL提供一个方便的、标准的接口,或者如果您需要的话,可以使用硬件加速的2d原语。在

在选择IDE时,很大程度上取决于用户的口味,所以最好的选择可能是每个IDE试用一两天。Eclipse和XCode都是很受欢迎的选择,它们在各自的方式上都非常优秀。我不能帮你使用这些小部件,因为我对此知之甚少。GTK+是一个流行的框架,但是我上次检查时还没有准备好原生的OS X支持,但是开发正在进行中,所以这可能已经改变了。Qt不那么受欢迎,但现在是完全开放源码的,所以它以前的许可问题现在已经解决了,所以您可能也需要研究一下。wxWidgets在Python中很流行,我发现它很容易使用,但是我不知道它是否和其他的一样好,但是它可能非常好。在

至于这五个步骤,首先用Python实现它们更有意义。Python是易于学习和掌握的,特别是如果你没有被C/C++污染。C/C++程序员常常需要忘掉事情,因为有很多事情你必须做和思考,在Python中你不必费心。在

Python你可以专注于学习库和工具,而不是学习如何用C++在脚上不开枪。学习C++之后,你会有一个更平滑的学习曲线,并享受更多。在

相关问题 更多 >