【问题标题】:Good language to learn? [closed]学好语言? [关闭]
【发布时间】:2013-06-15 03:07:31
【问题描述】:

我想编写可以与其他人分享的电脑游戏。目前我所有的游戏都是用 python 和 pygame 编写的。我当然不会说我是 python 大师,我只是想学习一些新东西。我用 java 编写了几个 android 应用程序,但我并不像 python 那样喜欢它。重要的是该程序不要太难分享,因为我不能很容易地与我的朋友分享我的 python 代码,无论它是否可以轻松变成 exe 或轻松发布到网上,我希望它是可移植的。顺便说一句,如果这很重要,我将在 ubuntu idk 上编写代码,感谢您的任何建议。

【问题讨论】:

  • 我推荐学习 Haskell、SML/NJ、Scheme 和 Prolog。他们是不同的思维方式。无论如何,这个问题缺乏焦点和客观性。跨平台兼容性很大程度上取决于跨平台 [游戏] 库支持,而不是特定语言。
  • 是的,我知道这是一个糟糕的问题,但我真的没有人可以寻求编程建议,而且有趣的是我没有听到任何这些建议,所以我会查一下。跨度>

标签: ubuntu programming-languages portability portable-executable


【解决方案1】:

考虑到您已经熟悉 pygame,我建议您学习 C 或 C++ 并将其与 SDL 一起使用。 SDL 是用 C 编写的,但可以与 C++ 一起工作,并且可以与 OpenGL 配对。 C 不是面向对象的,并且比 C++ 更容易学习,尽管您可能会发现 C++ 更容易学习,因为它像 Python 一样面向对象,尽管它与 Java 有一些相似之处。

如果您正在制作需要高 FPS(每秒帧数)的游戏,那么 C/C++ 不会出错。如果您正在制作像纸牌或类似游戏这样的休闲游戏,那么使用 Python 没有任何问题。使用 C/C++ 的另一个好处是您仍然可以为 Python(和其他语言)创建库。 SWIG 就是一个例子。

对于可移植语言,Python 很难被击败,因为最终用户只需要安装 python 解释器。 C 是高度可移植的,因为您几乎可以为您运行的任何平台编译它。了解 C 的一个好处是您还可以将它与 Arduino 一起使用,以防您想在硬件项目中使用它。如果可移植性是一个高度关注的问题,那么您可能还想查看 HTML5(但要求最终用户拥有兼容的网络浏览器,并且可能需要互联网连接)。

任何语言都需要权衡取舍,知道哪种语言最适合特定情况是关键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-22
    • 2011-02-04
    • 2018-04-28
    • 2011-10-01
    • 1970-01-01
    • 2010-09-09
    • 2010-09-19
    • 2012-11-19
    相关资源
    最近更新 更多