본문 바로가기
Integration & Python

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

by 누워서 코딩 2020. 3. 19.

프로그래머에게 있어서 프로그래밍 언어의 선택은 전적으로 개발하는 프로그래머의 자유일 것이다.

예로 나무 서랍장을 제작하기 위한 최적의 도구는 무엇일까?

 

 

누군가는 망치일 수도 있겠고 또 누군가는 손의 힘으로 직접 제작하는 게 편할 수도 있다. 

즉 본인이 생각하는 가장 생산성이 높은 효율적인 툴을 선택하면 되는 것이다.

그럼에도 불구하고 프로그래밍 언어에서는 저마다의 일반화된 최적의 도구는 있는법이다.

종이비행기를 만드는데 굳이 망치를 사용하는 것은 너무 비효율이지 않은가?

 

이런 면에서 파이썬은 어떤 프로그램을 제작하기에 가장 생산적이고 효율적일까?

우리는 이미 파이썬으로 할 수 있는 일은 많다는 것은 잘 알려져 있다.

적합한 일과 조금 부적합한 몇 가지 대표적인 예를 한번 알아보자.

 

 

1. 파이썬으로 적합한 일들

 

웹 프로그래밍

 

파이썬 역시 웹 사이트 같은 웹 프로그래밍을 만들기에도 적합한 도구이다.

 

시스템 유틸리티 제작

 

파이썬은 각 윈도즈, Unix기반의 운영체제 등에서 지원하는 시스템 명령어 사용이 가능하기에 각종 시스템 유틸리티 성 프로그램을 제작할 수 있다.

각종 유틸리티 프로그램을 조합하면 꽤 강력한 유틸리티 제작도 가능하다.

 

데이터베이스

 

Sybace, Infomix, Oracle, MySQL 등의 데이터베이스에 접근할 수 있는 도구가 제공된다.

파이썬에 내장된 Pickle이라는 모듈을 사용하면, 자료 변형 없이 파일에 저장하고 불러오기도

가능하다.

 

데이터 분석

 

파이썬에 내장된 Pandas 모듈을 사용하면 데이터 분석을 효율적으로 쉽게 할 수 있다.

 

GUI 프로그래밍

 

GUI(Graphic User Interface),

컴퓨터 화면에 창을 만들고 그 안에 메뉴나 버튼 등을 추가하는 프로그래밍이다.

파이썬은 GUI 프로그래밍을 위한 도구들이 잘 갖춰져 있고 구현이 쉽다.

파이썬 프로그램 내에 내장된 또 다른 프로그램인 Tkinter(티케이인터)는

단 5줄의 코드 구현으로 창을 뛰울 수 있게 해 준다.

 

C/C++ 호환

 

파이썬은 glue(접착제) 언어라고도 불린다. 그 이유가 가장 많이 사용하는 C나 C++

언어와 호환이 되기 때문이다. 

즉 C나 C++로 구현된 기존 프로그램이 있다면, 바로 적용할 수 있다.

 

사물 인터넷 (IOT) 분야

 

IOT (사물 인터넷) 분야에서도 파이썬이 많이 사용된다.

리눅스 기반의 콤팩트 컴퓨터인 라즈베리 파이(Raspberry Pi)가 있다. 

이 라즈베리 파이로 자동화/생산 툴 혹은 홈네트워킹, 게임 등 많은 재미있는 프로그램을 만들 수 있다. 

이 라즈베리 파이를 제어하는 프로그래밍 도구로 파이썬을 많이 사용되어지고 있다.

예로 라즈베리에 연결된 임베디드 장치에서 파이썬 프로그래밍을 하여 전원 장치를 on/off를 할 수 있다.

 

2. 파이썬으로 부적합한 일들

 

수치 연산 프로그램

 

파이썬은 수치 연산 프로그래밍에는 적합하지 않다.

오히려 C 같은 언어가 더 빠르다. 

하지만 Numpy라는 수치 연산 모듈은 제공한다.

이 모듈 역시 C로 작성되어 있기에 파이썬에서 수치 연산을 할 수 있다.

 

하드웨어 베이스의 시스템 프로그램

 

고사양이나 높은 성능을 수행되는 하드웨어를 직접 제어하는 것에는 한계가 분명 있다.

예로 빠른 속도의 고사양 CPU를 지원하는 메모리의 로직을 직접 제어하는 등의 일이다.

이 경우 반복적인 단위 테스트를 수행했을 때는 실제 수치나 피드백의 반응이 

느려지는 한계가 예상된다.

 

모바일 프로그래밍

 

파이썬은 안드로이드 앱이나 아이폰 앱을 개발하는 것이 어렵다.

파이썬은 구글이 가장 많이 애용하는 프로그래밍 언어이다.

그럼에도 불구하고 안드로이드 앱(App)을 개발하는 것에는 어렵다.

물론 앱을 만드는 것은 불가능하지는 않지만 역부족라는 의견이 많다.

즉 맞지 않는 옷이다.

 

이 블로그의 다른 글 읽기

파이썬의 특징을 알아보자

파이썬(Python)의 탄생 이야기

댓글