Java程序员要不要学习Lua?_javagui有必要学吗
大家好,我是袁庭新。Java程序员要不要学习Lua?Lua虽小,但威力巨大!游戏开发、嵌入式系统、自动化脚本...哪哪都离不开它!
|Lua介绍
Lua官网:https://www.lua.org。
Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于1993年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo。
|Lua特性
轻量级:它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
可扩展:Lua提供了非常易于使用的扩展接口和机制,由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
面向对象编程:在Lua中,可通过create a module和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,继承和重载等。
其它特性:
- 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
- 自动内存管理,只提供了一种通用类型的表(table),用它可以实现数组、哈希表、集合、对象;
- 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
- 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
|Lua教程大纲
Lua大纲的核心内容:Lua概述、Lua环境安装、Lua基础语法、Lua中的变量、Lua运算符、Lua字符串、Lua流程控制、Lua循环结构语句、Lua函数、Lua table表、Lua数组、Lua迭代器、Lua模块与包、Lua元表、Lua协同程序、Lua文件I/0、Lua错误处理、Lua调试、Lua垃圾回收、Lua面向对象、Lua数据库访问。
下面的Xmind是我整理的思维导图: