lisp 로 만들어본 GUI

sugarlessgirl의 이미지

새로운 언어를 접할때 광적으로 집착하는 "Hello, World" 의 GUI 버젼을 LISP로 만들어봤습니다. -_-

clisp 에 gtk2 모듈이 들어있더군요,
하지만 데비안 패키지에는 빠진채로 컴파일되어있어서 직접 컴파일 하였습니다.

그냥 gtk의 함수를 1:1 대응 시켜놓은거라서 꽤 lisp 다운 코드는 아닌거 같군용..

clisp 좋네요, 정규표현식, berkely db, fastcgi 등의 쓸만한 확장모듈도 제공해주구요..

인공지능 연구소에서나 써먹을 언어인줄 알았더니, 의외로 활용가치가 있어보이네요

File attachments: 
첨부파일 크기
Image icon hello.png18.63 KB
익명 사용자의 이미지

lisp 은 emacs 를 개발한 언어입니다. 인공지능 연구소에서나 활용한다니요~^^

죠커의 이미지

EMACS의 core는 C언어로 짜여졌을테고 LISP의 용도는 더 다양합니다.

- CN의 낙서장 / HanIRC:#CN

noname81의 이미지

elisp으로 emacs를 만들고
GUI는 어떻게 한거죠?

Supported Platforms도 다양하던데...
완전 초보라 궁금합니다.


------------------------signature------------------------
Self-Pity

I never saw a wild thing
sorry for itself.
A small bird will drop frozen dead from a bough
without ever having felt sorry for itself.

- David Herbert Lawrence (1885-1930)

sugarlessgirl의 이미지

이맥스는 C 로 기본 토대를 만들어 놓고,
아예 LISP 인터프리터를 내장해서 기능을 확장해나간 식입니다.

직접 GUI 를 건드리는 코드들은 C로 짜여져 있겠지요

redneval의 이미지

GTK 의 장점 중 하나가, 여러 언어로 바인딩 돼서 자신이 좋아하는 언어를 고를 수 있다는 점이지요.

그런데 그 중에서, GTK+ 2.10 버전을 완벽지원하는 바인딩 언어는 4개입니다.

C++, Java, Perl, Python (참고 : http://www.gtk.org/bindings.html)

데비안에 CL-GTK 패키지가 없는 이유는

그 프로젝트가 공식 릴리즈할 정도로 충분히 성숙되지 않았기 때문일 겁니다.

(참고 : http://tenkan.org/clgtk/)

그런면에서 보면, 개발도 더 활성화되고 API와 예제까지 갖추고 있는 Haskell 쪽에 더 관심이 갑니다.

(참고 : http://haskell.org/gtk2hs/)

사실 언어가 다르더라도 Gtk API는 비슷비슷하기 때문에, 상황에 맞는 언어를 선택하는 것이 무엇보다 더 중요하지요.

저는 Gtk2-perl 로 만들고 있는게 하나 있는데, (Pfed : http://kldp.org/node/88996)

실행속도도 만족스럽고, 컴파일도 필요없고, 객체지향도 되고, 프로그래밍하기도 편리해서,

속도가 critical 한 요소가 아닌 소규모의 프로그램 만들기에는 역시 동적언어인 perl이나 python이 편하다는 생각이 들었습니다.

--------------------Signature--------------------
Light a candle before cursing the darkness.

cleol의 이미지

저도 궁금해서... C++, Java, Perl, Python 의 gtk 바인딩이 윈도에서도 잘 돌아가는지요? 몇 년 전에 C++ 바인딩과 python 바인딩을 윈도에서 잠깐 테스트해봤는데 상당히 불안했습니다. 간단한 프로그램인데도 잘 죽더군요. 또 윈도에서 한글 입력이나 한글 파일명은 문제가 없는지도 궁금합니다.

redneval의 이미지

다른 언어는 모르겠고 Perl 에 대해서만 말씀드리면,

사실 저는 윈도에서 돌릴 일이 없어서 신경쓰지 않고 있었는데,

gtk2-perl 로 만든 프로그램을 발견해서

http://www.gcstar.org/
http://home.gna.org/gcfilms/index.en.html

윈도우에서 돌려보니 문제없이 잘 돌아갑니다.

(문제가 많다면 windows 지원을 자신있게 써놨을리가 없겠죠.)

Perl 언어 자체가 유니코드 지원이 잘 지원되므로

`한글 입력이나 한글 파일명'도 당연히 문제가 없을 거라 생각됩니다.

제 답변이 부족하다고 생각하셨다면, `프로그래밍 QnA'에 정식으로 질문올려보세요.

--------------------Signature--------------------
Light a candle before cursing the darkness.

M.W.Park의 이미지

X 관련 Lisp Graphics Toolkit들 리스팅
http://www.cliki.net/Graphics%20Toolkit

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂