태그

2015년 6월 28일 일요일

Python, R, Java, C

Python R을 비교한 좋은 링크가 하나 있어 공유 드립니다.

그리고 Python C 혹은 Java와의 조합 이야기도 있었는데요. 찾아 보니 내용이 조금 다르더군요.

Python C 환경에서 사용할 수 있는 것이 Cython(싸이썬) 입니다.
간혹, CPython 이 보이기도 하는데요, 이건 Python 개발을 한 C 프로젝트를 말하는 겁니다. (Python C로 개발되었습니다.)

Cython Python을 작성한 코드를 C로 컨버팅 해주는 개념입니다.
컴파일을 하면, 마치 C 컴파일러로 컴파일 한 것과 같은 산출물이 나오는 것이죠. 여기서 LLVM 이라는 컴파일러를 활용하고 있습니다.

Java와 연계가 가능한 Jython(자이썬)은 위와 같은 개념이기 한데, 조금 더 나아가서..
Python 코드에서 Java 라이브러리를 호출하여 사용이 가능합니다.
Python 으로 코딩하면서 Java 코드를 삽입 하는 개념이죠.

이후 컴파일 하면, JVM 용 바이트코드로 변환하여, JVM 상에서 구동 됩니다.

R Python의 연계도 가능합니다.
rpy Python에서 R 함수를 호출 할 수 있는 개념입니다.

반대로도 가능합니다. R에서 Python을 콜하는 건 rPython 이라 하는 군요.


이외에도 여러 방면에서 조합이 가능합니다.

하지만 무리하게 한 프로젝트에서 여러 언어를 쓸 필요는 없겠죠? :)

>_