Programming languages 什么';什么是最跨平台友好的编码语言?

Programming languages 什么';什么是最跨平台友好的编码语言?,programming-languages,cross-platform,portability,Programming Languages,Cross Platform,Portability,比如说我想创建FPS游戏,比如说克隆Crysis,这样每个人都知道我想要的是什么类型的图形和性能。编写此游戏的最佳代码是什么,以便尽可能容易地将其移植到所有通用平台?当然,我希望应用程序能够感受到平台的固有特性。这也意味着应该很容易利用雪豹的新功能,如OpenCL和Windows7的新功能。我意识到GUI是为不同的平台分别编写的,这不是问题 所以我的问题是什么是最适合这份工作的语言。我不是在寻找一个适合所有人的解决方案,而是更像是核心语言。我想有一种说法是,如果你需要将同一个程序移植到Windo

比如说我想创建FPS游戏,比如说克隆Crysis,这样每个人都知道我想要的是什么类型的图形和性能。编写此游戏的最佳代码是什么,以便尽可能容易地将其移植到所有通用平台?当然,我希望应用程序能够感受到平台的固有特性。这也意味着应该很容易利用雪豹的新功能,如OpenCL和Windows7的新功能。我意识到GUI是为不同的平台分别编写的,这不是问题


所以我的问题是什么是最适合这份工作的语言。我不是在寻找一个适合所有人的解决方案,而是更像是核心语言。我想有一种说法是,如果你需要将同一个程序移植到Windows、OSX和Linux,那么最好的语言是什么?Java是不可能的。

C(现在一些填充可以达到15个字符)

无论您使用什么,都必须编写特定于平台的代码。像Java或其他解释语言(Python是我个人的首选)这样的语言将允许您使用许多通用性。但是,由于它不是一个简单快捷的项目,所以我建议<代码> <代码> C或C++。
编辑:GUI不一定要为每个平台从头开始编写。检查。

C++。对于平台相关的东西,您可以避免数百万个“if#define”,而是使用继承(每个平台和客户机的派生类使用/了解抽象基类)。对于性能关键部件,可以有一些例外情况


还有很多用于跨平台开发的库。

你见过布鲁斯兄弟吗?在电影中,杰克和埃尔伍德走进一家乡巴佬酒吧表演,问他们喜欢什么样的音乐,酒吧后面的女人回答:

我们有两种:乡村和乡村 西部的

这和这个问题有什么关系?好吧,你想创建高性能的3D图形,你会问使用哪种语言

我们有两种:C和C++。< /P>

你可能需要C来降低你的图形性能,或者CVC++支持的C89的变体,或者使用明文和GCC C99(VC++ 2008不支持C99代码中for for for循环的声明,这非常讨厌,但是他们在C++中没有这么做好几年了)。 诚然,如果你带着GNU,用自己的GUI全屏运行,那么它就不再是真正的跨平台了


您可能还需要Lua或Python或另一种能够很好地调用C的脚本语言,以提供一种更高级的控制游戏的方法

> P>大多数跨平台游戏都是用C++编写的,因为它非常好,性能很好;而且它比C更人性化。游戏需要最大的速度和效率


您可以将特定于平台的内容隐藏在您编写的某些抽象和API后面,以便轻松地进行移植。您还可以为窗口和GUI元素使用跨平台框架,如Qt或wxWidgets。向非关键部件添加脚本语言也很不错。:)

正如大多数人在这里所指出的,您最终几乎肯定需要C/C++来处理图形,特别是为了满足您的高性能(图形)需求

但是,可能有机会用脚本语言开发您所称的“核心”,而脚本语言很容易嵌入到C/C++应用程序中。在这种情况下,最需要研究的两种脚本语言是Lua和Tcl


我敢肯定,Lua在《魔兽世界》中尤其常用。另一方面,Tcl包含了更多的“电池”(库)。

我真的建议将其用于任何脚本编写。它是一个ANSI C库,这意味着它可以编译(至少大部分)C++编译器,如果平台有C编译器,那么你可以使用Lua。它允许显著扩展游戏的灵活性,如果您愿意,它也可以让您的玩家自定义它

> P>我也推荐C++用于大型跨平台项目。但是我认为你使用的构建工具也很重要。例如,或可以在Windows/Linux/MacOS下为大多数编译器创建项目文件/makefiles。

C是一种很好的语言,但通常您需要一种面向对象的编程语言。如果你在寻找速度,就去C++,但是如果你没有很多编程经验,那就去用Python。查看sfml和pygame库

就个人而言,Java可能是最容易学习的语言之一。虽然Java没有那么好的图形系统,但是如果你正在编写“游戏”,如果你要编写一个网站,它需要更多的代码来支持图形显示。选择JavaScript、CSS和HTML/5。或者只使用这些语言中的一种,通常最好选择两种最适合自己的语言…=)对于FPS,我建议初学者使用java,如果你有一个好的感觉,你想要创建的,它是一个更复杂的游戏,那么使用C++或C++,只是因为它想要使用更少的硬件,如果你想让更多复杂的游戏在多平台上运行。C也许比C++或其他语言更便携,但他可能也希望比10年前更快完成游戏,所以我不推荐它。与使用比C更友好的语言所能节省的时间相比,使用C移植工作节省的半年时间算不了什么。Roman,你真的做到了,因为我是经验丰富的PHP程序员,但我只知道C的基本知识,所以这也是一个学习过程。你能推荐其他容易在将来“便携”的语言吗?我建议你最好了解C++,并使用它提供的东西来简化开发。Java对我来说并不是不可能的,尽管它也有它的问题。C并没有那么糟糕——我写C代码已经很多年了