lua语言和python_嵌入式语言如何选择?是python还是lua? C++ 技术研究

许多游戏都嵌入lua,因为lua解释器很小,而且很高效,用C扩展很方便,很适合嵌入。我做过一个刷机软件,虽然不是游戏,但是采用lua脚本来做刷机流程。这个软件现在有上百万人在使用,支持基本上市面上的绝大多数手机。

但是如果让我再来选择技术方案,我会选择嵌入python。原因主要有两个:1. 调试会更方便

2. 用python可以减少很多的工作

先说说第一个原因:调试更方便。我们在用lua的过程中,对lua做了很多扩展。但是当刷机人员写刷机脚本的时候,只能在程序中通过打印log来判定lua脚本是否正确,调试起来很不方便。我觉得应该有一种方法,可以让扩展直接在lua ide环境中调试。但是我们没有找到简单的方法。如果换做python,这个问题就能很好解决。python很成熟,我们的扩展是c++写的,这意味着可以轻松将扩展导入到python中。这样,脚本开发人员可以在python ide中调试自己的业务脚本,而不是只能打印log。

再说第一个原因:用python可以减少很多的工作。我们在用lua时,发现lua很多功能函数都没有或者资料太少,为了加快开发,我们宁可直接用c++实现扩展。比如下载文件的函数。而且,这导致我们不断扩展lua。如果用python,那这个问题就变小很多。因为python发展了这么多年,功能库很全面,要什么功能里头都有。

也许有人会觉得python库太大,不适合嵌入。其实这是可以觉得的。在pyui4win里头,designer也用到了嵌入python,但实际上python库只有300多k。所以大小不是什么问题。

我觉得,lua比python适合嵌入的地方,就是游戏。因为游戏需要效率更高的嵌入脚本,而且功能单一,只是控制游戏逻辑。所以,它也不需要python那么强大的功能。当然,python实际上也可以做一些简单游戏。有个pygame就是一个用python做游戏的库。但是,如果想wow这么要求速度的,lua应该是更好的选择了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值