2010년 3월 23일 화요일

파이썬(Python) 동작하는 플랫폼

파이썬 최초 버전은 매킨토시에서 개발되었지만, 현재는 다양한 플랫폼에서 동작한다.

마이크로소프트 윈도(9x계 및 NT계는 최신판, 3.1 및 MS-DOS는 구판만)

매킨토시(OS 9 이전 및 OS X 이후 함께)

각종UNIX

Linux

PalmOS

Nokia Series 60

파이썬(Python)에 영향을 준 언어

ABC : 들여쓰기에 의한 블럭 구분

Modula-2 : 모듈 기능

ICON : 사전, 슬라이스 연산자 등

SETL : 리스트의 내포 표현

C, C++ : 기본적인 문법

SmallTalk : 객체 지향

Lisp, Scheme : 함수형 언어적 특징

파이썬(Python) 개요

파이썬은 초보자부터 전문가까지 폭넓은 사용자층을 보유하고 있다. 동적 타이핑(dynamic typing) 범용 프로그래밍 언어로, 루비와 자주 비교된다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 또 파이썬은 순수한 프로그램 언어로써의 기능 외에도 다른 언어로 쓰여진 모듈들을 연결하는 풀언어(glue language)로써 자주 이용된다. 실제 파이썬은 많은 상용 애플리케이션에서 스크립트 언어로써 채용되고 있다. 도움말 문서화도 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자처리에도 능하다. 파이썬은 기본적으로 인터프리터 위에서 실행될 것을 염두에 두어 설계되었으며 다음과 같은 특징을 갖고 있다.: 동적 타이핑(dynamic typing). (실행 시간에 타입 체킹이 이루어진다.) 객체의 멤버에 대한 접근이 제한되어 있지 않다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.) 모듈, 클래스, 객체등의 언어의 요소가 내부로부터 액세스 가능하고, 리플렉션을 이용한 기술이 가능. 인터프리터로는 오리지날 C 로 쓰여진 버전 CPython 외에, C 스택을 사용하지 않는 스택리스 파이썬이나, Java 가상 머신 상에서 동작하는 Jython(과거 JPython이라고 불렸음), .NET 플랫폼 상에서 동작하는 IronPython, 파이썬으로 재구현하는 PyPy 등이 있다. 현대의 파이썬은 여전히 인터프리터 언어인 것처럼 동작하나 사용자가 모르는 사이에 스스로 파이썬 소스코드를 컴파일하여 바이트 코드(Byte code)를 생성함으로써 다음 번 수행 시에는 빠른 속도를 보여준다. 파이썬의 이러한 특징으로 소스코드의 유출 등의 보안 문제도 해결할 수 있게 되었다. 파이썬에서는 들여쓰기(indentation)를 사용해서 블럭을 구분하는 독특한 문법을 채용하고 있다. 이 문법은 파이썬에 익숙한 사용자나 기존 프로그래밍 언어에서 들여쓰기의 중요성을 높이 평가하는 사용자에게는 잘 받아 들여지고 있지만, 다른 언어의 유저에게서는 프로그래머의 코딩 스타일을 제한한다는 비판도 많다. 이 밖에도 네이티브 바이너리를 생성해 주는 C/C++ 등의 언어에 비해 수행 속도가 느리다는 단점이 있다. 그러나 비즈니스 분야 등 일반적인 컴퓨터 응용 환경에서는 속도가 그리 중요하지 않고, 빠른 속도를 요하는 프로그램의 경우에도 프로토타이핑 후 빠른 속도가 필요한 부분만 선택적으로 C언어 등으로 모듈화 할 수 있다(ctypes, SWIG, SIP 등 wrapper생성 프로그램들이 많이 있다). 또한 Pyrex, Psyco, NumPy 등을 이용하면 빠른 수치 연산이 가능하기 때문에 과학 및 공학 분야에서도 많이 이용되고 있다.

파이썬(Python)은?

1989년 암스테르담에서 프로그래머귀도 반 로섬(Guido van Rossum)에 의해 개발되기 시작한 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Pythons Flying Circus〉에서 따온 것이다. 외래어 표기법에 따르면 Python은 영어를 기준으로 할 때 한글로 '파이선'으로 적어야 하나, 정식으로 채택된 한글 표기는 파이썬이다.