순수함수형 프로그램언어.
지연평가와 side effect가 없고, point free style이 특징. (초보자가 아는 한)
많이들 병렬처리를 위한 프로그램언어로 알고 있으나 지연평가의 장점은 이를 뛰어넘을 것 같다.
한국의 우상인 마소에서도 F#을 VS에 탑재하면서, C언어에 small talk의 장점을 조금씩 이식해 왔던 것처럼 절차식에 함수형의 장점을 더하고자 하고 있다. 그만큼 함수형 언어가 매력적이라는 것 아니겠는가?
많은 C/C++ programmer들이 Haskell은 느리다고 혹평하지만, 코드에 따라서는 Haskell이 월등히 빠른 속도를 보장한다. 예를 들면 '무한'을 다루는 루틴이나 재귀프로그램(복잡도가 증가하면 C로는 복잡할 수 밖에 없다. 물론 포인터로 간략하게 만들수 있으나, 그런 능력을 가진 코더가 많은가?)이면 Haskell이 월등한 속도를 보장한다.
개인적인 매력은 수학적인 개념을 좀더 편안하게 사용할 수 있다는 것, 람다계산이 기본을 이룬다는 것, 신경망이론에 조금더 쉽게 적용가능하지 않을까 하는 기대감, 그리고 많은 분들이 무시(?)를 하고 있지만 '변수 중심의 언어가 아니다'라는 점(point free style).
C/C++에 익숙하신 분들은 포인터를 익힐때 고생을 한다고 들었었습니다. 어셈블러를 하던 사람들은 C가 매우 편리한 언어이기는 하지만, 포인터의 작용을 C언어로 살짝 포장해 둔 것에 이질감을 느끼기도 하였었죠.
개인적으로 도전해 볼만한 언어라고 생각을 해서 공부해 볼까 합니다.
Monday, May 11, 2009
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment