Programming in Lua

호베르토 이에루자림스키 지음
권태인 옮김
인사이트

루아 스크립트는 단순한 스크립트의 영역을 넘어 무한한 편의성과 확장성을 가지고 있는 언어중에 하나다. 빠른속도와 뛰어난 호환, 편리에 의해서 이제는 프로그램에서 많은 비중을 가지고 사용이 되어지고 있는 언어다.
내가 이 책을 늦게나마 읽기 시작한 이유도, 현재 내가 일하고 있는 프로젝트에서 사용되어 지고 있기도 하지만, 좀더 이러한 언어에 대해서 자세히 알 필요가 있기 때문이라고 생각한다.
이 책의 초반에는 루아 스크립트에 대한 이론과 문법적인 내용이, 후반에는 C언어와 연동하는 방식에 대해서 소개되어 지고 있다.

내가 이 책을 보기 시작할때 평소에 루아 스크립트를 사용만 하던 입장에서 들었던 의구심중 몇가지 주안점을 보고 살펴보았다.
1. 루아에서는 테이블이라는 것은 무엇인가?
2. 어떠한 방식에 의해서 C언어와 연동이 되는가?

이러한 관점에서 보면서 책을 보는 도중 몇가지 루아스크립트에서 중요하다고 생각되는 요소들을 알게 되었는데, 대표적으로 코루틴과 테이블, 그리고 스택이다.

1.테이블
루아에서 유일한 자료구조이지만 테이블로도 배열을 비롯하여 큐, 이중큐까지도 구현이 가능할 정도로 강력한 자료구조이기도 한데, 이 책의 2부에서는 이러한 테이블을 이용하여 루아에서 자료구조를 구현하는 방법을 소개하고 있다.
2. 코루틴
코루틴은 스레드와 비슷한 개념이기도 하지만, 정지, 실행, 죽음, 정상이라는 4가지 동작을 가지고 루아를 동작하게 한다는 것에서 스레드와는 틀리다. 또한 서로 독립적인 스레드에 비해서 코루틴은 한번에 하나의 코루틴만 동작시킬 수 있다.(이러한 점에 의해서 루아는 스레드에서 종종 고려해야 하는 동기화를 생각할 필요가 없다) 또한 함수 중간에 동작을 멈추게 할수 있으며 내가 원하는 시점에 다시 그 멈춘 시점부터 다시 시작이 가능하다.
3. 스택
루아의 스택은 LIFO로 이루어져 있으며 C언어와 연동을 하는 부분에서 중요한 비중을 차지한다. 스택에 데이터를 넣고 스택에서 데이터를 꺼내와 C와 루아 사이의 데이터 정보를 교환한다. 이 책의 후반부에 이러한 내용에 대해서 소개하고 있다.

이 외에도 다른 여러가지의 루아를 이루고 있는 요소들(메타테이블, 환경 등등) 에 대해서 충분한 예제와 함께 소개하고 있다. 단 예제에 대한 설명이 충분하지 못하고 번역에 대한 내용은 이해하기가 약간 까다로운 편이라는 것이 좀 아쉽다.

이러한 부족한 부분은 현재 사용하고 있는 프로젝트의 핵심 루아 소스코드를 살펴보면서 보안하려고 한다.


덤으로 루아 5.0 레퍼런스 번역 메뉴얼 이 있는 홈페이지 :
http://cafe.naver.com/hopistudy/110

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 1ststory | 2008/09/23 01:13 | 책읽기 | 트랙백 | 덧글(0)

트랙백 주소 : http://mystic24.egloos.com/tb/861135
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶