| r6 vs r8 | ||
|---|---|---|
| ... | ... | |
| 18 | 18 | * 느린 속도를 보완하기 위해서 보통 여러 가지 방법이 동원된다. 기본적으로는 파이썬 내장 모듈을 사용해서 멀티쓰레딩이나 멀티프로세싱을 구현한다. Scipy나 Numpy와 같은 모듈의 고속 계산 함수를 꺼내 쓰기도(Vectorize) 한다. 더 나아가서는 속도가 빠른 C와 같은 언어를 래핑(Wrapping)하여 작성하기도 한다. 전문적으로 개발할 때는 외부 패키지에 의존하지 않고 직접 작성한 코드에서 고속화를 하기 위해 자연스럽게 더 높은 난이도의 언어를 혼합해서 사용하게 된다. 이 경우 파이썬은 논리적인 부분을 담당하고, 래핑된 다른 언어는 반복 연산을 담당하게 된다. 대표적인 예시로 Numba나 Cython같은 제3자 솔루션을 적용하기도 하며, 흔히 인공지능 용도로 사용되는 Python 라이브러리인 TensorFlow 는 C++ 로 작성되었다. Python 을 이용하면 TensorFlow 를 '사용' 만 할 수 있을뿐이다, TensorFlow 의 로직 자체를 수정 및 커스텀 하기 위해선 반드시 C++ 코드에 손을 대야 한다. |
| 19 | 19 | * 일반 사용자에게의 배포 |
| 20 | 20 | * 파이썬은 프로그래머가 곧 자기가 만든 프로그램의 이용자가 되기 위해 사용되며 발달해 왔기 때문에, 긴 역사에도 불구하고 일반 사용자에게 배포를 하는 과정이 간접적이고 복잡하며, 파편화되어 발달이 덜 되어 있다. 그나마 '파이썬 프로그래머'들에게 '파이썬 프로그래머'가 배포를 하는 방식은 몇 가지가 있으나, '순수한 사용자' 에게 '(파이썬으로 만든)기능'을 전달하는 수단에 있어서는 다른 언어들에선 상상하기 어려울 정도로 원시적인 측면이 있다. |
| 21 | ||
| 22 | == 이름의 유래 == | |
| 23 | 파이썬 언어는 영국의 코미디언 그룹인 몬티 파이썬(Monty Python)에서 이름을 따왔다. |