CWN(CHANGE WITH NEWS) - 함수형 프로그래밍 언어, 이 10가지 언어에 주목하라

  • 흐림산청15.6℃
  • 흐림영월15.3℃
  • 흐림거창14.5℃
  • 흐림정읍17.5℃
  • 흐림고창17.2℃
  • 흐림제천13.9℃
  • 흐림천안16.2℃
  • 구름많음울산16.8℃
  • 구름많음철원14.9℃
  • 박무북춘천16.2℃
  • 흐림동해18.1℃
  • 흐림영덕18.5℃
  • 흐림백령도19.0℃
  • 구름많음성산19.4℃
  • 구름많음인제15.4℃
  • 흐림정선군13.8℃
  • 구름많음대관령11.6℃
  • 흐림금산15.0℃
  • 흐림합천16.1℃
  • 흐림원주16.0℃
  • 흐림수원16.3℃
  • 흐림밀양16.9℃
  • 흐림창원19.2℃
  • 박무청주18.8℃
  • 흐림진도군17.6℃
  • 흐림전주18.1℃
  • 흐림추풍령14.3℃
  • 흐림강진군17.4℃
  • 구름조금북강릉17.8℃
  • 흐림남원16.0℃
  • 흐림남해19.0℃
  • 흐림부안18.1℃
  • 흐림포항18.6℃
  • 흐림서산17.2℃
  • 구름많음양산시17.9℃
  • 흐림함양군15.3℃
  • 흐림영천14.9℃
  • 구름많음부산21.3℃
  • 흐림장수13.7℃
  • 흐림목포19.5℃
  • 흐림의령군14.4℃
  • 흐림순창군16.2℃
  • 박무홍성16.9℃
  • 흐림고흥16.8℃
  • 흐림이천15.8℃
  • 흐림서귀포22.1℃
  • 흐림완도18.7℃
  • 흐림청송군13.6℃
  • 흐림고창군17.8℃
  • 흐림거제17.9℃
  • 흐림경주시15.2℃
  • 흐림영주14.3℃
  • 흐림서청주16.1℃
  • 흐림보은15.0℃
  • 흐림진주15.4℃
  • 흐림순천14.8℃
  • 흐림부여16.2℃
  • 흐림울진16.7℃
  • 흐림대구17.1℃
  • 박무서울17.4℃
  • 흐림보령18.5℃
  • 흐림임실15.4℃
  • 흐림광양시18.3℃
  • 구름많음강릉19.4℃
  • 흐림해남16.9℃
  • 흐림강화15.1℃
  • 흐림영광군17.5℃
  • 흐림봉화12.8℃
  • 흐림통영18.9℃
  • 흐림안동15.2℃
  • 흐림여수20.0℃
  • 흐림세종16.3℃
  • 구름많음제주20.1℃
  • 흐림보성군17.2℃
  • 구름많음고산22.0℃
  • 구름많음춘천16.4℃
  • 흐림광주18.4℃
  • 박무인천18.0℃
  • 흐림구미16.4℃
  • 흐림대전16.9℃
  • 흐림문경15.5℃
  • 흐림파주15.6℃
  • 흐림홍천16.1℃
  • 흐림동두천15.4℃
  • 흐림의성15.1℃
  • 흐림상주15.8℃
  • 흐림김해시18.3℃
  • 흐림군산17.5℃
  • 구름조금속초18.8℃
  • 흐림태백11.9℃
  • 구름조금울릉도20.3℃
  • 흐림충주15.8℃
  • 흐림흑산도20.6℃
  • 흐림북창원18.6℃
  • 구름많음북부산17.2℃
  • 흐림양평16.1℃
  • 흐림장흥16.7℃
  • 2025.10.02 (목)

함수형 프로그래밍 언어, 이 10가지 언어에 주목하라

최정인 / 기사승인 : 2022-06-07 22:08:52
  • -
  • +
  • 인쇄

함수형 프로그래밍은 수학적 함수를 이용하여 코딩한다는 프로그래밍 패러다임이다. 객체지향 프로그래밍(OOPS 프로그래밍)은 ‘어떻게’ 문제를 해결할 것인가에 집중하지만, 함수형 프로그래밍은 ‘무엇’을 해결할지 집중한다. 함수형 프로그래밍을 이용하면 코드를 압축적으로 짤 수 있으며 깔끔하게 작성할 수 있다.

함수형 프로그래밍의 특성으로 코드 재사용과 함께 효율성 개선, 높은 코드 가독성, 디버깅이 쉬운 문법 등을 언급할 수 있다. 함수형 프로그래밍은 데이터 사이언스 이용에도 최적화되어 있다. 이에, 인도 IT 전문 잡지 애널리틱스 인사이트는 개발자가 가장 많이 이용하는 함수형 프로그래밍 언어 10종을 아래와 같이 소개했다.

1. 클로저(Clojure)
클로저는 범용 프로그래밍 언어로, JVM와 호환 가능하며, 자바 호출 시 코드 복제가 발생하지 않는다. 멀티 스레드 프로그래밍에 적합하다. 컴파일된 언어이지만, 런타임을 지원하는 일부 기능이 존재한다. 매크로 문법이 지저분하기로 유명하긴 하지만, 본체는 비교적 구문이 간단하다.

2. 엘릭서(Elixir)
엘릭서는 높은 동시성과 짧은 대기시간 및 결함 허용 시스템을 지원하는 프로그래밍 언어로, 규모 확장성과 다용성이 강한 애플리케이션 개발에 주로 활용한다.

3. 하스켈(Haskell)
하스켈은 고급 함수형 프로그래밍 언어로 선언적 구문 및 정적 타이핑의 특성을 갖는다. 하스켈은 컴파일 언어로 잘못된 구문에 대한 에러 메시지를 제공하며 최적화 기능이 뛰어나 주로 고성능 애플리케이션에 활용된다. 인수(argument)에 적용되는 느긋한 계산법 (lazy evaluation)은 코드를 보다 종합적으로 구성하는 데 유용하며, 컨스트럭트에 대한 통제력도 높다.

4. 스칼라(Scala)
스칼라는 정적 언어와 동적 언어의 특성 모두를 가지며 데이터 파이프라인 구축이나 빅데이터 프로젝트에 이용된다. 또한 방대한 라이브러리 생태계를 보유하고 있으며, 정적 타이핑을 이용하여 복잡한 애플리케이션의 버그를 줄일 수 있다. 자바, JVM 호환성도 높으며 함수가 일급 객체로 다뤄지는 함수형 프로그래밍 언어이다.

5. 파이썬(Python)
파이썬은 함수형 언어는 아니지만 람다, map(), filter() 와 같은 일부 기능이 높은 수준의 병렬 코드 작성을 지원한다. 파이썬은 쉽게 읽히는 코드와 문법 때문에 데이터 사이언스와 머신러닝 프로젝트에 빈번히 활용된다.

6. 엘름(Elm)
엘름은 웹 애플리케이션이나 HTML 애플리케이션 개발에 주로 활용되며 리팩토링이 쉽고 고성능 컴파일러를 지원한다. 엘름은 프레임워크 설계의 완성도가 높아 애플리케이션 렌더링이 매우 빠르다. 또한 자바스크립트와 높은 상호운용성을 자랑하며 코드 가독성이 높고 코드 패턴의 추적 없이 다양한 프로젝트에 적용 가능하다.

7. F#
F#은 오픈소스 크로스 플랫폼 프로그래밍 언어로, 탄탄한 코드를 작성할 때 사용한다. F#은 C#의 함수형 언어 버전으로 데이터 타입이 다양하며 문법이 쉽고 패턴 매칭과 비동기 프로그래밍을 지원한다. F#은 데이터 중심 함수형 프로그래밍 패러다임을 기반으로 하기 때문에 함수를 이용하여 데이터를 변환할 수 있다.

8. 얼랑(Erlang)
얼랑은 절차 지향 프로그래밍 언어로 경량 프로세스를 이용한다. 얼랑의 최대 장점은 서로 소통 가능한 함수 생성에 있다. 얼랑은 채팅 앱, 메시지 큐, 블록체인 앱 등 메시지 기반 애플리케이션 개발을 위한 최고의 프로그래밍 언어로 평가받는다. 얼랑은 프로세스당 자동화된 스토리지 관리와 가비지 컬렉션이 작동하여 반응성이 매우 높은 애플리케이션을 제작할 수 있다.

9. PHP
PHP는 빠른 프로토타입 제작과 용이한 웹 개발로 유명하며 최소한의 코드로 웹 기반 콘텐츠 관리 시스템까지 제작할 수 있다. PHP는 페이스북이나 워드프레스 같은 플랫폼 개발에도 사용된 언어이다. 사용하기 쉬우며 HTML, 자바스크립트, XML 임베딩이 용이하다. PHP는 기본적으로 함수형 프로그래밍 언어이지만 고급 버전은 객체지향 프로그래밍도 지원한다.

10. 자바스크립트
스크립팅 언어는 기본적으로 객체 지향 및 함수형 프로그래밍 모두에 이용된다. 자바스크립트는 실시간 프로토타입 제작이 필요할 때 유용하며 프론트엔드 및 웹 개발자들에게 인기 있다. 브라우저가 아닌 환경에도 이용할 수 있으며, 게임, 모바일 애플리케이션 개발 등에도 활용된다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue