
웹 개발 분야에서 자주 활용하는 언어를 이야기할 때, 자바스크립트를 빼놓고 이야기할 수 없다. 그러나 인도 IT 전문 잡지 애널리틱스 인사이트는 웹 개발 분야에서 C파이썬이 자바스크립트를 넘어설 수 있을 것이라고 주장했다.
C파이썬(CPython)은 코어 파이썬(Core Python)의 약자로 다른 파이썬 배포 버전의 참조 구현 버전이다. 버클리에서 활동하는 이단 스미스(Ethan Smith)라는 소프트웨어 개발자가 개발한 C파이썬은 WASM(CPython on WASM)은 C로 작성된 파이썬 언어이자 웹 개발을 위해 탄생한 언어이다.
웹 브라우저에서 여러 우회 방식으로 파이썬을 실행할 수 있다. 그중 가장 쉬운 방법은 서버에서 파이썬을 실행하고 아웃풋을 웹소켓(WebSocket)을 통해 추출하거나 자바스크립트로 파이썬을 재작성하는 방법이다.
하지만 코드를 변환하면 코드가 쓸데없이 장황해지고 버그도 많을 수밖에 없다. 그렇다면 C파이썬은 다른가? C파이썬은 웹어셈블리(Web assembly, WASM) 환경에서만 실행 가능하다. 웹어셈블리 환경에서는 네이티브에 가까운 퍼포먼스를 선보이면서 크로스-플랫폼 웹 개발이 가능하다. 성능에 민감한 애플리케이션도 가능하다. 이는 자바스크립트의 단점도 보완하며 파이썬이 가지고 있는 설치, 가상환경 관리, 의존성 문제 등도 해결한다.
C파이썬은 파이스크립트(Pyscript)의 후속작으로 브라우저와 Node.js를 위한 파이썬 배포 버전인 파이오디드(Pyodide)를 기반으로 개발되었다. 파이오디드는 모질라(Mozilla)에서 파이썬을 실행할 의도로 개발된 언어로, 넘파이(Numpy), 판다스(Pandas), 매트플롯(Matplotlib), 싸이파이(SciPy), 싸이키트런(Scikitlearn) 등 자바스크립트에는 없는 인브라우저 분석적 처리에 특화되어 있다. 게다가 파이오디드는 온전히 브라우저에서 실행되는 파이썬 인터프리터와 웹 API를 제공한다.
파이오디드의 출시 이후 많은 이들은 파이썬이 지나치게 데이터 사이언스에 편중되는 것은 아닌지 염려하기도 하였다. 파이썬의 미래가 어디로 향할지는 오로지 시간이 지나야 알겠지만, 인브라우저 컴파일러의 발전은 C파이썬의 발전 가능성을 충분히 보여준다.
사실, 과거에도 자바스크립트의 입지를 넘어서겠다고 선언한 프로그래밍 언어가 등장했다. C#, 브라이썬(Brython), 블레이저(Blazor)도 자바스크립트를 역전할 수 있다고 호언장담했으나 대부분 주류 언어로 살아남지는 못하였다.
하지만 이단 스미스는 C파이썬이 웹 인터페이스에 성공적으로 정착하여 전례와 다르게 쉬운 통합화를 통하여 웹 개발의 영역을 확대할 것으로 기대한다.
또, 애널리틱스 인사이트는 C파이썬이 여전히 실험 단계에 머무르고 있지만, 그 잠재적인 활용성이 풍부하다고 전했다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]