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

  • 흐림군산6.1℃
  • 구름많음북강릉0.8℃
  • 흐림춘천-2.4℃
  • 구름많음대관령-1.4℃
  • 흐림북춘천-3.0℃
  • 흐림충주0.3℃
  • 구름많음울진2.5℃
  • 맑음영천-1.0℃
  • 맑음제주9.7℃
  • 구름많음창원5.1℃
  • 흐림양평-0.2℃
  • 흐림영주-0.6℃
  • 흐림문경1.5℃
  • 맑음경주시-2.2℃
  • 흐림부산6.8℃
  • 흐림거제3.9℃
  • 흐림광양시4.4℃
  • 흐림장흥1.8℃
  • 구름많음대구-0.6℃
  • 흐림고흥3.0℃
  • 흐림인제-2.7℃
  • 흐림울산3.6℃
  • 흐림천안1.7℃
  • 구름많음산청-1.7℃
  • 구름많음함양군-2.5℃
  • 흐림서울0.8℃
  • 흐림인천1.6℃
  • 흐림청주1.7℃
  • 흐림해남10.3℃
  • 흐림이천-0.3℃
  • 흐림서산3.1℃
  • 흐림목포7.1℃
  • 구름많음태백3.0℃
  • 구름많음영광군6.5℃
  • 구름많음영덕0.3℃
  • 흐림상주1.1℃
  • 흐림진도군11.4℃
  • 흐림속초1.9℃
  • 흐림김해시4.4℃
  • 구름조금구미-1.5℃
  • 구름많음합천-0.9℃
  • 흐림광주7.2℃
  • 구름조금청송군-4.1℃
  • 흐림부여1.5℃
  • 구름많음진주0.8℃
  • 흐림수원1.9℃
  • 흐림울릉도4.8℃
  • 구름많음임실3.6℃
  • 흐림제천-0.9℃
  • 맑음성산14.0℃
  • 구름많음정읍8.4℃
  • 흐림통영4.5℃
  • 흐림남원2.0℃
  • 흐림대전2.0℃
  • 흐림동두천-1.4℃
  • 구름많음장수7.3℃
  • 구름조금추풍령-0.3℃
  • 구름많음북창원5.3℃
  • 구름조금서귀포14.8℃
  • 흐림강화-0.9℃
  • 흐림홍성1.6℃
  • 흐림북부산3.8℃
  • 구름많음정선군-2.9℃
  • 구름많음동해3.6℃
  • 구름많음순창군1.4℃
  • 흐림철원-3.2℃
  • 맑음고산14.6℃
  • 구름조금포항2.6℃
  • 흐림파주-2.5℃
  • 흐림보령10.5℃
  • 흐림양산시5.2℃
  • 맑음의성-2.9℃
  • 흐림세종1.5℃
  • 흐림순천-0.2℃
  • 흐림금산1.3℃
  • 흐림봉화-2.5℃
  • 구름많음거창-2.3℃
  • 흐림원주-1.0℃
  • 구름많음밀양1.2℃
  • 구름많음부안7.2℃
  • 흐림보성군1.2℃
  • 흐림홍천-1.6℃
  • 흐림강진군3.1℃
  • 흐림완도5.3℃
  • 흐림안동-0.3℃
  • 구름많음전주7.8℃
  • 흐림보은0.8℃
  • 구름많음강릉3.0℃
  • 구름많음고창군9.5℃
  • 흐림백령도1.7℃
  • 흐림흑산도12.4℃
  • 흐림여수5.3℃
  • 구름많음의령군-0.9℃
  • 흐림남해3.4℃
  • 흐림서청주0.8℃
  • 구름많음고창7.7℃
  • 흐림영월-1.7℃
  • 2026.01.15 (목)

함수형 프로그래밍 언어, 이 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