LISP 객체지향 시스템인 CLOS 후대에 많은 영향을 미쳤고 그 자체로서 볼만한 가치가 있음. 다형성이 클래스가 아니라 메소드 기준이란 사실을 알게되면, 객체지향을 구현하는 방법이 여러가지가 있다는 사실을 깨닫게 됌
1234(222.251)2014-11-05 09:12
MOP 라 해서 Reflection = Intersession(런타임 내부구조 변경) + Introsepction(런타임 내부구조 파악) 을 지원하는데, 자바같은 다른 언어에서는 Introspection 만으로 리플렉션이라 주장하니 아이러니.
1234(222.251)2014-11-05 09:12
그리고 함수형 프로그래밍이나 고차함수, 클로저 같은 개념들은 후대 언어에 엄청난 영향을 미쳤고 당신이 뭘 배우던 저런 개념은 쓸 수 밖에 없음. Java8 도 2014년 3월에 람다와 필터 추가했음.
1234(222.251)2014-11-05 09:13
Scala, Clojure, Groovy 등 JVM 위에서 돌아가는 신세대 언어들 보면 다 이런 개념들 접목해서 나옴. 배울 수 밖에 없다. LISP 이 아니더래도 함수형 언어는 꼭 배워. (자바스크립트 말하는거 아님.)
1234(222.251)2014-11-05 09:14
옹 당시에는 혁신적인 언어였겟네. 고마웡
ㄴ(39.115)2014-11-05 09:16
프로그래밍 언어론은 잘 배워놔. 폴 그레이엄은 언어의 한계가 프로그래머가 표현할 수 있는 한계라고 지적한 적이 있음. 곧 본인이 아는 프로그래밍 언어가 자신이 코딩할 수 있는 한계. C 만 알아서 람다 모르면 평생 그렇게 코딩할 수 밖에 없는거고, 하스켈 안배워서 모나드나 lazy evaluation 개념 모르면 언젠가 삽질하면서 비슷한거 구현할지도.
1234(222.251)2014-11-05 09:18
언어론 추천하는 책 있엉? 원서여도 상관없어.. 그리고 함수형 언어중에서 Scala만 배우면 될까?..
ㄴ(39.115)2014-11-05 09:26
수학 좋아하면 Haskell 배우고 실용적인거 좋아하면 Scala 배워. Lisp 은 재밌는데 좀 구형이라 잘 쓰지도 않고 느려.. 코드 함 봐보고 어떤게 이쁜가 잘 살펴봐봐.
1234(222.251)2014-11-05 09:33
책은 SICP http://www.yes24.com/24/Goods/2715278?Acode=101 이게 충실하고 좋은데, substitution model 부터 해서 프로그래밍 밑에 놓여있는 모든 근간을 설명하는 책이고, 생각하게끔 만들어서 혼자 진도빼기는 좀 어려울지도 모르겠네. 원서 볼 수 있으면 영어 잘할테니까 MIT 에서 SICP 강의 올려논거 있으니까 찾아서 봐봐
1234(222.251)2014-11-05 09:35
이 글 읽는 다른사람들한테 알려주고 싶은건.. Scala 의 immutable 이나 actor, Clojure 등 함수형 프로그래밍의 개념을 웹서비스에 도입하려는 언어들은 기본적으로 다중 스레드에서 발생하는 리소스 문제를 해결하기 위한거야. IoT 시대가 오면 백엔드로 요청은 더 많아질거고 기존의 스레딩 방식으로는 처리가 불가능할지도 몰라. 광자 CPU 나오기 전엔
1234(222.251)2014-11-05 09:37
NodeJS Callback IO 도 그렇고. 아무튼 이런 언어들 찾아서 하나쯤은 꼭 배워. IoT 는 금방 올거야. 그때도 밥먹고 코딩해야 할테니까..
1234(222.251)2014-11-05 09:39
ㄸ 고마웡 우선 Haskell보니까 제일 깔금하게 생겼네. 이걸로 배울게 당신은 훌륭한 프로그래머인듯 ㄷㅇ
ㄴ(39.115)2014-11-05 09:41
근데 조회수 왜 이럼?.. 압도적으로 높음 500...
ㄴ(39.115)2014-11-05 09:47
좋은 얘긴데 CLOS가 후대에 많은 영향을 줬다는건 아닌거 같은데 lisp이 오래된 언어라고 거기서 쓰는 방법들이 오래전부터 있던게 아니라 나중에 추가된게 많은데 그니까 CLOS는 객체지향붐이 일고 나서 lisp하는 놈들이 저마다의 방식으로 lisp으로도 객체지향하니까 통일하려고 표준(common lisp)으로 정해놓은건데 다른 oo언어들은 대부분 싱글 디스패치인데 clos는 멀티플 디스패치인거 등등 영향을 줬다기 보다 자기만의 색깔이 있는듯
하나도 안특이해. 매크로 빼면 지극히 당연한 언어야.
LISP 객체지향 시스템인 CLOS 후대에 많은 영향을 미쳤고 그 자체로서 볼만한 가치가 있음. 다형성이 클래스가 아니라 메소드 기준이란 사실을 알게되면, 객체지향을 구현하는 방법이 여러가지가 있다는 사실을 깨닫게 됌
MOP 라 해서 Reflection = Intersession(런타임 내부구조 변경) + Introsepction(런타임 내부구조 파악) 을 지원하는데, 자바같은 다른 언어에서는 Introspection 만으로 리플렉션이라 주장하니 아이러니.
그리고 함수형 프로그래밍이나 고차함수, 클로저 같은 개념들은 후대 언어에 엄청난 영향을 미쳤고 당신이 뭘 배우던 저런 개념은 쓸 수 밖에 없음. Java8 도 2014년 3월에 람다와 필터 추가했음.
Scala, Clojure, Groovy 등 JVM 위에서 돌아가는 신세대 언어들 보면 다 이런 개념들 접목해서 나옴. 배울 수 밖에 없다. LISP 이 아니더래도 함수형 언어는 꼭 배워. (자바스크립트 말하는거 아님.)
옹 당시에는 혁신적인 언어였겟네. 고마웡
프로그래밍 언어론은 잘 배워놔. 폴 그레이엄은 언어의 한계가 프로그래머가 표현할 수 있는 한계라고 지적한 적이 있음. 곧 본인이 아는 프로그래밍 언어가 자신이 코딩할 수 있는 한계. C 만 알아서 람다 모르면 평생 그렇게 코딩할 수 밖에 없는거고, 하스켈 안배워서 모나드나 lazy evaluation 개념 모르면 언젠가 삽질하면서 비슷한거 구현할지도.
언어론 추천하는 책 있엉? 원서여도 상관없어.. 그리고 함수형 언어중에서 Scala만 배우면 될까?..
수학 좋아하면 Haskell 배우고 실용적인거 좋아하면 Scala 배워. Lisp 은 재밌는데 좀 구형이라 잘 쓰지도 않고 느려.. 코드 함 봐보고 어떤게 이쁜가 잘 살펴봐봐.
책은 SICP
http://www.yes24.com/24/Goods/2715278?Acode=101
이게 충실하고 좋은데, substitution model 부터 해서 프로그래밍 밑에 놓여있는 모든 근간을 설명하는 책이고, 생각하게끔 만들어서 혼자 진도빼기는 좀 어려울지도 모르겠네. 원서 볼 수 있으면 영어 잘할테니까 MIT 에서 SICP 강의 올려논거 있으니까 찾아서 봐봐
이 글 읽는 다른사람들한테 알려주고 싶은건.. Scala 의 immutable 이나 actor, Clojure 등 함수형 프로그래밍의 개념을 웹서비스에 도입하려는 언어들은 기본적으로 다중 스레드에서 발생하는 리소스 문제를 해결하기 위한거야. IoT 시대가 오면 백엔드로 요청은 더 많아질거고 기존의 스레딩 방식으로는 처리가 불가능할지도 몰라. 광자 CPU 나오기 전엔
NodeJS Callback IO 도 그렇고. 아무튼 이런 언어들 찾아서 하나쯤은 꼭 배워. IoT 는 금방 올거야. 그때도 밥먹고 코딩해야 할테니까..
ㄸ 고마웡 우선 Haskell보니까 제일 깔금하게 생겼네. 이걸로 배울게 당신은 훌륭한 프로그래머인듯 ㄷㅇ
근데 조회수 왜 이럼?.. 압도적으로 높음 500...
좋은 얘긴데 CLOS가 후대에 많은 영향을 줬다는건 아닌거 같은데 lisp이 오래된 언어라고 거기서 쓰는 방법들이 오래전부터 있던게 아니라 나중에 추가된게 많은데 그니까 CLOS는 객체지향붐이 일고 나서 lisp하는 놈들이 저마다의 방식으로 lisp으로도 객체지향하니까 통일하려고 표준(common lisp)으로 정해놓은건데 다른 oo언어들은 대부분 싱글 디스패치인데 clos는 멀티플 디스패치인거 등등 영향을 줬다기 보다 자기만의 색깔이 있는듯