개발자

개발에 새로운 힘을 부여하는 '프로그래밍 언어 분기'

Serdar Yegulalp | InfoWorld 2015.04.14

3 - 하위집합과 확대집합: 파이썬
세 번째 언어 변형은 성능을 높이거나 특정 문제를 해결하기 위해 탄생하는 언어의 하위집합(언어의 축소 버전)이다. 모질라의 asm.js는 자바스크립트의 하위집합으로, C/C++ 프로그램을 컴파일할 수 있다. 큰 인기를 자랑하는 파이썬에도 많은 하위집합이 있다.

파이썬의 하위집합은 일반적으로 파이썬 성능 문제를 해결하는 것을 목표로 한다. 기능을 줄이는 만큼 최적화하기도 더 쉽기 때문이다. 파이파이(PyPy) 파이썬 구현에 사용되는 언어인 R파이썬은 “정적 분석에 적합한 파이썬의 제한된 하위집합”이며, 특정 시점에 가능한 변수의 형식을 더욱 엄격히 제어할 수 있게 해준다. 결과 코드는 파이썬 자체보다 파이파이 JIT 컴파일러를 통해 훨씬 더 효과적으로 최적화할 수 있다.

하위집합이 있는 반면 확대집합도 있다. 기능을 더 추가해서 수행 가능한 작업의 범위를 확대한 언어다. 파이썬의 변형인 싸이썬(Cython)은 파이썬 코드에서 바로 C 코드를 생성할 수 있다. 따라서 프로그래머는 C를 통해 파이썬 프로그램의 성능을 높일 수 있다.

싸이썬 또는 R파이썬과 같은 언어가 그 본래 언어와 같은 수준의 관심을 얻는 경우는 매우 드물다. 싸이썬의 경우 주로 C와 파이썬을 결합하는 사람들이 사용한다. 거기 해당되지 않는다면 굳이 싸이썬을 사용할 이유가 없다.

가끔은 확대집합과 하위집합의 기능이 주 언어로 전이되는 때도 있다. 그 예가 파이썬의 정적 형식 지정이다. 코드 프로파일링을 더 쉽게 하고 궁극적으로는 전체적인 성능을 높이는 방편으로 파이썬 3에 형식 힌트를 추가하자는 제안이 있다.

향후 분기될 만한 후보 언어들
현재 광범위하게 사용되는 언어 중 가까운 시일 내에 분기될 가능성이 높은 다른 언어는 무엇일까?

구글 고(Go, 고랭(Golang)이라고도 함)가 유력하다. 도커와 같은 유명 프로젝트가 고로 만들어지면서 유명세와 찬사를 받고 있다. 그러나 높은 인기에도 불구하고 고의 몇 가지 기능과 동작에는 제약이 있다. 예를 들어, 고의 오류 처리 메커니즘은 많은 지적을 받는다. 제네릭의 부재도 자주 언급되는 단점 중 하나인데, 고 개발팀은 앞으로도 제네릭은 추가되지 않을 것이라고 밝힌 바 있다. 고 설계자들이 입장을 고수한다면(모든 정황이 이를 가리키고 있다) 불만을 가진 사람에게 남은 유일한 방법은 언어의 분기다.

마이크로소프트의 닷넷 언어(주로 C#) 변형도 후보군이다. 마이크로소프트의 새로운 오픈 소스 컴파일 프레임워크를 통해 가능성이 더욱 높아졌다. C#과 닷넷의 오픈 소스 구현인 모노(Mono)와 같은 프로젝트와는 다른 성격으로, C#과의 호환성을 유지하든 유지하지 않든 새로운 방향으로 전환하게 될 가능성이 높다.

마지막으로 언급할 가능성은 언어보다는 사양의 분기에 가까운 것이지만 바로 HTML의 다음 메이저 버전이다. 어떤 면에서 보면 이미 일어났다고 할 수 있다. WHATWG와 HTML5는 W3C와 그 표준의 분기라고 볼 수 있다. 이러한 분기가 이를 실행할 브라우저와 함께 나온다 해도, 판도를 바꾸리라는 보장은 없다. 그러나 분기에는 숙명적으로 위험(과 보상)이 따를 수밖에 없다. editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.