我对我想要编写的程序有所了解,但哪种语言最好是我的问题.
如果我有一个赛车游戏,我想让用户提交新的交互式3D赛道(想想Speed Racer电影中的曲目),车辆和自动驾驶汽车的代码,那么,他们会创建AI他们的汽车将使汽车能够确定如何处理危险.
所以,我需要一种能够快速运行的语言,并且作为服务器具有所有可用种族的世界地图的一部分,以及它们的各种状态.
我很好奇,例如,这是否是在Scala中创建DSL的一个很好的理由?
我不想重新启动一个应用程序来加载新的dll或jar文件这么多编译语言会有问题.
我对Linux或Windows开放,对于语言,大多数脚本语言,F#,Scala,Erlang或大多数OOP我可以编程.
用户将能够监控他们的车辆如何运行,并且如果他们为该车辆上载了多个AI,当遇到某些障碍时,他们应该能够根据需要将一个AI程序换成另一个AI程序.
更新:到目前为止,解决方案是javascript,使用V8和Lua.
我很好奇这是否适用于DSL,实际上是3个独立的DSL.1用于创建赛道,另一个用于控制赛车,第三个用于创建新车.
如果是这样,那么Haskell,F#或Scala会是一个很好的选择吗?
更新:让不同的部分以不同的语言结束是否有意义?例如,如果Erlang用于控制汽车,Lua用于汽车本身,还用于动画赛道?