하스켈 재미있는데요?
2013.09.27 00:48
저는 일단 코더는 아니고요. 일전에 쓴 적이 있지만 논리학이 전공입니다.
그런데 학부 수준에서 쉽고 재미있게 논리학을 가르쳐볼 수 없을까 ... 하다가 요런 책을 발견했네요: www.amazon.com/Haskell-Programming-Second-Edition-Computing/dp/0954300696
함수형 언어로 코딩을 하면서 집합론과 논리학을 배운다는 아이디어도 참신하고,
공부를 하다 보니까 하스켈이란 언어가 참 탄탄하다는 느낌이 듭니다.무슨 수학 문제를 풀 때 재귀적으로 정의를 하다보면 점화식이란 거에 부딪히기 마련이죠. 그런데 하스켈로는 이런 식을 표현하기가 쉽고, 특히 점화식을 단순화하면 곧 코드를 최적화해 버린 것이 되는 게 재미있네요.
리스트를 셋처럼 표기하는 것도 가능하고 말이죠. 다만 좀 불편한 건 리스트를 만들 때 서로 다른 타입의 대상을 엘레먼트로 할 수 없다는 거.코드를 쓰고 났을 때 가독성도 매우 좋아요.
코딩해 보는 건 학부 때 호기심에 컴퓨터 학원 두 달 다니다가 때려친 후로 십년도 더 된 듯하네요. 개인적으로 우리 나라 컴퓨터 학원 강사들은 참 못 가르치는 듯. (읽으시는 분 가운데 강사하시는 분께는 죄송합니다 ㅎㅎ.)
그런데 정확하게 언제 지연평가가 되는 건지 약간 이해가 어렵네요. 어차피 90퍼센트는 취미로 들여다 보고 있으니까....
코멘트 7
-
해색주
09.27 01:07
잠깜 해보신 것으로 쉽게 이해하시다니 천재이십니다. ^^ 저는 좋아는 하는데 참 못해서요. 재능이 없나 생각중입니다. -
왕초보
09.27 02:43
고전인 prolog나 lisp도 좋아하실듯. 진짜 고전으로 가면, APL이나 FORTH까지도.. ( '')
-
김군
09.27 09:46
이런 비주류 아카데믹 기믹 랭귀지 같은 것들 너무 좋아해요 ^_^
-
김군
09.27 08:40
퀵소트 코드가 딱 세 줄이면 되네요:quickSort::[Integer]->[Integer]quickSort [] = []quickSort (x:xs) = (quickSort [a|a<-xs,a<x])++[x]++(quickSort [b|b<-xs,b>=x])위 코드는 책에 나온 거고, 제가 첫날 짰던 건 이거:quicksort :: [Int]->[Int]classify :: Int->[Int]->([Int],[Int])classify _ [] = ([],[])classify x (y:ys) | y<x = ( (y:fst zp), snd zp )| otherwise = ( fst zp, (y:snd zp) ) where zp = classify x ysquicksort [] = []quicksort (x:xs) = (quicksort (fst yp))++(x:quicksort (snd yp)) where yp = classify x xs근데 책에 코드가 훨씬 짧을 뿐더러 아름답고 직관적. 역시 컴퓨터를 공부 안 한 건 잘한 선택이었나봅니다. ( '') -
유령상어
09.27 10:46
소위 말하는 OOP 프로그래머들은 함수형 이해하기가 쉽지는 않더군요.
다만 개념만 잘 잡히면 그 다음은 얼마나 똑똑하냐.. 혹은 수학 잘하느냐의 문제라고도 하더군요.
저는 다만 lisp을 좀 경험해서 그런지 상대적으로 쉽게 하긴 했죠.
제가 공부했던 책은 아래 책인데요, 저도 오랫만에 한번 찾아봐야겠네요.ㅎ
-
왕초보
09.28 01:25
저는 비주류도 아니고 이 바닥에 살지 않지요. ㅎㅎ 지금도 OOP프로그램소스의 대부분은 OOP의 장점을 전혀 사용하지 않고 있다고 해요. 인류가 그 장점을 제대로 사용하려면 뇌 구조가 바뀌어야 할지도. 최소한 지금 학교교육은 완전히 뒤집어 엎어야 할 것으로 보입니다.
-
뭐 OOP는 라이브러리 배포할때 가독성 좋으라고 있는거죠... :(
번호 | 제목 | 작성자 | 작성일 | 조회 |
---|---|---|---|---|
공지 | [공지] 2025년 KPUG 호스팅 연장 완료 [9] | KPUG | 2025.08.06 | 297 |
공지 | [공지] 중간 업데이트/ 다시한번 참여에 감사 드립니다 [10] | KPUG | 2025.06.19 | 918 |
공지 | [안내의 글] 새로운 운영진 출범 안내드립니다. [15] | 맑은하늘 | 2018.03.30 | 32456 |
공지 | KPUG에 처음 오신 분들께 고(告)합니다 [100] | iris | 2011.12.14 | 443387 |
29794 | 오아시스 욱일기 논란 [1] | 왕초보 | 08.15 | 42 |
29793 | 몇년만에 자게에 글을 쓰는 중인지 모르겠습니다. [3] | Electra | 08.14 | 59 |
29792 | 자세한건 만나서 이야기 하자. [12] | 산신령 | 08.13 | 79 |
29791 | 안녕하세요. 오랜만입니다. [17] | highart | 08.09 | 144 |
29790 | 무지개 다리를 건너다. [6] | 인간 | 08.03 | 159 |
29789 | 밤새우는 중입니다. [15] | 왕초보 | 07.29 | 156 |
29788 |
가방..안 팔아요
[12]
![]() | 아람이아빠 | 07.19 | 229 |
29787 | MSN은 진정 보수 우파였던 것일까요 [6] | 엘레벨 | 07.19 | 186 |
29786 | 컨테이너와 산업디자인 [17] | 왕초보 | 07.16 | 186 |
29785 | 롱릴리프라고 아시나요? [15] | 해색주 | 07.07 | 253 |
29784 | 할 일도 없는데.. 대출광고 명함 신고나 매일 해야겠네요 [7] | 아람이아빠 | 07.07 | 205 |
29783 | 2025년 에어컨 개시했습니다. [6] | 해색주 | 06.30 | 218 |
29782 | 공업용 미싱 지름.. 편안한 주말 입니다. [14] | 아람이아빠 | 06.29 | 215 |
29781 | 날씨가 무척 습하네요. [10] | 해색주 | 06.28 | 192 |
29780 | 냉장고가 망가졌어요 ㅠㅜ [9] | 왕초보 | 06.25 | 226 |
29779 | 몽중인 - 중경삼림 1994 [11] | 해색주 | 06.24 | 221 |
29778 | 무선에 익숙해져 버렸습니다. [4] | 해색주 | 06.23 | 195 |
29777 |
댄디한 강아지..
[6]
![]() | 아람이아빠 | 06.21 | 172 |