내가 하스켈을 배우는 데 15년이 걸린 이유
하스켈과의 첫 만남
- 하스켈은 20세기 스코틀랜드 논리학자들이 만든 함수형 프로그래밍 언어임.
- 2006년경 처음 하스켈을 접하게 되었음.
- 대학 시절 독립 연구를 통해 하스켈을 배우기 시작했으나, 실제로는 많이 배우지 못했음.
실전에서의 하스켈
- 2009년에 Xmonad라는 타일링 윈도우 매니저를 사용하면서 하스켈을 조금 더 접하게 되었음.
- Xmonad 설정 파일이 하스켈로 작성되어 있어 이를 통해 하스켈을 조금 더 이해하게 되었음.
엘름을 통한 학습
- 엘름(Elm)은 하스켈과 유사한 언어로, 엘름을 통해 함수형 프로그래밍의 개념을 더 쉽게 이해할 수 있었음.
- 엘름을 사용하여 대시보드 페이지를 만들면서 함수형 프로그래밍의 원리를 배움.
하스켈로 돌아오다
- 엘름을 통해 배운 지식을 바탕으로 하스켈 라이브러리인 Shake를 사용하여 정적 사이트 빌더를 만듦.
- 이후 Python에서 하스켈의 개념을 적용하여 더 나은 코드를 작성하게 되었음.
첫 유용한 하스켈 프로그램 작성
- 2023년에 프리랜서로 일하면서 시간 추적 프로그램을 하스켈로 작성하게 되었음.
- 이 프로그램은 명령줄 옵션을 파싱하고 데이터베이스와 상호작용하는 기능을 가짐.
- 드디어 유용한 하스켈 프로그램을 작성하게 되어 큰 성취감을 느꼈음.
GN⁺의 의견
-
함수형 프로그래밍의 장점: 하스켈과 같은 함수형 언어는 불변성과 순수 함수를 강조하여 코드의 예측 가능성과 안정성을 높임.
-
학습 곡선: 하스켈은 배우기 어렵지만, 엘름과 같은 유사 언어를 통해 점진적으로 접근하는 것이 효과적일 수 있음.
-
실전 적용: 실제 프로젝트에서 하스켈을 사용하면 함수형 프로그래밍의 원리를 더 잘 이해하고 적용할 수 있음.
-
도구 선택: Shake와 같은 하스켈 라이브러리는 빌드 시스템을 구축하는 데 유용하며, 이를 통해 하스켈의 실용성을 경험할 수 있음.
-
커뮤니티와 자료: 하스켈 커뮤니티와 다양한 학습 자료를 활용하면 학습 과정에서 많은 도움을 받을 수 있음.