【吐槽】关于python和lua的一点浅见

这段时间工作的强度有所下降,倒不如说恢复到正常的工作强度,因此也给了自己一点时间去了解下其他之前没有了解过的语言——python和lua。
这两个语言,一个是号称“人生苦短,我用python”,另一个则是上到魔兽,下到愤怒的小鸟运用的脚本语言,所以都有其一定的代表性。各自编写了一个导表工具之后,在我看来,这两个语言就好像两个极端一样:当你要制作某个设备时,你是用已经能制作出现成零件的工厂,还是要一个工具齐全的工具箱。

工厂式的python

虽然比喻不太恰当,但是python给我的感觉就是一座功能强大的工厂。因为庞大的使用人群,使得python有着非常多的现成的库,以至于你想得到一串字符串MD5码,都可以直接调用现有的方法。

import hashlib  
data='我是'  
m = hashlib.md5(data.encode(encoding='gb2312'))

你不用再去关注诸如MD5具体要如何实现这样的细节问题,你只要调用现成接口就行了,并且随着你的进一步学习,你发现代码还能越写越短,越写越简洁。所以到最后,你也不得不感慨“人生苦短,我用python”,因为python的智慧就是“less is more”。

工具箱式的lua

lua作为目前主流脚本语言中最快的语言,运行效率一直是他为人称道的部分。并且他跟C可以方便快捷的对接,所以很多时候都是在C中实现某个接口,再在lua去调用这个接口。然后你很快就会发现,很多时候,lua甚至是不得不这么做:因为他并没有太多现成的库,很多接口你得自己去实现。所以产生的现象,我们还是拿MD5加密举例,你得现在C中写好MD5的加密方法,再才能像python一样的使用已有接口,同时你还需要费点功夫来验证正确性。但是反过来说,你也可以理解为这正是lua的灵活所在:我没有工厂,但是我可以通过手中的工具箱制作这么一个工厂,功能甚至比你的还要好。

语言选择的场景

这里我就直接抛砖引玉,说下我的认识吧。
python因为有许多现成的库而变得十分强大,因此非常适合拿来做一些工具类的小应用(如导表工具之类的),但是当你要做的项目大到一定程度,许许多多的需求,python的现有接口并不能满足的时候,灵活的lua反而表现更为出色。另一方面,因为lua的高效,可能某个工具,python运行需要20秒,lua可能做到只用18秒。但可能在编写这个工具时,lua要多花1小时。如果这个工具经常被使用,十人团队人均180次以上(在一天三次,两个月就会达到这个数),你就会觉得lua的这个花费是值得的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值