본문 바로가기

2018
cio

글: Hannah Williams | Techworld | 2018.10.26

 

 

광범위한 분야에서 성장하는 인공지능은 다양한 프로그래밍 언어로 작성될 수 있다. 많은 프로그래밍 언어 가운데 어떤 것이 향후 추진할 AI 프로젝트에 적합한지 파악하기는 어렵다. 

AI를 프로그래밍하는 데 도움이 되는 프로그래밍 언어 10가지를 소개한다. 

1. 줄리아

Credit: House of Bots


줄리아(Julia)는 제프 베잔슨, 스테판 카핀스키, 비랄 B. 샤, 앨런 에델만이 2009년에 공동으로 개발한 범용 프로그래밍 언어이다. 줄리아는 속도를 높이기 위해 별도의 컴파일 작업을 필요로 하지 않는 고성능 수치 해석 및 계산 과학으로 설계되었다. 이를 위해 줄리아는 종종 파이썬의 속도 문제에 대한 해결책으로 간주되기도 한다.

간단한 구문과 깊은 수학적 기반 덕분에 줄리아는 데이터 분석가 등을 위한 사용자 친화적인 프로그래밍 언어가 되었다. 또한 머신러닝과 AI를 위한 프레임워크인 플럭스(Flux)도 포함된다. 줄리아의 수학 구문과 결합하여 알고리즘을 논문으로 쓰는 이상적인 방법을 제공한다. 줄리아는 텐서플로, MXNet과 같은 다른 머신러닝 프레임워크도 지원한다.

2. 하스켈
하스켈(Haskell)은 엄격하지 않은 의미 체계와 강력한 정적 유형을 사용하도록 설계된 표준화된 범용 프로그래밍 언어이다. 1990년에 처음 개발된 하스켈은 학계에서 주로 사용되었지만 AT&T, 페이스북, 구글 등의 산업계 프로젝트에서 쓰인 사례도 몇 가지 있다. 하스켈은 미란다 프로그래밍 언어의 의미를 기반으로 하며 효율적인 라이브러리가 AI 알고리즘을 표현할 수 있도록 한다. 또한 AI 및 많은 다른 분야에 적용할 수 있는 프로그래밍 언어 연구의 유명한 분야인 임베디드 도메인 특정 언어도 지원한다.

3. R

Credit: IBM


여기서 소개된 프로그래밍 언어들과는 달리 R은 통계 컴퓨팅 및 그래픽을 위한 고유한 프로그래밍 언어이자 무료 오픈소스 소프트웨어 환경이다. 로스 이하카와 로버트 젠틀맨이 1993년에 설계한 R은 통계 소프트웨어와 데이터 분석을 개발하기 위해 통계 학자와 데이터 마이너들 사이에서 널리 사용된다. 또한 새로운 스타일의 AI 및 일반 머신러닝에도 사용된다. R은 벡터 계산, 함수 프로그래밍 및 객체 지향 프로그래밍과 같은 프로그래밍의 여러 패러다임을 제공하며 금융, 생물학, 의학과 같은 영역의 주요 표준 언어 중 하나로 간주된다.

4. C++

Credit: GettyImages


C++는 성능, 효율, 유연성을 염두에 두고 설계되었으므로 속도를 추구하는 많은 AI 프로그래밍 프로젝트에서 사용할 수 있는 언어다. C++는 다른 프로그래밍 언어보다 실행 속도가 빠르고 대기 시간이 짧기 때문에 복잡한 AI 문제에 대한 솔루션을 찾는 데 적합하다. 또한 알고리즘을 광범위하게 사용할 수 있으며 신경망과 같은 통계 인공지능 기법을 작성하는 효율적인 수단이다.

다양한 알고리즘이 C++로 작성됐으며 빠르게 구현할 수 있다는 장점으로 게임에서 인기 있다. 대표적으로 C++은 개발자가 복잡한 게임, 시뮬레이션, 시각화를 설계하고 구축하는 데 사용되는 인기 있는 도구 모음인 언리얼 엔진 4(Unreal Engine 4)에서 큰 역할을 한다.
 

5. 매트랩
매트랩(Matrix Laboratory)은 매스웍스(MathWorks)에서 개발한 독점 프로그래밍 언어이다. 이는 많은 소프트웨어 엔지니어와 개발자들이 에지 시스템과 AI 프로젝트를 분석하는 데 널리 사용된다. 개발자가 데이터를 시각화하고 의미 있는 통찰력을 얻을 수 있도록 그래픽 기능이 들어 있는 사용하기 쉬운 언어다. 매트랩은 행렬 표현 및 실행을 고려할 때 머신러닝과 AI 프로젝트에 적합한 선택이다.
6. 파이썬

Credit: Python


파이썬은 널리 사용되는 프로그래밍 언어이며 단순하고 깔끔한 구조로 AI에서 사용할 수 있다. 파이썬의 문법을 사용하면 다른 AI 알고리즘을 매우 쉽게 구현할 수 있으며 사용 가능한 다른 프로그래밍 언어와 비교하여 개발 시간이 단축된다. 파이썬을 도입하면 사용자가 AI 개발에 사용할 수 있는 유용한 라이브러리를 선택하여 신경망을 구축할 수 있다. 다른 기능으로는 알고리즘을 구현하지 않고도 알고리즘을 테스트할 수 있는 옵션이 있다. 또한 객체 지향, 기능적 및 프로시저 지향 프로그래밍 스타일을 지원한다.

7. LISP
LISP는 사용 가능한 가장 오래된 프로그래밍 언어 중 하나지만, 독특한 기능 때문에 AI 개발용으로 인기 있는 언어 중 하나다. LISP는 본질적으로 컴퓨터 프로그램을 위한 실용적인 수학 표기법이다. 개발자는 해결해야 할 문제에 적응할 수 있는 유연성 때문에 LISP를 머신러닝 및 AI 프로젝트에 사용하는 경향이 있다. 이와 함께 LISP는 빠른 프로토타이핑 기능, 컬렉션 유형 라이브러리, 기호식 지원, 기타 기능을 제공한다.

8. 프롤로그
프롤로그는 종종 AI 개발에 사용되는 최고의 프로그래밍 언어 중 하나인 LISP와 정면으로 경쟁하기도 한다. 플로로그는 가장 오래된 논리 프로그래밍 언어 중 하나며 규칙과 사실로 표현되는 프로그램에 주력하며 선언형 언어를 제공한다. 이 언어는 AI 개발에 특히 효과적이며 전문가 시스템을 만들 수 있고 논리 문제도 해결할 수 있다. 주요 기능에는 패턴 일치, 자동 역추적, 트리 기반 데이터 구조화 메커니즘이 포함된다.

9. AIML
AIML(Artificial Intelligence Markup Language)은 인공지능 프로젝트에서 챗봇 제작에 사용되는 XML 언어로 인식된다. 이 프로그래밍 언어는 자연어를 사용하는 대화 상대를 만들 수 있다. 예를 들어, 프로그램을 사용하여 '앨리스봇 클론(Alicebot clones)'이라고 하는 여러 개의 대화 상자가 생성된 적이 있다. AIML 인터프리터는 자바, 파이썬 등과 같은 다른 프로그래밍 언어에서도 찾을 수 있다.

10. 자바

Credit: Oracle


상당히 인기 있는 프로그래밍 언어인 자바는 검색 알고리즘, 신경망, 자연어처리(NLP)를 제공하기 때문에 인공지능 프로그래밍에 좋은 선택이 될 수 있다. 자바는 그래픽 표현, 디버깅, 확장성을 제공하며 이해하기 쉬운 언어로도 알려져 있다. 또한 자바의 이식성은 다양한 임베디드 유형의 가용성을 기반으로 다양한 애플리케이션에서 선호되는 방법으로 구현해 준다. ciokr@idg.co.kr

 

※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒCIO Korea. 무단전재 및 재배포 금지

[원문출처 : http://www.ciokorea.com/news/39956]

맨 위로
맨 위로