탄생 배경
루아는 1993년에 개발되었습니다. 브라질에서 탄생했네요~
본래 C나 C++ 프로그램 내부에 임베디드하기 위한 목표로 개발되었다고 합니다.
뜻은 포르투갈어로 "달"을 의미합니다. 루아를 쓸 때 모두 대문자가 아닌 "Lua"로 써야한답니다.
Lua 언어의 특성
인터프리터의 용량이 작고 빠릅니다.
데이터 형이 nil, boolean, number, string, function, table, userdata, thread 가 전부라 가볍다고 볼 수 있습니다.
절차적으로, 객체지향적으로, 함수형으로도 이용할 수 있는게 특징입니다.
자세한 시작은 아래 문서를 참고하면 될 것 같습니다.
Lua(루아) 튜토리얼 시작1(기초 - 변수, 연산자)
Lua(루아) 튜토리얼 시작2(기초 - 반복문, 조건문, 함수)
언어의 특징 중에 신기한 것은 반복제어문(for, while, repeat until)에서 continue라는게 없다는 것입니다. 다만 goto 는 허용하기 때문에 goto를 이용하여 기존 continue처럼 생성할 수 있지요.
내가 생각한 장점
작고 가벼워서 실행속도가 빠르다는 점이 큰 장점입니다.
그래서 게임엔진을 제작할 때 루아기반으로 하는 게 많습니다.
테이블이라는 타입이 간편해서 사용성이 좋기에 장점으로 꼽힙니다.
라이선스 문제가 없습니다.(완전 무료라는 의미이지요)
임베딩이 가능하기 때문에 다른 언어로 된 코드를 확장시킬 수 있습니다.
결론적으로 속도와 효율이 좋다고 할 수 있겠습니다.
(최근 2022년 1월 26일에 Lua 5.4.4가 릴리즈되었네요. 1993년부터 꾸준히 릴리즈 되었다는게 장점인듯 싶습니다)
내가 생각한 단점
너무 기본만 지원하는게 단점입니다.
기본적으로 다른 언어에서 지원하는 확장기능들이 거의 없다고 보면 됩니다.
(지원 라이브러리의 한계가 있습니다)
가비지 컬랙터가 있어서 일정량의 메모리가 차게 되면 자동으로 메모리를 해제해버립니다.
'Lua' 카테고리의 다른 글
Lua(루아) 튜토리얼 시작2(기초 - 반복문, 조건문, 함수) (0) | 2022.02.24 |
---|---|
Lua(루아) 튜토리얼 시작1(기초 - 변수, 연산자) (0) | 2022.02.24 |
댓글