일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 로헨델 떠돌이상인
- 이름바꾸기
- 파푸니카 떠돌이상인
- 홈페이지제작견적
- https
- SE
- 애니츠 떠돌이상인
- PIP모드
- 가로세로세팅
- 특정페이지가로로
- sm
- 욘 떠돌이상인
- IT용어
- SSL
- 한글
- 아르데타인 떠돌이상인
- 페이튼 떠돌이상인
- 유튜브
- 3
- 작은화면
- 토토이크 떠돌이상인
- HWP
- SI
- 슈샤이어 떠돌이상인
- 루테란 떠돌이상인
- zoom
- 베른 떠돌이상인
- Today
- Total
도담도담
파이썬이란? 본문
파이썬의 특징
인간다운 언어
프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위라고 할 수 있습니다. 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어입니다.
쉬운 문법 쉬운 습득
파이썬은 문법 자체가 아주 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있습니다. 유명한 프로그래머인 에릭 레이먼드(Eric Raymond)는 파이썬을 공부한 지 단 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 합니다.
무료
오픈 소스인 파이썬은 당연히 무료입니다. 사용료 걱정 없이 언제 어디서든 파이썬을 다운로드하여 사용할 수 있습니다. (오픈 소스(Open Source)란 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용 · 복제 · 배포 · 수정할 수 있는 소프트웨어입니다)
강력
프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있습니다. 물론 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않습니다. 하지만 파이썬은 이러한 약점을 극복할 수 있게끔 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있습니다.
파이썬과 C는 찰떡궁합이란 말이 있습니다. 즉 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시키는 것입니다. 사실 파이썬 라이브러리 중에는 순수 파이썬만으로 제작된 것도 많지만 C로 만든 것도 많습니다. C로 만든 것은 대부분 속도가 빠릅니다. (파이썬 라이브러리는 파이썬 프로그램을 작성할 때 불러와 사용할 수 있는 미리 만들어 놓은 파이썬 파일 모음입니다)
간결
귀도는 파이썬을 의도적으로 간결하게 만들었습니다. 만약 펄(Perl)과 같은 프로그래밍 언어가 100가지 방법으로 하나의 일을 처리할 수 있다면 파이썬은 가장 좋은 방법 1가지만 사용하는 것을 선호합니다. 이 간결함의 철학은 파이썬 문법에도 그대로 적용되어 파이썬 프로그래밍을 하는 사람들은 잘 정리되어 있는 소스 코드를 볼 수 있습니다. 다른 사람이 작업한 소스 코드도 한눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 아주 쉽고 편합니다.
빠른 개발 속도
"Life is too short, You need python." (인생은 너무 짧으니 파이썬이 필요해.)
파이썬의 엄청나게 빠른 개발 속도를 두고 유행처럼 퍼진 말입니다.
좋은 프로그래밍 언어와 나쁜 프로그래밍 언어는 이미 정해진 걸까요? 그렇다면 어떤 것이 최고의 언어일까요? 가만히 살펴보면 어떤 언어든지 강한 부분과 약한 부분이 존재합니다. 어떤 프로그램을 만들 것인지에 따라 선택해야 할 언어도 달라집니다. 한 언어만을 고집하고 그 언어만으로 모든 것을 해결하겠다는 생각은 현실과 맞지 않습니다. 따라서 자신이 만들고자 하는 프로그램을 가장 잘 만들 수 있게 도와주는 언어가 어떤 것인지 알아내고 선택하는 것은 가장 중요한 일입니다. 하지만 할 수 있는 일과 할 수 없는 일을 가리기는 쉽지 않습니다. 왜냐하면 어떤 언어든지 할 수 없는 일은 별로 없기 때문입니다. 하지만 한 프로그래밍 언어가 어떤 일에 적합한지에 대해서 아는 것은 매우 중요합니다. 따라서 파이썬으로 하기에 적당한 일과 적당하지 않은 일에 대해서 알아보는 것은 매우 가치 있는 일이 될 것입니다.
파이썬으로 할 수 있는 일
파이썬으로 할 수 있는 일은 아주 많습니다. 대부분의 프로그래밍 언어가 하는 일을 파이썬은 쉽고 깔끔하게 처리합니다. 파이썬으로 할 수 있는 일들을 나열하자면 끝도 없겠지만 몇 가지 예를 들어 보겠습니다.
시스템 유틸리티 제작
파이썬은 운영체제(윈도우, 리눅스 등)의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 갖가지 시스템 유틸리티를 만드는 데 유리합니다. 실제로 여러분은 시스템에서 사용 중인 서로 다른 유틸리티성 프로그램을 하나로 뭉쳐서 큰 힘을 발휘하게 하는 프로그램들을 무수히 만들어낼 수 있습니다.
※ 유틸리티란 컴퓨터 사용에 도움을 주는 여러 소프트웨어를 말합니다.
GUI 프로그래밍
GUI(Graphic User Interface) 프로그래밍이란 쉽게 말해 화면에 또 다른 윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가하는 것입니다. 파이썬은 GUI 프로그래밍을 위한 도구들이 잘 갖추어져 있어 GUI 프로그램을 만들기 쉽습니다. 대표적인 예로 파이썬 프로그램과 함께 설치되는 Tkinter(티케이인터)가 있습니다. Tkinter를 사용하면 단 5줄의 소스 코드만으로 윈도우 창을 띄울 수 있습니다.
C/C++와의 결합
파이썬은 접착(glue) 언어라고도 부르는데, 그 이유는 다른 언어와 잘 어울려 결합해서 사용할 수 있기 때문입니다. C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있으며, 파이썬으로 만든 프로그램 역시 C나 C++에서 사용할 수 있습니다.
웹 프로그래밍
일반적으로 익스플로러나 크롬, 파이어폭스 같은 브라우저로 인터넷을 사용하는데, 누구나 한 번쯤 웹 서핑을 하면서 게시판이나 방명록에 글을 남겨 본 적이 있을 것입니다. 그러한 게시판이나 방명록을 바로 웹 프로그램이라고 합니다. 파이썬은 웹 프로그램을 만들기에 매우 적합한 도구이며, 실제로 파이썬으로 제작한 웹 사이트는 셀 수 없을 정도로 많습니다.
수치 연산 프로그래밍
사실 파이썬은 수치 연산 프로그래밍에 적합한 언어는 아닙니다. 수치가 복잡하고 연산이 많다면 C 같은 언어로 하는 것이 더 빠르기 때문입니다. 하지만 파이썬은 NumPy라는 수치 연산 모듈을 제공합니다. 이 모듈은 C로 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 할 수 있습니다.
데이터베이스 프로그래밍
파이썬은 사이베이스(Sybase), 인포믹스(Infomix), 오라클(Oracle), 마이에스큐엘(MySQL), 포스트그레스큐엘(PostgreSQL) 등의 데이터베이스에 접근하기 위한 도구를 제공합니다.
데이터 분석, 사물 인터넷
파이썬으로 만든 판다스(Pandas) 모듈을 사용하면 데이터 분석을 더 쉽고 효과적으로 할 수 있습니다. 데이터 분석을 할 때 아직까지는 데이터 분석에 특화된 ‘R’이라는 언어를 많이 사용하고 있지만, 판다스가 등장한 이후로 파이썬을 사용하는 경우가 점점 증가하고 있습니다.
사물 인터넷 분야에서도 파이썬은 활용도가 높습니다. 한 예로 라즈베리파이(Raspberry Pi)는 리눅스 기반의 아주 작은 컴퓨터입니다. 라즈베리파이를 사용하면 홈시어터나 아주 작은 게임기 등 여러 가지 재미있는 것들을 만들 수 있는데, 파이썬은 이 라즈베리파이를 제어하는 도구로 사용됩니다. 예를 들어 라즈베리파이에 연결된 모터를 작동시키거나 LED에 불이 들어오게 하는 일을 파이썬으로 할 수 있습니다.
파이썬으로 할 수 없는 일
시스템과 밀접한 프로그래밍 영역
파이썬으로 리눅스 같은 운영체제, 엄청난 횟수의 반복과 연산이 필요한 프로그램 또는 데이터 압축 알고리즘 개발 프로그램 등을 만드는 것은 어렵습니다. 즉 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 어울리지 않습니다.
모바일 프로그래밍
파이썬은 구글이 가장 많이 애용하는 언어이지만 파이썬으로 안드로이드 앱(App)을 개발하는 것은 아직 어렵습니다. 안드로이드에서 파이썬으로 만든 프로그램이 실행되도록 지원하긴 하지만 이것만으로 앱을 만들기에는 아직 역부족입니다. 아이폰 앱을 개발하는 것 역시 파이썬으로 할 수 없습니다.
출처:
'IT 공부 > 개인정리' 카테고리의 다른 글
PHP란 무엇인가? (0) | 2021.08.30 |
---|---|
Node JS란? (0) | 2021.08.29 |
리눅스란? (0) | 2021.08.26 |
Join 이란? (0) | 2021.08.25 |
스프링프레임워크와 스프링부트 (0) | 2021.08.24 |