zoukankan      html  css  js  c++  java
  • 什么是lua?

     lua是门新兴的语言,额,其实也不是刚出来,好几年前大家就在学怎么用了。它的出现主要是搭了游戏产业的快车,也多被用来做游戏开发。

    关键是,已经连续好几个月,lua的使用频率都在编程语言排行榜上跻身前20了!

    先讲讲我知道的一些应用。

    首先是在 iOS 下写游戏,《愤怒小鸟》就是用lua写的;同时,也好多用其它语言在为Iphone写游戏的程序员,添加lua到游戏开发中去,让过程更简单。当然,Lua最著名的应用是在暴雪公司的网络游戏《魔兽世界》中----在网上可以找到好多用lua做的wow小工具。

    然后是一些小的程序,这个和我的目标一致,一些简单的测试用例可以用lua来写,比如可以在百度找得到的‘康泰串口程序’,还在百度文库发现一篇,有在用lua开发测量仪器上位机测试程序的例子(好处是用c写完一些固定的调用后,用lua简单配置一下,又是另外一个测试程序,写完就可以用)。

    还有在嵌入式开发上的应用,在C程序中田间C实现的解释器,程序大小只增加200K!要知道,游戏开发里面,lua是留给不懂程序开发的策划用的,你就能想想,lua往上的开发会是怎样的容易。在思科开源路由器方案中openwrt中,有开发一个叫luci(Unified Configuration Interface)的config接口,暂时不知道里面是怎么用的,但是,它提供的web服务是基于lua。还有,有人讲,busybox也打算开发一个lua版本的。

    讲点其它细节。

    lua是动态语言,它的解释器现在有用各种主流语言完成的各种版本,c、java...应有尽有。你的程序需要做config吗?lua应该是个不错的选择。或者,找现成的lua解释器过来,你可以再添加好你的库,完全直接执行脚本也行。

    lua的解释器最初是用c实现的,lua的开发者说,lua最初是被开发用来做C不擅长的事。

    有人把它和python作比较,可能是应用领域的关系,那个家伙讲,他觉得lua会比python好用。在lua的官网可以看到他们吹水记录,不贴连接了。

    网上下的某PPT里这么讲,Lua最引人注目的特点:
    --以极小 的体积和简单 的语法提供相对全面的功能。
    --以简洁 的API实现与宿主语言最方便 的接口。

    不过,希望用它干什么‘大事’的可能会有些失望。它的开发者是这么讲的:

    Lua 没有打算被用来进行大型的程序设计,相反,Lua 定位于中小型程序设计,通常是作为大型系统的一部分,常用于一个或少数程序员开发的情况,甚至是由非程序员进行的开发。所以,Lua 避免了过分的冗余和过多的人为限制。如果你不希望一个对象的内部结构被访问,那么就不要去访问它们。

    “以极小的体积和简单 的语法提供相对全面的功能”这句还是很诱惑人的,你可以慢慢去发现它到底提供了哪些“相对全面的功能”。

    如果是想学习一门C/C++以外的其它语言玩玩,推荐lua。

    好吧,看到有人做的 Lua Template 解释器:https://github.com/henix/slt2。这是要拿来做 WEB 应用的节奏。

    ——————
    无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
  • 相关阅读:
    EntityFramework
    在项目中整合log4net日志模块
    java Socket编程
    java动态代理
    多项式计算的Horner法则(秦九韶法则)
    1.6打印字符串排列
    1.5 输出整数N的二进制1的个数(递归)
    1.3输出任意实数
    Java super关键字调用父类的方法疑惑
    vs2010配置MPI
  • 原文地址:https://www.cnblogs.com/pied/p/2245483.html
Copyright © 2011-2022 走看看