Difference between revisions of "파이썬"

Jump to navigation Jump to search
269 bytes added ,  18:20, 4 April 2018
no edit summary
Line 2: Line 2:
<div style="float: right; margin-left: 12px">__TOC__</div>
<div style="float: right; margin-left: 12px">__TOC__</div>
= 개요 =
= 개요 =
[[파이썬]]([[Python]])은 [[프로그래밍 언어]]의 일종이다. 창시자는 [[귀도 반 로섬]]([[Guido van Rossum]])이다. 네덜란드어 발음으로 '[[히도 판 로쉼]]'. 1989년 크리스마스 주에 연구실은 닫혀있고 심심해서 만들었다. 귀도가 즐겨 보던 영국의 6인조 개그 그룹 [[몬티 파이선]]([[Monty Python]])에서 이름을 땄다. [[Python]]의 창시자 [[귀도 반 로섬]]은 [[구글]]에 입사했다가 2012년 12월 7일부로 [[DropBox]]에 이직했다. 한 [[헤드헌터]]로부터 경력직 파이썬 개발자 취업 제안을 받은 적도 있다고 한다. 즉, 파이썬 창시자에게 파이썬 '경력직' 개발자를 구하는 수준의 메일을 보낸 것(...). https://plus.google.com/115212051037621986145/posts/R8jEVrobbRj ~~면접관: 파이썬 어느정도 하시나요? 귀도: '''제가 만들었는데요'''.~~
[[파이썬]]([[Python]])은 [[프로그래밍 언어]]의 일종이다. 창시자는 [[귀도 반 로섬]]([[Guido van Rossum]])이다. 네덜란드어 발음으로 [[히도 판 로쉼]]이다. 1989년 크리스마스 주에 연구실은 닫혀있고 심심해서 만들었다. 귀도가 즐겨 보던 영국의 6인조 개그 그룹 [[몬티 파이선]]([[Monty Python]])에서 이름을 땄다. [[귀도 반 로섬]]은 [[구글]]에 입사했다가 2012년 12월 7일부로 [[드랖박스]]([[Dropbox]])로 [[이직]]했다. 한 [[헤드헌터]]로부터 경력직 파이썬 개발자 취업 제안을 받은 적도 있다고 한다. 즉, 파이썬 창시자에게 파이썬 '경력직' 개발자를 구하는 수준의 메일을 보낸 것(...). https://plus.google.com/115212051037621986145/posts/R8jEVrobbRj ~~면접관: 파이썬 어느정도 하시나요? 귀도: '''제가 만들었는데요'''.~~




Line 28: Line 28:


= 언어 구현 =
= 언어 구현 =
보통 말하는 Python은 [[C 언어]]로 구현되었으며, 다른 구현체와 구분하여 언급할 때에는 [[CPython]]이라고 표기한다. CLR [[바이트코드]]로 구현된, 즉 닷넷프레임워크 위에서 동작하는 IronPython, CPython에서 C 스택을 없앤 Stackless Python, JVM바이트코드로 구현되어 JVM 위에서 돌아가는 Jython, 파이썬 자체로 구현된 [[PyPy]] 등이 있으며 이 가운데 오리지날은 CPython이다. 이전 버전 문서에는 C#으로 구현된 Ironpython, Java로 구현된 Jython이라고 되어있었으나 이는 명백한 오류다. Jython이 JVM 바이트 코드가 아니라 java로 구현된거라면 안드로이드 dalvik vm에서는 왜 안돌아간다고 생각하는가? 또한, [[Dropbox]]에서 [[파이썬]]을 프론트엔드로 하고 LLVM을 백엔드로 사용하는 [[Pyston]]이란 [[JIT]] 기반 파이썬을 개발하였다. https://github.com/dropbox/pyston
보통 말하는 Python은 [[C 언어]]로 구현되었으며, 다른 구현체와 구분하여 언급할 때에는 [[CPython]]이라고 표기한다.
 
CLR [[바이트코드]]로 구현된, 즉 [[닷넷 프레임워크]] 위에서 동작하는 IronPython, CPython에서 C 스택을 없앤 Stackless Python, JVM 바이트코드로 구현되어 JVM 위에서 돌아가는 Jython, 파이썬 자체로 구현된 [[PyPy]] 등이 있으며 이 가운데 오리지날은 CPython이다. 이전 버전 문서에는 C#으로 구현된 Ironpython, Java로 구현된 Jython이라고 되어있었으나 이는 명백한 오류다. Jython이 JVM 바이트코드가 아니라 Java로 구현된거라면 안드로이드 Dalvik VM에서는 왜 안돌아간다고 생각하는가?
 
파이썬 창시자 [[Guido van Rossum]]이 다니는 [[Dropbox]]에서 [[파이썬]]을 프론트엔드로 하고 [[LLVM]]을 백엔드로 사용하는 [[Pyston]]이란 [[JIT]] 기반 파이썬을 개발하였다. https://github.com/dropbox/pyston
 
LLVM(이전 이름: Low Level Virtual Machine)은 컴파일러의 기반구조이다. 프로그램을 컴파일 타임, 링크 타임, 런타임 상황에서 프로그램의 작성 언어에 상관없이 최적화를 쉽게 구현할 수 있도록 구성되어 있다.


한편 [[중국]]에서는 Chinese Python이라는, 중국어 문법으로 한자를 쳐서 돌아가는 언어를 개발했다.
한편 [[중국]]에서는 Chinese Python이라는, 중국어 문법으로 한자를 쳐서 돌아가는 언어를 개발했다.
C 바인딩인 ctypes도 있다.


== PyPy ==
== PyPy ==
Line 158: Line 162:
파이썬은 접착(glue) 언어라고도 부르는데, 그 이유는 다른 언어들과 잘 어울려 다른 언어와 결합해서 사용할 수 있기 때문이다. C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있으며, 파이썬으로 만든 프로그램 역시 C나 C++에서 사용할 수 있다.
파이썬은 접착(glue) 언어라고도 부르는데, 그 이유는 다른 언어들과 잘 어울려 다른 언어와 결합해서 사용할 수 있기 때문이다. C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있으며, 파이썬으로 만든 프로그램 역시 C나 C++에서 사용할 수 있다.


Python만 쓰는 것이 답은 아니다. 동적 인터프리팅 언어의 한계로 당연히 C, C++ 같은 low-level 언어의 계산속도를 따라갈 순 없으며, 사실 [[자바스크립트]]나 [[LISP]]계열 언어 등 동적 언어들을 전체를 주욱 놓고 비교 해봐도 속도가 빠른 편은 아니다. 보통 인터프리터 언어의 속도 문제를 극복하기 위해서 인터프리터에 [[JIT]] 컴파일러를 넣는 추세지만 python의 표준인 CPython에서는 구현이 안되어 있다. ~~[[Pyston]] 프로젝트가 잘되면 [[수정바람]].~~
Python만 쓰는 것이 답은 아니다. 동적 인터프리팅 언어의 한계로 당연히 C, C++ 같은 low-level 언어의 계산속도를 따라갈 순 없으며, 사실 [[자바스크립트]]나 [[LISP]]계열 언어 등 동적 언어들을 전체를 주욱 놓고 비교 해봐도 속도가 빠른 편은 아니다. 보통 인터프리터 언어의 속도 문제를 극복하기 위해서 인터프리터에 [[JIT]] 컴파일러를 넣는 추세지만 python의 표준인 CPython에서는 구현이 안되어 있다.


C 바인딩인 ctypes도 있다.


= 사용 용도 =
= 사용 용도 =
234

edits

Navigation menu