본문 바로가기

Book

[책] 프로그래밍 루아(Programming Lua) - 인사이트

http://www.lua.org/pil/


국내 유일의 루아관련 서적이다... 라고 생각했는데 '예제로 배우는 프로그래밍 루아'라는 e-book도 있고, '루아를 이용한 민첩하고 효과적인 게임 개발'라는 게임응용서적도 있었다.


사실 내가 처음 루아라는 스크립트 언어를 본 것은 와우(월드오브워크래프트)에서 였다. (게임을 하는 사람이 아니라서 잘 모르지만...)


Roberto Ierusalimschy라는 이름을 보았을 때, '로베르또'라고 읽을지 모르겠지만 브라질은 에스파냐가 아닌 포루투겔을 사용하므로 앞의 R은 /h/로 난다는 사실. 그래서 '호베르토 이에루자림스키'가 이 책의 저자이다.

사실 이 사람은 Lua 스크립트 언어의 창시자 중 한 명이라고 한다.


이 책을 읽게 된 이유는 다른 언어로 바인드(bind)하기 위한 스크립트 언어로 루아가 대상이 되었기 때문이다. 접착언어(glue language)라는 말을 쓸 정도로 다른 언어와 같이 사용할 수 있는 것이다. 게임에서 주요 핵심 로직은 C언어로 개발한다면 게임 로직은 루아로 짜면 기획자가 직접 루아 스크립트를 수정하여 게임의 균형도라든지를 맞추기가 쉬워진다.

특히 관심을 가졌던 부분은 4부 C API였다. 4부는 24~31장으로 나뉘어 있었는데 제일 처음 24장의 첫 번째 문장은 다음과 같다.

루아는 내장 언어(embedded language)다.

C API는 C코드가 루아와 교류할 수 있도록 되어 있는 함수 집합이다. 일종의 인터페이스인 셈이다. 물론 C언어 말고도 자바라든지 다른 언어와도 같이 쓸 수 있는데 공식 지원은 C언어인 것이다. 이것이 발목이 되어 현재 고려하고 있는 C#과 Java에서도 사용할 수 있는 언어를 추가적으로 검토하게 되었다.


결국은 개발을 위한 확장 언어는 자바스크립트가 선정이 되어 이 책은 1/5정도만 읽고 끝냈다. 사실 자바스크립트를 바인드 해서 사용하는 방법 대신에 node.js라는 플랫폼을 이용하여 Restful 웹서비스로 다른 언어와 바인드 하는 방식을 택했다.


[읽기기록]

  1. 9/2 ~p.76