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

  • 흐림밀양23.6℃
  • 흐림영광군22.6℃
  • 구름조금서귀포28.9℃
  • 구름많음서울24.2℃
  • 구름조금성산27.5℃
  • 흐림세종21.9℃
  • 구름조금춘천22.4℃
  • 흐림남해22.2℃
  • 맑음이천23.2℃
  • 흐림정읍22.2℃
  • 흐림부안22.9℃
  • 흐림통영24.5℃
  • 흐림남원20.6℃
  • 구름조금속초22.7℃
  • 흐림완도25.0℃
  • 흐림고흥22.8℃
  • 흐림서청주22.3℃
  • 맑음영주23.8℃
  • 구름조금강릉24.5℃
  • 흐림영천21.5℃
  • 흐림진주21.1℃
  • 흐림순천22.8℃
  • 구름많음군산22.1℃
  • 흐림광주23.4℃
  • 구름많음고산27.2℃
  • 구름많음동두천23.7℃
  • 구름많음상주22.1℃
  • 흐림울산23.9℃
  • 맑음태백21.7℃
  • 구름많음제주27.2℃
  • 흐림김해시23.8℃
  • 흐림장흥22.8℃
  • 흐림북부산25.1℃
  • 흐림함양군20.4℃
  • 구름많음대전23.2℃
  • 구름많음철원23.2℃
  • 구름조금정선군25.4℃
  • 흐림천안22.5℃
  • 흐림합천23.4℃
  • 구름많음청송군24.3℃
  • 박무청주22.8℃
  • 구름조금수원24.6℃
  • 흐림임실21.4℃
  • 흐림강화23.2℃
  • 맑음북강릉23.4℃
  • 흐림구미21.8℃
  • 흐림강진군23.1℃
  • 흐림보성군23.4℃
  • 흐림고창군22.5℃
  • 구름많음인천23.7℃
  • 흐림부산26.0℃
  • 구름조금영월23.3℃
  • 흐림의령군21.0℃
  • 비목포22.9℃
  • 흐림전주23.4℃
  • 흐림거제24.8℃
  • 흐림광양시23.4℃
  • 흐림경주시23.4℃
  • 구름조금봉화23.7℃
  • 흐림순창군20.9℃
  • 구름많음울릉도25.0℃
  • 구름조금양평23.4℃
  • 흐림대구21.9℃
  • 맑음울진24.9℃
  • 구름많음문경22.4℃
  • 흐림장수21.4℃
  • 흐림의성22.8℃
  • 구름많음파주21.4℃
  • 흐림창원23.5℃
  • 흐림거창21.7℃
  • 흐림양산시25.3℃
  • 흐림포항24.2℃
  • 구름많음보령25.1℃
  • 구름조금홍천22.2℃
  • 흐림해남24.1℃
  • 흐림산청20.0℃
  • 구름많음부여23.5℃
  • 구름많음안동23.5℃
  • 흐림여수23.3℃
  • 흐림북창원24.0℃
  • 구름많음제천22.4℃
  • 구름조금원주24.4℃
  • 맑음동해24.0℃
  • 흐림추풍령21.4℃
  • 구름많음금산21.1℃
  • 흐림서산23.6℃
  • 흐림진도군23.7℃
  • 구름많음충주24.4℃
  • 맑음인제22.5℃
  • 구름조금대관령20.6℃
  • 구름많음홍성23.5℃
  • 흐림보은20.8℃
  • 흐림고창22.6℃
  • 비흑산도23.4℃
  • 흐림백령도23.1℃
  • 구름많음영덕24.1℃
  • 구름많음북춘천21.8℃
  • 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