Lua学习系列(一)
从现在开始,打算学习一门新的脚本语言-lua.
1.什么是lua?
a) lua1
• Lua 1.0 was implemented as a library, in less then 6000 lines of C
• “The simplest thing that could possibly work”: compiler used lex and yacc, simple stack based virtual machine, linked lists for associative arrays
• Some of the syntax still lives in the current version:
• Lua 1.1 just added a reference manual, and a cleaned-up C API
b)lua2
• From Lua 2.1 (February 1995) to Lua 2.5 (November 1996)
• Object oriented programming via delegation
• Pattern matching in the standard library
• Hooks for writing debuggers
• First users outside Tecgraf, with papers in Software: Practice and Experience and Dr. Dobb's Journal
• LucasArts begins using Lua in games
c)lua3
• From Lua 3.0 (September 1997) to Lua 3.2 (September de 1999)
• Anonymous functions and a restricted form of closures give better support for functional programming, which would mature in Lua 5
• Major refactoring in the source code
• The next version brings big changes to the C API, so some applications from this time still embed this version of Lua
d)lua4
• A single version, Lua 4.0, released on November 2000
• C API completely redone, using the stack model that we will see in this course
• An application can now have several independent instances of the Lua interpreter
• The standard library has been rewritten to use just the public C API, reinforcing the separation between the core and the standard libraries
e)lua5
• From Lua 5.0 (April 2003) to Lua 5.2, the current version, released December 2011
• Maturity of the language, and the release of the “Programming in Lua” book
• Several big changes: metatables, true lexical scope for anynonymous functions, the module system, coroutines, lexical environments…
• Changes in the implementation: more efficient register-based virtual machine, replacing the stack-based one, an incremental garbage collector for shorter pauses
• The implementation now has around 20.000 lines of code, 3x Lua 1.0
f)lua today
• Current license is the MIT license, free for both non-commercial and commercial use
• Open language, but closed development: new releases are still the responsibility of the three original authors
• Big community participation in the lua-l mailing list and the lua-users wiki
• A package manager, LuaRocks, and alternative Lua implementations: LuaJIT, JVM, .NET, JavaScript...
• Several frameworks for developing mobile games: Corona, Gideros, Codea, MOAI...
2.lua应用在哪里?
Lua学习系列(一)的更多相关文章
- Lua学习系列(二)
资源整理: 风云老师博客: http://blog.codingnow.com/eo/luaoeeeaeau/ 知乎: https://www.zhihu.com/question/20736660 ...
- Lua学习系列(五)
calling C functions from Lua 5.2 这篇文章也不错: http://blog.csdn.net/x356982611/article/details/26688287 h ...
- Lua学习系列(四)
lua 资源:http://www.dcc.ufrj.br/~fabiom/lua/ 第一个Lua程序 http://www.dcc.ufrj.br/~fabiom/lua/ 原文:https://w ...
- Lua学习系列(三)
Ubuntu14.04 上源码编译安装lua5.3 原文:http://blog.csdn.net/abclixu123/article/details/46676991
- 01LaTeX学习系列之---TeX的介绍与认识
目录 01TeX的介绍与认识 目录 前言 (一)TeX 的宣传 TeX - Beauty and Fun 1. TeX 是什么? 2. TeX 是哪家公司生产的? 3. 我们今天主角的名字怎么念啊?& ...
- 使用腾讯云 GPU 学习深度学习系列之二:Tensorflow 简明原理【转】
转自:https://www.qcloud.com/community/article/598765?fromSource=gwzcw.117333.117333.117333 这是<使用腾讯云 ...
- Lua学习高级篇
Lua学习高级篇 之前已经说了很多,我目前的观点还是那样,在嵌入式脚本中,Lua是最优秀.最高效的,如果您有不同的观点,欢迎指正并讨论,切勿吐槽.这个系列完全来自于<Programming in ...
- 分布式学习系列【dubbo入门实践】
分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...
- Entity Framework Code First学习系列目录
Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012, ...
随机推荐
- Hibernate创建SessionFactory实例
private static SessionFactory sessionFactory = null; static { Configuration configuration =new Con ...
- mongodb分片
在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来 ...
- kafuka常用的shell命令
kafka常用shell命令: ------------------------------------ 1.创建topic bin/kafka-topics.sh --create --zookee ...
- 【搜索 回溯】 zoj 1002
题意:一些机枪彼此不能在同一行和同一列,但是由于有墙的阻隔,能保证子弹无法穿透,即可以同行同列,现问如果说给了一个n*n(n<=4)的矩阵,并给出了墙的分布情况,能否求出最大能繁殖的机枪数. 思 ...
- java设计模式案例详解:观察者模式
观察者模式的应用场景: 1. 对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态可变. 2. 对象仅需要将自己的更新通知给其他对象而不需要知道其他对象的细节. 举个例子说明,这个例子讲 ...
- eclipse 终极操作技巧
eclipse作为一个java开发必备软件,从用户体验来说,还是蛮一般的(按照初始设置的话),所以有必要进行一些设置上的改良,加上对一些好用的快捷键的挖掘,能让你用eclipse更加得心应手,事半功倍 ...
- CSS样式 初学
CSS样式 参考网站: CSS用法:3种 一:直接样式表 如<p style="color:red;">这是一个段落</p> 二:内部样式表 如:<s ...
- xntp的配置
ntpdate以一种非常粗暴的方式一次性完成设置时钟.由于实时时钟飘移,你需要周期性的矫正.基本上可以通过设置一个cron例行任务来运行ntpdate,但是你的机器从此就不能是ntp服务器了. 相反, ...
- [转]SSL协议详解
背景介绍 最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密 ...
- Callable、Future和FutureTask区别
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就 ...