2009년 01월 08일
데스크탑 GUI 프로그래밍을 뭘로 할까?
나는 java로 jee 프로그래밍을 한다. 대부분 웹 프로그램이고 백엔드 데이터 처리를 위해 데몬을 만들거나 배치 프로그램을 작성하기도 한다. 어쨌든 GUI 프로그래밍은 거의 해본 적이 없다.
갑자기 데스크탑 GUI 프로그램을 만들고 싶어졌다. 그래서 GUI 프로그래밍을 위한 개발 환경을 알아 보고 있다. 무엇이 좋을까? 우선 전제 조건이 있다.
우선 닷넷은 제외한다. 닷넷으로 개발하느니 차라리 Java + SWT 조합을 하는 게 더 낫다고 생각한다. 그렇다면 후보는 다음과 같다.
편하게 가자면 Java + SWT가 제일 낫겠고, Perl + wxPerl도 나쁘진 않을 것 같다.
사실 제일 끌리는 것은 Ocaml + wxOcaml 또는 Common LISP + wxCL 이지만 이건 라이브러리의 상태가 별로 좋지 않은 상황에서 그 언어에 대한 내공이 약한 나로선 어려울 듯 하다.
D나 Smalltalk는 상황은 좋은 듯 싶은데 언어 자체로는 Ocaml이나 Common LISP 보다 매력이 덜하다. :)
고로 뭘로 할지 아직도 정하지 못하고 있다. 어쩌면 영영 생각만 하다 끝날지도 모른다. :)
갑자기 데스크탑 GUI 프로그램을 만들고 싶어졌다. 그래서 GUI 프로그래밍을 위한 개발 환경을 알아 보고 있다. 무엇이 좋을까? 우선 전제 조건이 있다.
- C++는 쓰지 않는다. 나는 이상하게 C++만은 쓰질 못하겠다. 그 너저분한 언어 구조가 너무 마음에 들지 않는다.
- 윈도우즈가 주 플랫폼이지만 멀티 플랫폼이면 더 좋겠다.
- 위젯은 가볍고 빠르며 네이티브 위젯이었으면 좋겠다. Swing 같은 건 곤란하다.
- 배포에 문제가 없는 즉 네이티브 바이너리로 결과를 만들 수 있으면 좋겠다.
- 무엇보다 쓰기에 편해야겠다 ㅡ.ㅡ;
우선 닷넷은 제외한다. 닷넷으로 개발하느니 차라리 Java + SWT 조합을 하는 게 더 낫다고 생각한다. 그렇다면 후보는 다음과 같다.
- Java + SWT: 가장 익숙한 조합이긴 한데 좀 지루한 감이 있다. 더구나 네이티브 바이너리를 생성하기 고약하다.
- D: C와 비슷하며 바이너리를 만들 수 있다는 장점이 있다. 문법은 C++ 보다 훨씬 간결하고 현대적이다. 안정적인 GUI 라이브러리가 있는지 모르겠고, C와 비슷하게 상당히 저수준의 프로그래밍을 해야 하는 게 아닌지 하는 의구심이 있다.
- Perl + wxPerl: wxPerl이 지원이 좀 부족한 듯 하다. 배포에 문제가 있는데 PAR를 쓰면 해결할 수 있다고 하는데 글쎄?
- Python + wxPython: 꽤 안정적이고 좋다고 하는데 난 Python이 싫다.
- Ruby + wxRuby: 마찬가지로 난 Ruby 언어를 별로 좋아하지 않는다.
- Ocaml + wxOcaml: Ocaml은 아주 매력적인 언어인데 wxOcaml의 상태가 별로 좋지 않은 듯하다. 2004년 10월이 마지막 업데이트면 좀 곤란하다.
- Common LISP + wxCL: Ocaml과 마찬가지로 상당히 끌리는데 이것도 wxCL의 상태가 별로 좋지 않다. 2006년 5월이 마지막 업데이트. 더욱이 윈도우즈 환경에서 적당한 Free Common Lisp 구현체가 없다.
- Smalltalk - Dolphin Smalltalk or wxSqueak: Dolphin Smalltalk의 앞날이 어찌될지 우려스러웠는데 계속 개발이 될 것 같다. GUI 프로그램 만드는 데 상당히 좋은 거 같은데 Dolphin Smalltalk는 윈도우즈만 되고, wxSqueak은 아직 안정적이지 않은 거 같다. 뭐 그래도 wxOcaml이나 wxCL보다는 낫다.
- C: C++은 싫지만 C는 괜찮다. 그런데 쓰기 편한 라이브러리를 모르겠다. winapi 또는 gtk는 곤란하다.
편하게 가자면 Java + SWT가 제일 낫겠고, Perl + wxPerl도 나쁘진 않을 것 같다.
사실 제일 끌리는 것은 Ocaml + wxOcaml 또는 Common LISP + wxCL 이지만 이건 라이브러리의 상태가 별로 좋지 않은 상황에서 그 언어에 대한 내공이 약한 나로선 어려울 듯 하다.
D나 Smalltalk는 상황은 좋은 듯 싶은데 언어 자체로는 Ocaml이나 Common LISP 보다 매력이 덜하다. :)
고로 뭘로 할지 아직도 정하지 못하고 있다. 어쩌면 영영 생각만 하다 끝날지도 모른다. :)
# by | 2009/01/08 14:58 | 트랙백 | 덧글(12)
2008년 01월 31일
Smalltalk 공부 중.
어쩌다 Smalltalk에 관심이 생겨 요즘 Smalltalk를 공부하고 있다.
처음에는 Squeak를 써봤다. 하지만 인터페이스 출력이 조금 조잡하게 보이고, 편집하는 것이 불편했다. 인터페이스 기능은 꽤 재미있고 괜찮았는데 폰트만이라도 쉽게 바꿀 수 있으면 좀 나았으련만 그점이 아쉬웠다. 다른 걸 찾아보다가 Dolphin Samlltalk로 옮겼다. 상용 프로그램이지만 Community Edition으로 무료로 사용할 수 있는 버전도 제공하고 있었다. Squeak와 달리 윈도우즈에 맞춰 인터페이스가 깔끔해서 좋았다. 다만 윈도우즈 버전만 있어서 Linux에서 돌아가는 프로그램을 작성하려면 또 다른 방법을 찾아야 될 듯 싶다.
Dolphin Smalltalk에 있는 도움말의 Tutorial을 보고 대충 문법은 공부할 수 있었다. 문법이 단순해서 그리 어렵지는 않았다. 지금은 Freebook으로 공개되어 있는 Smalltalk by Example을 보고 있다. 핵심 문법은 간단하게 하면서 대부분의 기능을 클래스 라이브러리로 구현하는 것이 Smalltalk의 방식인 거 같다. 라이브러리로 제공되는 기본 기능 - 문자열, 컬렉션, 에러 처리, IO, 디버깅, 패키지 관리 등 - 은 좀더 공부해 봐야 알 것 같다.
Smalltalk에서는 모든 것이 객체이다라는 말은 이전부터 듣고 있었지만 그걸 실제로 보니 재미있다. 클래스 정의, 객체 생성 심지어 제어문까지도 모두 객체를 통해 구현한 것이 참 놀라웠다.
기본 기능을 공부한 후, GUI 프로그래밍과 seaside 프레임웍을 한번 공부해 볼까 한다. 아마도 재미있는 공부가 되리라 기대한다.
OOP의 원조를 접하며 더 넓은 세상을 본 느낌이다.
처음에는 Squeak를 써봤다. 하지만 인터페이스 출력이 조금 조잡하게 보이고, 편집하는 것이 불편했다. 인터페이스 기능은 꽤 재미있고 괜찮았는데 폰트만이라도 쉽게 바꿀 수 있으면 좀 나았으련만 그점이 아쉬웠다. 다른 걸 찾아보다가 Dolphin Samlltalk로 옮겼다. 상용 프로그램이지만 Community Edition으로 무료로 사용할 수 있는 버전도 제공하고 있었다. Squeak와 달리 윈도우즈에 맞춰 인터페이스가 깔끔해서 좋았다. 다만 윈도우즈 버전만 있어서 Linux에서 돌아가는 프로그램을 작성하려면 또 다른 방법을 찾아야 될 듯 싶다.
Dolphin Smalltalk에 있는 도움말의 Tutorial을 보고 대충 문법은 공부할 수 있었다. 문법이 단순해서 그리 어렵지는 않았다. 지금은 Freebook으로 공개되어 있는 Smalltalk by Example을 보고 있다. 핵심 문법은 간단하게 하면서 대부분의 기능을 클래스 라이브러리로 구현하는 것이 Smalltalk의 방식인 거 같다. 라이브러리로 제공되는 기본 기능 - 문자열, 컬렉션, 에러 처리, IO, 디버깅, 패키지 관리 등 - 은 좀더 공부해 봐야 알 것 같다.
Smalltalk에서는 모든 것이 객체이다라는 말은 이전부터 듣고 있었지만 그걸 실제로 보니 재미있다. 클래스 정의, 객체 생성 심지어 제어문까지도 모두 객체를 통해 구현한 것이 참 놀라웠다.
기본 기능을 공부한 후, GUI 프로그래밍과 seaside 프레임웍을 한번 공부해 볼까 한다. 아마도 재미있는 공부가 되리라 기대한다.
OOP의 원조를 접하며 더 넓은 세상을 본 느낌이다.
# by | 2008/01/31 11:31 | 트랙백(1) | 덧글(0)
◀ 이전 페이지다음 페이지 ▶



















