Lisp의 깊은 바다를 헤매이다가 Lisp의 객체 지향(Object-Oriented)에 대하여 이번에 알게 되었습니다.
나름 객체지향에 대한 일정 수준의 이해가 있다고 생각했던 저에게 Lisp의 객체지향은 그야말로 하나의 충격이었습니다.

Lisp은 우아하게 그리고 너무도 자연스럽게 객체 지향을 매우 깊이 있게 지원하고 있었습니다.

이 괄호로 둘러싸여 이상하게 보이는 언어는 AOP(Aspect Oriented Programming)를 이미 포용하고 있었으며 독특하면서도 특별한 객체 지향의 모습을 멋지게 보여주었습니다.

너무도 멋진 이 Lisp의 객체 지향 관련된 기능은 Common Lisp에서는 CLOS(Common Lisp Object System)이라고 부릅니다.
여러분중에 객체에 대하여 난 좀 알고 있다고 생각하시는 분들이라면 아래의 동영상을 한번 깊이있게 들어보시기 바랍니다.

아래 동용상은 "Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)" 에서 지난 주(2010년 1월 9일)에 진행한 2010년 첫 스터디에서 김영태님이 발표한 내용입니다. 현재 "Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)" 에서는 Practical Common Lisp(http://www.gigamonkeys.com/book/) 이란 책을 가지고 Lisp을 공부중에 있습니다. 그 중 16장과 17장에 관한 내용입니다.

여러분이 생각하는 것보다 더욱 멋지고 우아하고 강력하게.. 그래서 폴(Paul Graham)아저씨가 말했듯이 Lisp은 모든 프로그래밍 언어 중에 언어라는 것을 알려줍니다.


자~ 새로운 객체 지향 Lisp의 세계로 여러분을 초대합니다.

1부


2부



참고로 유투브에서도 확인하실 수 있습니다. 주소는 http://www.youtube.com/watch?v=Sdq9NN98s3A&feature=player_embedded 입니다.

다른 어떤 언어보다도 Lisp을 공부하고 있는 제가 좋습니다. 이렇게 말하면 Lispy한 것일까요~ ㅎㅎㅎ

"Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)"에서는 매주 토요일 Lisp 오프라인 스터디를 진행하고 있습니다.
관심있는 분들의 많은 참여 부탁드립니다. 저희 그룹은 Lisp을 공부하지만 Lispy하지 않아요~ :-)

저작자 표시 비영리
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글이 없습니다.
secret

http://blog.liverpoolmuseums.org.uk/AuthorView,author,stepheng.aspx


어제(2009년 9월 22일) 오후 7시 30분 토즈 강남점에서 드디어 첫 오프라인 Lisp 스터디 모임을 시작하였습니다.

마치 작은 배가 첫 출항을 하듯이 조심스럽게 준비해온 이번 첫 오프라인 스터디 모임에 제 생각보다 많은 분들이 참여해주셨습니다.
토즈에 예약을 잡을때는 7인실로 예약을 했었습니다. 최소 5명정도는 오실 것 같아서 나름 여유있게 예약을 했었습니다. 제가 처음 도착한 후 얼마 있다가 별파란(박성민)님이 오셨습니다.

별파란은 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)의 운영자로도 활동하고 계셔서 서로 오늘 몇분이나 오실지 궁금해하면서 기다리고 있었습니다. 그렇게 7시 30분이 지난 후 김영태님이 오시고, 조금 있다가 이은지님과 권순범님이 오시고 조성식님과 민정상님이 오셨습니다. 어느새 7인실이 꽉 차있는데 엄익훈님과 이원찬님이 오셨습니다.

제가 예상했던것 보다 정말 많은 분들이 참여해주셨습니다. :-)

사실 이 오프라인 스터디는 아주 오랜 사연을 가진 스터디 모임입니다. 멀리 충남에서 오신 이은지님이 예전에 제 블로그를 보고 저에게 Lisp에 대한 공부를 하고 싶다는 메일을 보내신적이 있습니다. 이은지 님의 경우 프로그래밍에 대한 경험이 없으시기 때문에 많은 걱정을 하시고 계셨습니다.

사실 그때 저 역시 Lisp에 대하여 관심을 가지고 이런 저런 자료를 모으고 보고 있을 때 였습니다.

아시다시피 우리나라에는 Lisp에 대한 자료가 많지 않습니다. 그래서 이은지님과 같이 Lisp에 관심을 가지고 계시지만, 너무도 관련 자료가 없기 때문에 시작하지 못하시는 분들이 많습니다. 저 역시도 그러한 부분들을 많이 느끼고 있었던 차라 많은 동감을 하고 있었습니다.

그래서 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼) 을 구글 그룹스에 만들고, Lisp을 좋아하시는 분들과 함께 스터디를 할 수 있도록 여러차례 회원님들과 의견을 나누고 있었습니다. 올 초에도 오프라인 스터디를 하려고 시도하다가 어제 드디어 첫 오프라인 스터디 모임을 시작하게 된 것입니다.

이러한 사연을 가지고 있는 오프라인 스터디 모임이기에 저는 이 스터디 모임이 매우 소중한 스터디 모임이라고 생각합니다.

특히 어제 오신분들은 프로그래밍이나 IT에 직접적인 관련이 없으신분들이 많습니다. 다른 프로그래밍 언어의 경우 IT 분야에 종사하시는 분들이 많지만, 어제 오신분들의 경우 인지공학이나 어학 및 작곡등을 하시는 분들이 오셨습니다.

Lisp이 많은 분야에서 다양하게 적용되고 있고, 많은 분들이 충분히 관심을 가질만한 언어라는 점이 모이신 분들만 보셔도 알 수 있을 것이라고 생각됩니다. 저 역시 Lisp에 이러한 다양한 매력이 좋습니다. 각자 Lisp에 어떻게 관심을 가지게 되었는가에 대한 이야기를 들어보면 이러한 사실을 확인하실 수 있습니다.

본격적인 스터디에 앞서 Lisp 스터디를 잘 하기 위한 여러가지 것들에 대하여 이야기를 나누었습니다. 역시 어떤 책을 중심으로 스터디를 하겠는가에 대한 이야기를 많이 나누었습니다.

이미 Lisp에 대하여 많이 아시는 분들도 계셔서 좋은 조언을 통하여 Common Lisp이란 책을 선정하였습니다. 이 책을 선정한 배경에는 처음 Lisp을 접하시는 분들도 계시며, 처음부터 Lisp의 기초를 빠르게 다함께 살펴보기에 매우 좋은 책이기 때문입니다. 사실 저는 아직 이 책을 보지 못하였지만, 온라인 상에 PDF가 공개되어 회원님들과 함께 살펴보면서 처음 Lisp을 접하시는 분들에게 참 좋은 책이라는 생각하게 되었습니다.

이 책을 통하여 저 역시 Lisp의 기초를 다져보려고 합니다. 사실 저도 아직 Lisp에 관하여 많이 안다고 할 수 없기에, 이 책이 저와 회원님들에게 Lisp에 대한 기초를 튼튼히 다져줄 것이라고 생각합니다. :-)

스터디 방식은 챕터를 맡아서 챕터에 대한 설명을 드리는 방식으로 정했습니다. 각자 챕터를 읽어오는 것을 기본으로 하되 각 챕터를 맡으신 분이 핵심적인 부분을 설명하고, 자연스럽게 Q&A를 하여 궁금한 점들을 서로 풀어가면, Lisp에 이해를 충분히 높일 것 이라고 생각합니다.

스터디 일정을 다음과 같이 하기로 하였습니다.
 일정  Chapter  맡으신 분
 09월 26일 오전 10시 1, 2, 3  조성식 님
 10월 10일 오전 10시  4, 5  장선진 님
 10월 17일 오전 10시  6, 7
 김영태 님
 10월 24일 오전 10시  8, 9  박성민 님
 10월 31일 오전 10시  10, 11
 민정상 님(10장), 이봉근 님(11장)
 11월 7일 오전 10시  12, 13
 이원찬 님
 11월 14일 오전 10시
 14  엄익훈 님

모임은 토즈 강남점에서 하기로 하였습니다. 그리고 이은지 님이 총무님을 맡아주시기로 하였습니다.

이번 주 토요일 10시부터 본격적인 스터디에 들어갑니다. 재미있고 유익한 오프라인 스터디가 될 수 있도록 노력하겠습니다. ;-)
저작자 표시 비영리
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글이 없습니다.
secret
안녕하세요~ 장선진 입니다. :-)

드디어 Lisp 오프라인 스터디를 위한 의겸 수렴 내역을 공개하겠습니다. 지난 1주일간 http://spreadsheets.google.com/viewform?formkey=dDVDSFg4WkJOcU5UQzFSZnFXN1lSeEE6MA 에서 Lisp 관련 오프라인 스터디를 의한 의견 수렴을 하였습니다.

이번 의견 수렴에는 현재까지 총 14분이 본 의견 수렴에 참여해주셨습니다.

그리고 10분이나 Lisp 오프라인 스터디에 참여해주신다고 의견을 주셨습니다. 올레~ ;-) 매우 경이적입니다. 아마 첫 의견 수렴 결과를 기억하시는 분들께서는 본 결과가 매우 의미있다는 것을 익히 알고 계실 것입니다.

왜냐하면 Lisp 오프라인 스터디를 위한 1차 의견 수렴때에는 적극적으로 오프라인 스터디에 참여하신다는 의견아 3분이 채 안되었기 때문입니다. 그것도 2달에 1번 참여 등의 의견이 주를 이루었습니다.

하지만 이번 의견 수렴 결과에서는 적극적으로 1주일에 1회 참여하신다고 설문에 응답해주신 분들이 12분이나 되었습니다.
따라서 이제 본격적으로 오프라인 스터디를 추진하고자 합니다. 의견 수렴의 결과는 다음과 같습니다.



간소한 차이로 화요일 저녁에 모임을 가지는 것을 선호하셨습니다. 또한 장소는 강남역 근처가 가장 우세했습니다. 역시 지리상으로는 강남역 근처가 대세군요 :-)

이에따라 다음 주 화요일(2009년 9월 22일) 저녁 7시 30분에 강남역 근처에 토즈 강남점에서 첫 오프라인 스터디를 진행하고자 합니다.
직장인들을 고려하여 7시 30분으로 잡았습니다. 우선 토즈에서 간단히 모여서 오프라인 스터디에 대한 본격적인 의견을 나누고 간단한 뒷풀이를 진행하고자 합니다. 토즈 사용비와 간단한 뒷풀이 비용으로 1만원씩의 회비를 걷을 예정입니다. 토즈 강남점을 잘 모르시는 분은 아래 약도를 참고하시구요~ 토즈 강남점에 도착하시면 010-4585-1770으로 연락주세요 :-)



자~ 이제 본격적인 Lisp 오프라인 스터디가 시작됩니다. Lisp에 관심 있으신 분은 망설이지 마시고 다음 주 화요일에 토즈로 오세요~ 함께 Lisp을 즐겨 보아요 ;-)
아직 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)에 가입하지 않으신 분들은 http://groups.google.com/group/lisp-korea에 가셔서 가입해주시기 바랍니다. 그리고 참석 여부를 알려주세요~ 토즈 예약시 참고하려고 합니다.
저작자 표시 비영리
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글이 없습니다.
secret
안녕하세요~ 오랫동안 기다려왔던 Lisp 오프라인 스터디를 시작하려고 합니다.

우선 Lisp 오프라인 스터디를 위한 의견 수렴을 하고 있습니다. 아래 링크로 가셔서 Lisp 오프라인 스터디를 위한 의견을 남겨주세요~

http://spreadsheets.google.com/embeddedform?key=t5CHX8ZBNqNTC1RfqW7YRxA

대략 이번주까지 많은 분들의 의견을 종합하여 본격적으로 Lisp 오프라인 스터디를 진행하겠습니다. 다음 주 초정도에 의견 수렴 결과를 알려드리겠습니다.

Lisp에 관심은 있으셨으나, 공부할 기회를 찾지 못하셨던 분들은~ 지금 바로 위의 링크를 꾸욱 누르셔서 좋은 의견을 남겨주세요~
많은 분들이 좋은 의견을 남겨주셔서 이번에는 본격적으로 오프라인 스터디를 꼭 진행하려고 합니다. :-)

그리고 Lisp에 관심은 가지고 계시지만, 아직 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)에 가입하시지 않은 분이라면 http://groups.google.com/group/lisp-korea/ 에 가입하셔서 Lisp 관련된 좋은 정보와 의견을 나누시기 바랍니다.


Lisp Off-line Study~ Comming Soon~ ;-)


http://en.wikibooks.org/wiki/Common_Lisp/Cover


저작자 표시 비영리
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글이 없습니다.
secret
최근 제가 Lisp에 많은 관심을 기울이고 있습니다.
그래서 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼) 을 통하여 Lisp에 관한 좋은 생각들을 함께 나누고 있습니다.

최근 많은 분들이 Lisp에 관심을 가지고 계시지만, 제대로된 참고자료 하나 찾기가 어려운 실정입니다. 저 역시 매번 맨땅에 헤딩하고 있습니다.
사실 이래서는 Lisp을 접하기도 힘듭니다. 그래서 그저 Lisp은 항상 어렵기만 한 언어라는 오해를 받을 것 같습니다.

하나의 언어를 배운다는 것은 많은 사고의 전환이 필요한 것이 사실이지만, 기본적인 자료 찾는데 너무 시간을 많이 소비할 필요는 없을 것 같습니다.
그래서 Lisp에 관련된 자료를 체계적으로 정리하고자 http://lisp-korea.wikispaces.com/ 이란 위키를 개설하였습니다.

자료를 체계적으로 모을 수 있는 여러가지 방법을 고심하던 중 누구나 쉽게 정보를 접할 수 있고, 쉽게 작성 및 편집할 수 있는 위키(Wiki)가 적당하다는 생각을 하게 되었고, 많은 서비스를 검토하다가 결국 http://www.wikispaces.com/을 선택하였습니다.

외국의 Wiki이기는 하지만 여러가지 편의 기능도 많이 제공하고, 2G까지는 무료로 사용할 수 있으며, 편집권을 누구에게나 제한없이 줄 수 있다는 장점이 있었습니다.

즉 저희 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼) 의 회원님이 아니시더라도, Lisp에 관심있는 분이라면, 누구나 쉽게 정보를 확인하고 추가하거나 수정할 수 있다는 것이 가장 큰 장점입니다.

Lisp에 관한 정보를 나누는데 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼) 회원님만 되고 다른 분들은 안된다면, 이것은 점 아닌듯합니다. 누구에게나 열린 Lisp처럼 누구에게나 열린 Lisp 관련 자료를 만들어 가겠습니다.

앞으로 Lisp에 대하여 관심있는 분들은 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)의 Wiki 사이트(http://lisp-korea.wikispaces.com/)에 오셔서 좋은 자료들 함께 나누셨으면 좋겠습니다.

감사합니다. :-)
저작자 표시
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글 하나 달렸습니다.
  1. 우와! 위키가 생겼군요. 바로 가입했습니다. 흑... 저기는 RSS 피드를 제공 안 하는군요. (못 찾은건가..)
secret
Lisp에 대한 체계적인 정리를 통하여 어렵게만 느껴지는 Lisp을 쉽게 익힐 수 있도록 "Lisp의 역사"부터 정리하고자 합니다.

Lisp의 역사에 빠질 수 없는 인물이 바로 존 매카시(John McCarthy) 박사님입니다. 이분이 어떤 분인지 간략하게 살펴보는 시간을 가지는 것이 Lisp이란 언어를 배우는 첫 단계인것 같습니다. Wikipedia의 내용을 중심으로 간략하게 정리하겠습니다.

출처: http://www-formal.stanford.edu/jmc/frames.html


존 매카시(John McCarthy)는 1927년 9월 4일 보스톤에서 태어났으며, 튜링 상을 수상한 미국의 컴퓨터 과학자이자 인지 과학자(cognitive scientist)입니다.

그는 수학에 재능을 보였으며, 십대때 캘리포니아 공과대학에서 사용하는 교과서를 바탕으로 수학을 공부하였습니다. 결과적으로 캘리포니아 공과대학 재학중 2년을 단축하여, 1948년 수학과에서 학사를 수여 받고, 프린스턴 대학에서 박사학위를 수여 받았습니다. 그후 스탠포드 대학과 다트머트 대학 및 MIT에서 재임하다가 1962년 스탠포드 대학에서 전임교수로 재직하게 되었습니다.

매카시는 인공지능(AI)분야에서 일하여 왔는데, 1958년에는 MIT에 재직하고 있었으며 advice taker를 제안하여, 질문과 답변 및 로직 프로그래밍에 관한 관심을 불러일으켰습니다. 이 당시 존 매카시는 Lisp을 처음 창안하였으며, 이에 따라 Lisp은 Fortran 이후에 가장 역사가 길고 널리 사용되는 언어가 되었습니다.

그 후 1960년에 CACM(Communications of the ACM)에 기고한 "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I"을 발표하면서 간단한 연산과 함수를 위한 표기법을 바탕으로 알고리즘을 위한 Turing-complete한 언어를 만들 수 있다는 것을 확인시켜주었습니다.(참고로 Part2는 발표되지 않았습니다.)

Lisp을 창안할 당시 존 매카시는 AI에 많은 관심을 기울이고 있었습니다. 따라서 Lisp은 이 논문을 발표하고 난뒤 AI 어플리케이션을 구축하는데 가장 많이 선택되는 프로그래밍 언어가 되었습니다.


Lisp은 람다계산법(Lambda Calculus)을 기반으로 하고 있습니다.

참고로 람다 계산법은 λ-계산법이라고도 표기하며, 함수의 정의, 함수의 응용, 재귀를 위한 Formal System입니다.
일반적으로 Formal System이라함은 토큰, 디지털, 유한 범위를 다루는 시스템을 이야기합니다. 토큰은 특정한 가치를 대변해 주는 것을 의미하며, 디지털은 원래의 것은 완벽하게 재연할 수 있다는 의미이며, 유한 범위는 시스템이 처리할 수 있는 한계라는 것입니다. 즉 어떤 시스템이 처리하기 위한 용량이 무한대라고 하면, 결국 처리할 수 없게 될 것이기 때문에 특정한 한계를 가지는 것이며, 이 한계는 토큰에도 적용됩니다.

람다 계산법은 함수적인 프로그래밍이라고 불리우는 컴퓨터 프로그래밍의 기본적인 패러다임을 형성하였으며, 연산하거나 재귀하는 이론의 문제점을 해결하는데 유용한 도구를 제공해 주었습니다. 람다 계산법은, 첫번째 클래스 엔티티(first-class entities)라는 함수에 인자(arguments)를 전달하면 결과가 반환되는 것입니다. 람다 계산법은 이상적이고, 최소화된 프로그래밍 언어의 사상을 구성할 수 있습니다. 어떠한 알고리즘이라도 표현할 수 있도록 하며, 가장 중요한 것은 함수적인 프로그래밍 모델을 만들어 주었다는 점입니다.

함수적인 프로그래밍은 상태와 데이터를 입력하고 출력할 수 있는 독점적인 함수들을 다루며, 상태적인 부작용을 만들어내지 않으며, 입력 데이터를 변경하지 않습니다. 최신 함수 언어는 람다 계산법에 기반으로 구축되어 있으며 Erlang, Haskell, Lisp, ML, Scheme을 포함하여, 초기 언어로는 Clojure, F#, Nemerle, Scala와 같은 것들이 있습니다.

람다 계산법은 계속 수학적인 기반을 제공하여주고 있습니다.


람다 계산법을 기반으로한 함수기반의 프로그래밍 방식을 선보인 Lisp은 선구적 많은 아이디어를 제공하였습니다. 트리 데이터 구조(tree data structures), 자동 저장공간 관리(automatic storage management), 동적 타이핑(dynamic typing), 객체지향 프로그래밍(object-oriented programming), 자체적인 컴파일러(self-hosting compiler) 등이 그러한 예이입니다.

사실 전 세계에서 2번째로 역사가 긴 언어가 이러한 아이디어들을 기반으로 구성되어 있다는 자체가 놀라운 일입니다. 객체지향 프로그래밍이 널리 퍼지기 시작한 것은 사실 그리 오래되지 않았기 때문입니다. 특히 동적 타이핑의 경우 최근에야 많은 언어에서 도입되었습니다.


이렇게 혁신적인 프로그래밍 언어의 이름이 Lisp이 된 이유는 "LISt Processing"을 의미하기 때문입니다. 즉 Lisp 언어의 가장 중요한 데이터 구조가 Linked lists이기 때문입니다. 또한 Lisp의 소스 코드 자체가 List 자체를 만들어가기 때문입니다.


존 매카시가 처음 Lisp을 창안한 후로 Lisp은 참으로 많은 방언을 만들어 내고 있으며, 참으로 많은 언어에 영향을 주었습니다. 참고로 Lisp은 다른 프로그래밍 언어와 달리 수 많은 방언이 존재합니다. 누구나 우리가 사용하는 언어와 마찬가지로 Lisp의 방언이나 사투리를 만들어 낼 수 있습니다. Lisp의 수 많은 방언과 역사를 확인하고 싶다면, http://www.softwarepreservation.org/projects/LISP/index.html 를 확인하시기 바랍니다. 엄청난 Lisp의 역사를 확인하실 수 있습니다.

존 매카시와 Lisp의 관계는 무한 리스트처럼 계속 연결되어 오고 있습니다. 그리고 우리에게도 연결되고 있습니다.


다음에는 존 매카시가 직접 작성한 History of Lisp(http://www-formal.stanford.edu/jmc/history/lisp/lisp.html)이란 글을 통하여 Lisp의 역사를 살펴보고자 합니다. 감사합니다. ;-)
저작자 표시
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글  3개가 달렸습니다.
  1. 최근에 이런저런 경로로 Lisp과 맥카시 교수에게 관심이 생겨서 검색으로 찾아 왔습니다. 유익한 글들, 잘 읽고 갑니다 :)
    • 안녕하세요~ 사포러스님 :-)
      Lisp에 관심이 많으신것 같아서 좋습니다. 최근 Lisp 관련 오프라인 스터디 모임도 진행중입니다. 혹시 관심있으시면 http://groups.google.com/group/lisp-korea 에 오셔서 함께 스터디하시면 좋을 것 같습니다.
      댓글~ 감사합니당~ ;-)
  2. 마음은 있는데, 제가 서울에 살지 않아서 참가는 어려울 것 같습니다. 앞으로 자주 들를게요.
secret
얼마전에 Lisp에 관심있는 분들을 위하여 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)을 만들었습니다. 어느새 저를 포함하여 4분이 모였습니다.
아직 이렇다할 활동은 없지만, 그저 Lisp에 관한 자료를 교환하는 그 자체가 좋습니다.

그룹 회원 분중에 싸이먼이란 분이 UC 버클리의 좋은 강의를 소개하여 주셨습니다.

많은 분들이 좋은 책이라고 주저없이 추천하는 "컴퓨터 프로그래밍이 구조와 해석(Structure and Interpretation of Computer Programs 2/E)"이란 책을 바탕으로 강의하는 내용입니다. 이 책은 SICP라고도 불리는데, MIT 대학의 교재로 사용되고 있습니다. 하지만 UC 버클리에서도 이 책을 바탕으로 강의하는군요~



Lisp이 새롭게 보입니다. :-)

강의는 http://webcast.berkeley.edu/course_details_new.php?seriesid=2008-D-26263&semesterid=2008-D 에서 보실 수 있습니다. 영어로 진행되지만 UC 버클리의 강좌이니만큼 열심히 들을 가치가 충분하다고 생각됩니다.

좋은 강의가 많은 도움이 되었으면 좋겠습니다.
그리고~ 좋은 강좌를 알려주신 싸이먼님 감사드립니다 :-)
저작자 표시
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

트랙백이 하나이고 , 댓글  6개가 달렸습니다.
  1. 으. 저를 포함한 많은 사람들을 자신의 지능을 의심토록 만든 공포의 그 책이로군요.
    저도 최근 F#때문에 이 책을 자꾸 들추게 됩니다.
    공부하다가 딴거에 빠져서 2장중간까진가 밖에 못봤지만요-_-;;;
    여기에 example들이 참 난해한데요, 구글에서 검색해도 솔루션에 대한 논의가 많더군요.
    2.62까지 밖에 없긴 하지만, 제 블로그에 제가 풀었던 솔루션을 올려놨었습니다.
    혹시라도 필요하신 분들은 들려서 보시고 의견주시기 바랍니다.
    다시 공부해야지 해야지만 되풀이하고 있네요~^^;;;

    ps.
    아 기억을 떠올려보니, 좋은 솔루션 사이트가 있었습니다.
    일본사이트라 좀 느리긴 한데요, 솔루션이 생각보다 많더군요.
    http://oss.timedia.co.jp/show/SICP/Answer%20Book

    그리고 저자들의 강의가 녹화된 비디오가 있는데요,
    http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
    여기서 보실 수 있습니다.
  2. 매번 블로그 글 눈팅만 하다가 이번에 Lisp을 배워보는 것도 좋은 기회일 것 같아서
    Group에 가입하고 이렇게 뎃글 남깁니다.

    우선 좋은 책부터 구입해야겠네요. 그럼 나중에 뵙겠습니다.
    감사합니다.
  3. common lisp을 조금 읽어봤는데...
    전 아직은 무리인것 같더군요 OTL
  4. 좋은 강좌 알려주셔서 감사합니다. ^^
  5. 손병룡 2009.11.30 15:52
    이용약관위배로 관리자 삭제된 댓글입니다.
secret
최근 Lisp에 많은 관심을 가지고 있습니다. 그리고 Lisp을 좋아하는 사람들의 그룹(한국 리스퍼)란 그룹을 만들어서 활동중에 있습니다.

현재 Lisp 관련된 많은 자료를 하나의 페이지에 정리하고 있습니다.
정리를 위하여 Lisp에 관련된 자료들(책, 동영상 등) 이란 페이지를 만들었습니다.

Lisp에 관련된 정리된 자료를 찾으시는 분들에게 조금이나마 도움이 되었으면 좋겠습니다. 아울러 좋은 자료가 있으면 알려주시면 바로 바로 추가하겠습니다.

Lisp이 제 마음을 울리네요~ 아흥~ 언릉 배우고 싶어~ :-)
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글이 없습니다.
secret
생각보다 많은 분들이 제가 예전에 쓴 "Lisp에 대한 간략한 소개와 LispWorks 설치"란 글을 읽고 계신것 같습니다.
오늘 Lisp에 관심이 많은 어떤 분에게 메일을 받았습니다. Lisp을 같이 배우고 싶은데, 도움이 안될까봐 걱정하시는 메일이었습니다.

이 메일을 읽으면서 제가 Lisp을 왜 시작하려는지 우선 말씀드리는 것이 좋을것 같다는 생각을 했습니다.

아시다시피 저는 한국 사람입니다. 그래서 한국어를 제일 잘합니다. 마찬가지로 저는 Java라는 언어를 제일 많이 다루며 제가 알고 있는 여러가지 언어중 Java라는 언어를 제일 잘 알고 있습니다.

간혹 일본이나 중국으로 여행을 가듯이, 저 역시 C나 C++ 및 .NET을 다루기도 합니다. 하지만 제가 일본어나 중국어를 잘하지는 못합니다. 마찬가지로 C나 C++ 및 .NET을 잘하지는 못합니다. 그저 "따자허~, 라이 라이~", "오댕끼 데스까~" 정도 말하는 수준이죠~

뭐~ 부끄럽거나 제가 부족하다고 생각하지는 않습니다. 제가 하는 일이 C나 C++를 주로 다루어야 한다면, 뭐 처음에 해매겠지만, 충분히 깊이있게 배울 수 있을거라고 생각합니다.

사실 제가 제일 관심있는 언어는 이탈리아어입니다. 어.. 왠 쌩뚱맞게 이탈리어아야? 라고 생각하시는 분들고 계실텐데요~ 사실 영미권의 언어의 근원은 아시다시피 라틴어이며, 그 영향을 가장 크게 받은 언어가 이탈리아어라고 생각했기 때문입니다. 그럼 라틴어를 배우지 그래요? 라고 물으신다면, 나중에 이탈리아 여행을 하고 싶어서 라고 대답하겠습니다. 그리고 이탈리아에 가본 경험이 있기 때문입니다.

그저 저는 이탈리아어가 좋습니다. "콴타 코스타~(얼마에요~)" 정도 밖에 모르지만, 그냥 좋습니다. 마치 일본 아주머니들이 배용준씨가 좋아서 한국어를 배우는 것과 같다고 보시면 됩니다.

마찬가지로 프로그래밍 언어중에 최근에 그냥 Lisp이 좋습니다. 사실 제가 Lisp을 지금 배운다고 해도 어디 마땅히 쓸 곳은 없습니다. 마치 이탈리아어를 배워도 한국에서는 거의 쓸일이 없을 것이며, 나중에 나중에 이탈리아에 여행갈때나 쓰게 되는 것과 비슷합니다.

하지만, 나름대로 재미를 느낄 수 있습니다. 제가 좋아하는 것을 배우기 때문이죠~ 새로운 언어를 배우는 즐거움과 이 언어에서 파생된 내용들을 익혀가는 것은 의미있는 일입니다. 마치 라틴어가 근원인 단어들이 영어에 많은데, 그 의미를 자연스럽게 이해하게 되는 것처럼요~

저는 이것으로 만족합니다. 그리고 나중에 꼭 한번 이탈리아에 여행을 가서 베네치아에서 배도 타고, 나폴리 피자도 먹고 싶으며, 피사의 사탑도 보고 싶습니다. 이탈리아 명품 구경도 하면서요 :-D


이렇게 자기가 좋아하는 새로운 언어를 배우는데, 굳이 부족하다고 생각하실 필요는 없다고 생각합니다. 그저 즐기고 싶은 마음만 충분히 가지고 계시면 좋을 것 같습니다.

저는 이렇게 Lisp을 시작하시려는 분들을 위하여 메일링 그룹을 하나 만들었습니다.  저역시 Lisp에 관해서는 정말 초보입니다.
저 역시 아직 어떻게 Lisp을 공부하고 배워야 할지 아무것도 모릅니다. 하지만, 그저 Lisp을 좋아하기에 Lisp을 좋아하시는 분들과 함께 정보를 공유하고 의견을 나누면서 차근차근 하나씩 배우고 싶습니다.

Lisp을 좋아하신다면, 그리고 Lisp에 관심이 있으시다면 지금 "Lisp을 좋아하는 사람들의 그룹(http://groups.google.com/group/lisp-korea/)"에 가입하세요~ 묻지도 따지지도 않고 바로 가입됩니다. ;-)

http://www.lisperati.com/logo.html

http://www.lisperati.com/logo.html



"Lisp을 좋아하는 사람들의 그룹(http://groups.google.com/group/lisp-korea/)"은 구글 그룹스(Google Groups)을 이용한 공개된 그룹이며 이메일을 중심으로 정보를 교환할 수 있습니다. 아울러 제가 개설은 했지만 Lisp에 관한 자유로운 그룹입니다. 누구나 참여할 수 있고 누구나 의견을 공유할 수 있습니다.

"Lisp을 좋아하는 사람들의 그룹" 에서 Lisp에 관한 정보와 의견을 함께 하나 하나씩 쌓아보면 좋겠습니다. 그리고 의견을 서로 나누면서 Lisp에 관한 좋은 생각들을 키워가면 좋겠습니다.

관심있는 분들의 많은 참여 부탁드립니다. ;-)
저작자 표시
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글  2개가 달렸습니다.
  1. 공부를 해두면 언젠가는 직접적 간접적으로 도움이 되겠죠?? 저도 요즘 취미로 리버싱 엔지니어링을 공부하고 있는데요. 바이너리 코드를 헤집고 다니는 재미가 있네요 ~~ ㅎㅎ
    • OllyDbg라는 디버깅 툴을 이용하는 건데요. 소스 코드 없이 바이너리코드를 직접 디버깅해서 내부의 실행 코드를 바꾸거나 로직을 조사할 수 있습니다. 저도 현재는 공부하는 단계라 블로그에 포스팅은 하지 않았지만 어느정도 공부를 맞히면 하나씩 포스팅하려고 계획중입니다. ^^
secret
최근 Lisp(리스프, 혹은 리습이라고 읽습니다.)에 많은 흥미를 느끼고 있습니다. Lisp에 대한 간략한 소개는 다음과 같습니다.

Lisp은 수학에서 쓰는 논리식 가운데 재귀방정식을 컴퓨터 계산 모형으로 사용할 수 있는지 엄밀히 살펴보기 위하여 1950년대에 존 매카시(John McCarthy)가 만든 언어이다.

그가 쓴 논문 "Recursive Functions of Symbolic Expression and Ther Computation by Machine, John McCarthy, 1960"에 그 설계 원리가 밝혀져 있다.

Lisp는 처음엔 수학 이론의 형식을 잡는데 쓰려고 만든 언어이지만, 실제로는 프로그램을 짜는데 쓴다.
Lisp라는 언어는 LISt Processing이라는 말에써 따온 것이다.

참고로 포트란(Fortran) 다음으로 가장 오래된 언어인데도 지금까지 널리 사용되고 있으며, 인공지능이나 CAD 분야에서 많이 사용되고 있다.

Lisp에 대한 자세한 설명은 나중에 따로 드리겠습니다.

Lisp에 관한 참고할만한 자료를 찾으신다면 안윤호 님이 운영하시는 토이팹(http://toyfab.tistory.com/)에 비교적 깊이 있는 자료가 많으니 참고하시기 바랍니다.
 


Lisp을 구동하려면 Lisp 구동 환경이 필요합니다.
가장 쉽게 구축할 수 있는 방법이 LispWorks(http://www.lispworks.com/)에서 배포하는 LispWorks Personal Edition(http://www.lispworks.com/downloads/index.html)라는 소프트웨어를 설치하는 것입니다.

사실 지금부터 제가 설명하려는 LispWorks Personal Edition 설치는 너무도 간단한 내용이지만, 국내에 LispWorks에 관한 자료가 거의 없는 관계로 저처럼 처음부터 하나 하나씩 Lisp을 접하시는 분을 위하여 정리하였습니다.



1. LispWorks Personal Edition 다운로드

LispWork Personal Edition을 다운로드 받기 위하여 웹 브라우져에서 http://www.lispworks.com/downloads/index.html를 입력하여 이동합니다. 그러면 아래와 같은 화면이 나타날 것입니다. 다운로드 받기 위해서는 간략한 정보를 입력하여야 합니다. 아래와 같이 입력합니다.



입력이 정상적으로 완료되면 아래와 같이 인스톨 버전을 다운로드 할 수 있습니다. 만약 LInux나 Mac에서 LispWorks를 사용하시고자 한다면, 앞의 화면의 "Download LispWorks for*" 항목에서 선택하시면 됩니다.


2. LispWorks 설치

설치 과정은 매우 쉽습니다. 원도우인 경우 인스톨버전이 제공되므로 Next 버튼만 누르시면 됩니다.



기본 정보를 입력합니다.


처음이니 모두 다 설치하는게 좋겠죠~


본격적인 인스톨이 진행됩니다.


금새 설치가 완료되는군요~


Personal Edition이기 때문에 Enterprise Edition으로 업그레이드 하라는 안내창이 나옵니다. 안내용 화면이니 한번 살펴보시고 넘기시면 됩니다.



3. LispWorks 실행

바탕화면이나 시작메뉴의 LispWorks 5.x Personal 에서 LispWorks를 클릭하면 다음과 같이 LispWorks가 실행됩니다. 아래와 같이 바로 Lisp을 실행해 볼 수 있습니다.


4. LispWorks 관련 문서

LispWorks 사용자를 위한 여러가지 문서를 배포(http://www.lispworks.com/documentation/index.html)하고 있습니다. 아쉽게도 한글 문서는 없습니다.

제가 여러모로 한글 문서나 한글 자료를 찾아보았는데 한건도 본 적이 없습니다. 혹시 개인적으로 LispWorks에 관하여 정리하실 내용이나 웹 페이지를 알고 계신다면 저에게 꼭 알려주시기 바랍니다.

아울러 Common LispWorks User Guide를 조금이라도 번역하신 분이나 정리하신 분이 있으시다면 알려주시면 감사하겠습니다.

아... 없으면.. 번역도 할까 생각중입니다. 시간이 항상 문제인데요~ 혹시 관심있으신 분들이 있으시면 댓글 부탁드립니다.


간단하지만, Lisp을 저처럼 처음 접하시는 분들을 위하여 이 글을 작성하였습니다.

마지막으로 Lisp을 함께 공부하실 분들을 찾습니다. 에공.. 이거 혼자보려니 넘 힘드네요~ 주중에 1회정도 함께 모여 공부하면 참 좋을 것 같습니다. 관심있는 분들의 많은 참여 부탁드립니다.

감사합니다. ;-)
신고

WRITTEN BY
jangsunjin
전세계 사람들의 삶의 질을 높일 수 있는 소프트웨어를 만들어 함께 나누는 것이 꿈입니다. 이 세상 그 무엇보다 사람이 가장 소중합니다.

받은 트랙백이 없고 , 댓글  4개가 달렸습니다.
  1. 이야 피드 받아놓길 잘했다는 생각이 드네요 ㅎ
    관심은 있지만 당장 파스칼도 버거운 저에게
    이런 정보들은 나중에 저를 살찌우는데 큰 도움이 되지용
    감사해요~☆
  2. LISP에 관심가지고 계시다니 반갑네요...
    한국에 LISP 관련 자료가 거의 없다는 말에 공감이 가네요...
    lispworks도 낯이 익구요~
    예전에 1년전쯤? 서점에 들러서 "LISP"라는 책이 있길래 원서를 사놓고 보곤 했었는데
    다까먹구 또 처음부터 뒤적거리고 있는 중이었습니다. 이제 쪼으금 감이 오는 것 같긴 한데
    컴이나 프로그램쪽 전문가가 아니다 보니 이해가 쉽지는 않네요~
    우연히 검색해 보다 여기에 들르게 되었네요~ 반갑습니다~
  3. LISP 관련하여 아래 링크의 글이 도움이 될까하여 올립니다.

    http://onlisp.blogspot.com/search/label/Common%20Lisp
  4. 비밀댓글입니다
secret