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

  • 흐림영월18.4℃
  • 흐림완도17.9℃
  • 흐림서산19.8℃
  • 구름많음서울22.1℃
  • 흐림거제19.8℃
  • 구름많음이천19.4℃
  • 구름많음울릉도20.2℃
  • 흐림고창군19.3℃
  • 비전주21.8℃
  • 구름많음백령도19.8℃
  • 흐림북창원22.2℃
  • 흐림봉화17.8℃
  • 흐림임실18.3℃
  • 흐림창원21.9℃
  • 흐림합천20.0℃
  • 흐림순천17.6℃
  • 흐림군산20.6℃
  • 흐림북강릉19.0℃
  • 구름많음정선군18.3℃
  • 비광주20.0℃
  • 흐림장흥18.4℃
  • 구름많음충주19.7℃
  • 비목포20.1℃
  • 흐림밀양21.5℃
  • 흐림울진20.2℃
  • 흐림의령군18.4℃
  • 흐림광양시19.9℃
  • 흐림경주시20.7℃
  • 흐림천안19.7℃
  • 비흑산도19.7℃
  • 흐림통영20.6℃
  • 구름많음북춘천19.9℃
  • 흐림영덕19.2℃
  • 흐림고산23.1℃
  • 흐림수원20.6℃
  • 흐림태백17.0℃
  • 흐림강진군18.7℃
  • 흐림보성군18.9℃
  • 흐림보령20.8℃
  • 흐림청주23.2℃
  • 흐림울산21.6℃
  • 흐림보은18.8℃
  • 흐림부여20.2℃
  • 구름많음강릉21.1℃
  • 흐림청송군18.3℃
  • 구름많음철원19.7℃
  • 흐림문경19.0℃
  • 구름조금홍천19.9℃
  • 흐림순창군18.5℃
  • 흐림산청18.4℃
  • 흐림구미20.4℃
  • 비여수21.2℃
  • 흐림세종20.6℃
  • 흐림상주20.0℃
  • 흐림안동22.0℃
  • 구름많음동두천19.7℃
  • 흐림금산20.1℃
  • 맑음속초19.9℃
  • 흐림추풍령18.9℃
  • 흐림제천19.6℃
  • 흐림정읍20.0℃
  • 흐림의성20.3℃
  • 흐림고흥19.6℃
  • 흐림서귀포24.8℃
  • 흐림장수16.8℃
  • 흐림거창18.6℃
  • 흐림영천20.5℃
  • 구름많음원주21.0℃
  • 흐림북부산21.8℃
  • 구름많음인제18.7℃
  • 흐림남해19.6℃
  • 구름많음파주18.2℃
  • 흐림대전21.3℃
  • 흐림홍성20.0℃
  • 흐림서청주19.3℃
  • 흐림강화18.2℃
  • 흐림인천21.8℃
  • 흐림고창19.5℃
  • 흐림부산22.9℃
  • 흐림진주18.3℃
  • 흐림영광군19.8℃
  • 구름많음대관령14.8℃
  • 흐림포항22.8℃
  • 흐림김해시22.0℃
  • 구름많음춘천20.2℃
  • 흐림제주24.4℃
  • 구름많음양평20.5℃
  • 흐림진도군17.7℃
  • 흐림양산시22.9℃
  • 흐림성산25.8℃
  • 흐림동해20.5℃
  • 흐림대구22.2℃
  • 흐림영주19.1℃
  • 흐림부안20.0℃
  • 흐림해남18.0℃
  • 흐림남원18.5℃
  • 흐림함양군18.4℃
  • 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