2014년 1월 20일 월요일

파이썬으로 무엇을 할 수 있는가?

좋은 언어와 나쁜 언어는 이미 정해진 걸까? 그렇다면 어떤것이 최고의 언어일까? 가만히 살펴보면 어떤 언어든지 강한 부분과 약한 부분이 존재한다. 어떤 프로그램을 만들 것인지에 따라 선택해야 할 언어도 달라진다. 한 언어만을 고집하고 그 언어로만 모든 것을 하겠다는 생각은 현실과는 맞지 않는다. 따라서 자신이 만들고자 하는 프로그램을 가장 잘 만들 수 있게 도와주는 언어가 어떤 것인지 알아내고 선택하는 것은 중요한 일이다. 하지만 할 수 있는 일과 할 수 없는 일을 가리기는 쉽지 않다. 왜냐하면 어떤 언어든지 할 수 없는 일은 거의 없기 때문이다. 하지만 한 프로그래밍 언어가 어떤 일에 적합한지에 대해서 아는 것은 매우 중요하다. 따라서 파이썬으로 하기에 적당한 일과 적당하지 않은 일에 대해서 알아보는 것은 매우 가치있는 일이 될 것이다.

파이썬으로 할 수 있는 일

파이썬으로 할 수 있는 일은 너무나 많다. 대부분의 컴퓨터 언어가 하는 일을 파이썬은 쉽고 깔끔하게 처리한다. 이것들에 대해서 나열하자면 끝도 없겠지만 대표적인 몇 가지의 예를 들어보도록 하자.

1. 시스템 유틸리티

파이썬은 운영체제(윈도우즈, 리눅스등)의 시스템 명령어들을 이용할 수 있는 도구들을 갖추고 있기 때문에 이러한 것들을 바탕으로 갖가지 시스템 관련한 유틸리티를 만드는 데 유리하다. 여러분은 시스템에서 사용중인 다른 유틸리티성 프로그램들을 하나로 뭉쳐서 큰 힘을 발휘하게 하는 프로그램들을 무수히 만들어 낼 수 있다.

2. GUI(Graphic User Interface) 프로그램

GUI 프로그래밍이라는 것은 쉽게 말해서 윈도우즈 창같은 프로그램을 만드는 것이다. 파이썬으로 GUI프로그램을 작성하는 것은 다른 언어로 하는 것보다 훨씬 쉽다. 대표적인 것으로 파이썬 프로그램을 설치할 때 함께 설치되는 Tkinter를 들 수 있다. 실제로 Tkinter를 이용한 파이썬 GUI프로그램의 프로그램 소스는 매우 간단하다. 놀라운 사실은 Tkinter를 이용하면 소스코드 단 5줄 만으로도 윈도우즈 창을 띄울 수 있다는 것이다. 이 외에도 wxPython, PyQT, PyGTK등의 Tkinter보다 빠른 속도와 미려한 윈도우 화면을 자랑하는 것들도 있다.

3. C/C++과의 결합

파이썬은 접착(glue)언어라고도 불리운다. 그 이유는 다른 언어와 함께 잘 어울릴 수 있기 때문이다. C로 만든 프로그램을 파이썬에서 쓸 수 있으며, 파이썬으로 만든 프로그램을 C에서 역시 쓸 수가 있다.

4. 웹 프로그래밍

우리는 익스플로러나 크롬, 파이어폭스와 같은 브라우저를 이용하여 인터넷을 사용한다. 누구나 한번쯤 웹 서핑을 하면서 게시판이나 방명록에 글을 남겨 본 적이 있을 것이다. 그러한 게시판이나 방명록을 바로 웹 프로그램이라고 한다. 파이썬은 웹 프로그램을 작성하기에 매우 적합한 도구이며 실제로 파이썬으로 제작된 웹 사이트는 셀 수 없을 정도로 많다.

5. 수치연산 프로그래밍

사실 파이썬은 수치연산 프로그래밍에 적합한 언어는 아니다. 왜냐하면 복잡하고 연산이 많다면 C와 같은 언어로 하는 것이 더 빠르기 때문이다. 하지만 파이썬에서는 Numeric Python이라는 수치 연산 모듈을 제공한다. 이 Numeric Python은 C로 작성되었기 때문에 매우 빠르게 수학연산을 수행한다. 이 모듈을 이용하면 파이썬에서 수치연산을 빠르게 할 수 있다.

6. 데이터베이스 프로그래밍

파이썬은 Sybase, Infomix, 오라클, MySQL, Postgresql등의 데이터 베이스에 접근할 수 있게 해주는 도구들을 제공한다. 또한 이런 굵직한 데이터베이스를 직접 이용하는 것 외에도 파이썬에는 재미있는 함수가 하나 있다. 바로 pickle이라는 모듈이다. 이 모듈은 파이썬에서 쓰이는 자료들을 변형없이 그대로 파일에 저장하고 불러오는 일들을 해 준다. 이 곳에서는 pickle을 어떻게 사용하고 활용하는지에 대해서도 알아본다.

파이썬으로 할 수 없는 일

파이썬으로 도스나 리눅스 같은 운영체제, 엄청난 횟수의 반복과 연산을 필요로 하는 프로그램 또는 데이터 압축 알고리즘 개발 프로그램등을 만들기는 어렵다. 즉, 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 어울리지 않는다.

출처 : 점프 투 파이썬

댓글 없음:

댓글 쓰기