하스켈로 시작하는 프로그래밍

소개 및 준비

하스켈 플랫폼 설치, ghci 소개

소개

최근 4차 산업혁명, 인공지능 등이 사람들 입에 오르내리며 프로그래밍이 하나의 필수적인 요소로 취급되는 분위기입니다. 프로그래밍은 이러한 사회 속에서 기계를 직접 다루게 해 주는 도구이자, 수학적이고 논리적인 사고를 가능하게 해주는 언어입니다. 특히 후자의 관점으로 볼 때, 함수형 프로그래밍은 여러분이 세상을 보고 기계를 다루는 사고방식 자체를 변화시킬 것입니다. 하지만 대부분의 프로그래밍 교육은 절차형/객체지향형 프로그래밍 언어로 이루어지고 있으며, 함수형 프로그래밍은 그 모든것을 통달한 뒤에나 배우는 어려운 것으로 취급되고 있습니다. 

저는 현재 고등학교에 재학중인 컴퓨터공학 지망생이며, 중3때부터 하스켈을 접해 계속 배워오고 있습니다. 수학과 거의 일대일 대응되는 개념들에 매료된 이후로 제 메인 언어는 하스켈이 되었습니다. 오프라인에서 중학생들을 대상으로 하스켈을 가르쳐 온 경험이 있는데, 더 많은 사람들이 함수형 프로그래밍을 어려운 것이 아니게 느꼈으면 좋겠다는 마음에 온라인으로 강의를 써 보려 합니다.

강의의 대부분은 글로 이루어질 예정입니다. 이는 먼저 제가 개인적으로 동영상 강의를 좋아하지 않기 때문이며, 사용중인 환경이 우분투라 동영상 녹화에 애로사항이 있기 때문입니다. 또한 이론을 먼저 설명하기 보다는 예시를 보여드리고 이로부터 일반화된 패턴을 끄집어내는 방식으로 진행될 것입니다. 프로그래밍의 가장 핵심적인 개념 중 하나인 추상화를 예시들로부터 해 가는 모습을 보며 그 방법을 체득하게 될 것입니다.

설치하기

컴퓨터를 가지고 뭘 할려고 하면 항상 그렇듯이, 프로그램을 하나 깔아야 합니다. Haskell Platform은 하스켈을 실행하고 여러분이 만든 프로그램을 컴파일할 수 있게 해줍니다. 다운로드는 여기에서 가능합니다.

영어가 익숙하지 않으신 분들은: 윈도우 32비트 / 윈도우 64비트

설치가 되고 나면 GHCi라는 프로그램이 보일겁니다(리눅스/맥은 ghci 커맨드). 이 프로그램은 여러분이 '대화형'으로 하스켈 인터프리터를 사용하게 해 줍니다. 실행을 시키면 다음과 같은 글이 보입니다.

GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Prelude> 

Prelude> 옆에서 커서가 깜빡거리고 있는데, 여기에 식을 치면 그 결과를 볼 수 있습니다. 간단한 수학식을 입력하면,

Prelude> 3+3
6
Prelude> 3*3
9
Prelude> 3-3
0
Prelude> 1+2+3*3
12
참고: 생활코딩에서 Haskell 코드 입력을 지원하지 않아서 급한 대로 Python을 사용하고 있습니다. 코드에 색깔이 좀 이상하게 칠해졌다 싶으면, 이상하게 칠해진게 맞습니다.

 +, -. *, /는 각각 더하기, 빼기, 곱하기, 나누기를 뜻합니다. 여러가지를 실행시켜보시길 바랍니다.

댓글

댓글 본문
  1. kimion
    반갑습니다. 저는 주로 수학 문제 푸는데 haskell을 쓰죠. 코딩이 잘 되다가도 막히면, 수학 문제는 뒷전으로 밀리고 haskell coding 에 빠져 헤메기도 합니다. 교류의 장에 들어오니 좋습니다. 다음 글을 기다립니다
  2. 문운기
    이후 강좌는 없나요? 아쉽습니다..