한국 하스켈 모임

한국 하스켈 모임

하스켈은 고성능의 소프트웨어를 안전하고 효율적으로 만들 수 있게 해주는 현대적인 프로그래밍 언어입니다.
하스켈 모임은 함께 모여서 하스켈의 유용성과 프로그래밍의 즐거움을 탐사합니다.

지난 모임

  • 2016년 12월 3일 토요일 13시
  • 스포카 서울 사무실

하스켈

성능

하스켈 코드는 같은 일을 하는 다른 고급 언어의 코드와 길이가 비슷하면서도 성능이 훨씬 탁월합니다. 실행 파일로 네이티브 컴파일하며, 언어 설계상의 이점으로 코드에 대해서 고도의 최적화가 가능하고, 컴파일러에 각종 고급 최적화 기술이 적용되어 있습니다. 성능에 역점을 둔 라이브러리가 많고 다양한 벤치마크 도구가 있습니다.

정확성

프로그래밍 언어가 프로그래머의 실수를 줄여줄 수 있습니다. 문법이 간결하고 코드가 아름답고 합리적인 설계로 높은 코드 품질을 유지할 수 있습니다. 정확하고 유연한 타입 시스템을 갖추었고, 수많은 잡기 힘든 버그의 원천을 참조 투명성으로 차단합니다. 알고리즘과 입출력이 깔끔하게 분리됩니다.

동시성·병렬성

상태와 로직을 분리하는 하스켈의 특성 때문에 프로그램이 멀티코어 환경에서 실행될 때 프로그래머가 직접 설계를 바꾸지 않아도 자동으로 병렬화하여 여러 코어에 작업을 배분할 수 있습니다. 동시성을 직접 통제해야 할 경우 소프트웨어 트랜잭셔널 메모리 등의 선구적인 기술로 안전한 고성능 멀티스레드 프로그래밍을 구현합니다.

유지·보수와 조합

코드를 고쳤을 때 함께 고쳐야 할 부분을 정확하게 추적하므로 코드 유지·보수가 쉽습니다. 각 모듈과 함수의 의도를 타입과 타입클래스로 엄밀하게 표현할 수 있어 협업에 적합하고, 코드 조합이 쉬우면서도, 잘못된 조합은 자동으로 방지됩니다. 큰 코드베이스를 계속 고치면서 오류는 막아야 하는 엔터프라이즈 개발에도 유리합니다.

디버깅·테스팅·프로파일링

대화형 디버거와 참조 투명성으로 디버깅이 쉽습니다. 테스트 케이스를 자동 생성하는 자동화 테스트를 최초로 도입했으며, 단위 테스트를 능가하는 편의성과 테스트 범위를 제공합니다. 코드 블록의 소요 시간, 메모리 사용량, 스레드 전환 등 실행의 모든 측면을 분석해주는 도구가 있습니다.

커뮤니티와 생태계

많은 뛰어난 프로그래머들과 프로그래밍 언어 연구자들이 상주하는 하스켈 커뮤니티는 초심자에게 친절하고 호의적인 것으로 유명합니다. 하스켈은 시스템 프로그래밍에서 사용자 애플리케이션까지, 클러스터에서 프론트엔드까지 두루 쓰이고 있으며 풍부한 라이브러리 생태계를 가지고 있습니다.

모임