部分原因是历史,部分原因是它实际上并不比其利基之外的许多其他语言好多少,部分原因是操作系统不支持它。比如说,它永远不会拥有像 C/C++ 这样的完全编译语言的性能,而性能对于游戏来说很重要。您不能保证它在大多数移动平台上的存在。
好吧,它用于其他事情。Ruby 用于:Chef(基础架构即代码框架)Puppet(基础设施即代码+配置管理)Vagrant 是用 Ruby 编写的。RubyMotion 用于创建适用于 iOS、Android 和 Mac OS X 的跨平台应用程序。Shoes(本机 gui 编程框架)(Hckety Hack 是使用 Shoes 构建的)Homebrew 是用 Ruby 编写的Google SketchUp 是用 Ruby 编写的在 MORPHA 项目中,Ruby 被用于实现西门子服务机器人的反应控制部分。Metasploit – 一个渗透测试框架还有更多,但这些不是特定于网络的项目。
它很慢,没有有用的异步原语,并且缺少静态类型,因此即使用于它的用途也不应该使用它。 Rails 中的性能可能比 Go 差近 1000 倍:TechEmpower 框架基准。哦,它是在 OO 开发盛行的时候设计的,所以(就像 Java)它的设计太依赖于 OO 方法,而不是像更新的语言那样是多范式。第一点足以让游戏忽略它。剩下的应该足以埋没它,但它有很大的惯性。
我爱鲁比。作为一种“脚本”语言,它有一些缺点,但不要让它影响你在 Rails 之外使用它,这似乎让 Ruby 社区黯然失色。这是一个使用 Ruby / RubyMotion – A Dark Room 开发畅销游戏的人(Amir Rajan) RubyMotion你不会在 Ruby 中创建下一个“光环”或“使命召唤”级别的游戏。但只要有一些想象力,以及《暗室》等极简风格的伟大游戏创意,它是完全可行的。查看 http://amirrajan.net/ 了解他的更多作品。我觉得他的比赛很有趣,也很鼓舞人心。我也有点叛逆……每次我看到有人发帖说你不能用 Ruby 制作像样的游戏时,你必须使用 Unity、Unity、Unity……我拉起我的小文本编辑器和终端并继续插电.
我将 Ruby 用于小东西。任何对 ksh 函数/别名来说有点复杂的东西当默认情况下在每个类 unix 操作系统上都不可用时,我曾经避免使用 bash 来支持 ksh。这些天来,我只希望 Ruby 出现或自己安装它。