로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
서평보기
프로그래밍 얼랭
조 암스트롱 | Insight (인사이트) | 번역서 | 2008-06-12
종합평점
도서수준
잠자던 나의 도전의식을 깨우며... 2008-06-22 오후 8:49:05 
평점
도서수준
조회수 (1678)
공감 (0)
이중우 님의 블로그
88년 전산과의 인공지능 과목을 수강했었다.
여기서 PROLOG 언어를 통한 패턴매칭의 강력함을 배우며,
심볼릭 인공지능 분야에 대한 대단한 가능성을 느꼈었다.
그리고 터보프롤로그(볼랜드) 언어를 공부하며 여러가지 흥미있는 주제들에 대하여 공부했었다.
2002년 대학원에서 퍼지를 전공하며
퍼지를 프롤로그의 패턴매칭에 적용하는 문제에 대하여 관심을 가졌었지만,
신체의 가장 윗부분을 담당하는 놈의 성능이 시원치 않아서,
그냥 포기하고 있었었다.
 
우연치 않게 강컴의 신간서적을 검색하다가
처음듣는 얼랭이라는 단어를 보고 흥미로 책을 구입하였다.
그런데, 아~
이놈의 언어가 프롤로그에서 내가 부족하다고 느꼈던 부분들을 상당부분 보완해 놓은,
내가 찾던 바로 그 언어일 줄이야...
 
이놈은 기본적으로 함수형 언어이다.
프롤로그의 강력한 패턴매칭을 그대로 지원한다.
그런데 놀랍게도 case, if, guard 등의 부가 기능도 포함하고 있다.
터보프롤로그는 순수하게 패턴매칭으로 프로그래밍 하려니 지나치게 복잡했었는데,
완전히 해결해 준다.
바이너리 와 비트구문은 정말로 강력하다.
C/C++에도 이런기능쯤 하나 있으면 임베디드 프로그래밍 끝장날텐데...
최근 닷넷에서 사용하는 예외처리를 80년대 언어인 얼랭이 지원하고 있다.
바로 try ~ catch 구문이다. 놀랍다.
거기에 다른 언어로 작성된 프로그램을 포트라는 안정된 방법과 링크인 드라이버라는 방법으로 연결시킬 수 있다. 그래서 얼랭의 엄청난 안정성을 해치지 않으면서도 외부 프로그램을 호출할 수 있다.
여기에 얼랭은 병행(concurrent) 프로그래밍, 분산 프로그래밍, 소켓 프로그래밍이 가능하다.
놀랍지 않은가, 1980년대의 언어가 병렬/분산/소켓프로그래밍이 가능하다니...
 
또 멀티코어 cpu 용 프로그램을 작성할 수 있고, 매우 안정된 고속 데이터베이스인 Mnesia를 포함하고 있다.
 
기절할 만한 이야기 하나만더,
모두 무료다. 모두 오픈소스다.
 
아직 자랑하고 싶은 강력한 기능이 너무 많지만,
이정도로 마쳐야 겠다.
책을 읽는 것이 너무 재미 있다.
일종의 카타르시스를 느끼게 한다.
 
서울에 얼랭 스터디 그룹이 있다던데,
내가 대구에 사는 것이 이런때는 후회스럽다.
 
세상에서 위대한 발명은 우연이 많다던데,
이참에 과거에 꿈으로 묻어 두었던 퍼지 프롤로그를 다시한번 도전해 볼까나!!
가슴속에 잠자던 도전의식이 꿈틀 거린다.
내가 10살만 젊었어도.... 슬프다..

 
코멘트 0   공감 0
코멘트작성
 
이메일주소수집거부