파이썬(Python)의 역사와 특징에 대하여

Posted by 미니송
2017.07.23 15:53 IT/프로그래밍





Python(파이썬)


이번 포스팅은 파이썬에 대해 하겠습니다. 가장 최근에 개발되었습니다. 하다고 생각되는 프로그래밍 언어입니다. 저번에 소개 했던 라즈베리파이에서도 충분히 사용 가능 합니다. 라즈비안을 설치하면 기본적으로 설치되어 있기 때문입니다.



역사

파이썬은 1991, 네덜란드 수학자 귀도 반 로섬에 의해 개발되었습니다. 원래 파이썬이라는 이름은 그리스 신화에 나오는 뱀을 뜻합니다. (따라서 파이썬의 로고는 뱀 두마리가 꼬여있습니다. 뱀처럼 안보이실 수도 있겠지만... 그렇습니다.)

귀도가 파이썬이라는 이름을 붙인 것은 신화에 나오는 뱀 때문이 아니고, 자신이 좋아하는 코미디 프로그램 “Monty Python's Flying Circus(몬티 파이썬의 날아다니는 서커스)”에서 따온 것이라고 합니다.



프로그래밍 언어 중에서도 무척 오래된 포트란(Fortran) 1954년에, 지금도 폭넓게 사용하는 C언어가 1972년에 공개됐다는 것을 생각하면 1991년에 나온 파이썬은 비교적 최신 언어라고 할 수 있습니다.

최근 몇 년 사이 프로그래밍을 비전공자들에게 알려주는 문화가 전 세계적으로 확산되고 있습니다. 무슨 무슨 코딩 프로젝트나 어린 아이들까지도 코딩교육이 유행이라고 하며 코딩교육하는 학원들도 많아 졌습니다. 어린 아이들 뿐만 아니라 하버드나 예일대 같은 해외 대학들 카이스트, 국민대, 성균관대 등 국내 대학에서도 프로그래밍 교양 수업이 늘어나는 추세입니다. 구글과 페이스북 같은 대기업의 영향이 크다고 생각합니다. 억만장자가 될 수 있는 아주 빠른 길을 제시해준 것이기 때문입니다.



이러한 문화 속에서 함께 주목 받는 언어가 있는데 바로파이썬입니다. 간결한 문법으로 입문자가 이해하기 쉽고, 다양한 분야에 활용할 수 있기 때문입니다. 이 외에도 파이썬은 머신러닝, 그래픽, 웹 개발 등 여러 업계에서 선호하는 언어로 꾸준히 성장하고 있습니다.



프로그래밍 언어에는 파이썬 뿐만 아니라 C, 자바, 자바 스크립트 등 여러 가지가 있습니다. 하지만 그 중에서 파이썬이 가장 널리 사용되고 있는 것으로 알려져 있습니다. 코드 경진대회 서비스를 제공하는 [코드이벨]은 파이썬을 '2016년 프로그래밍 인기 순위 1'로 꼽기도 했습니다. 배우기 쉽고 많은 라이브러리를 가져다 쓸 수 있기 때문이라고 생각합니다. 또한 관련 책들도 설명이 잘 되어 있기도 합니다.



특징

파이썬은 간단히 배울 수 있고 상업 시스템을 포함해 다양한 분야에서 활용할 수 있어서 최근 인기가 상승하고 있습니다. 풍부한 라이브러리는 파이썬의 장점이라고 할 수 있습니다. 프로그래밍 언어 상당수는 자주 쓰는 처리를 어떤 단위의 프로그램으로 미리 준비해 두고, 자신이 만들 프로그램에서 자유롭게 쓸 수 있게 합니다. 이런 범용 프로그램을 라이브러리(Library)라고 합니다.



파이썬에도 풍부한 라이브러리가 있고, 이 라이브러리들은 서로 다른 플랫폼에서도 똑같이 동작합니다. (운영 체제가 달라도 동작) 플랫폼이 달라도 동작한다는 점은 매우 좋은 점이라고 생각합니다. 호환성이 뛰어나기 때문에 어디서도 그 프로그램을 돌릴 수 있다는 뜻이 되기 때문입니다.

프로그래밍을 잘하기 위해서 이러한 라이브러리를 잘 써야 합니다. 파이썬 싸이트에 라이브러리 소개하는 페이지가 있습니다. 확인해서 코딩하면 좋을 것 같습니다.



파이썬은 객체 지향 언어이지만 절차형으로도 사용가능 합니다객체 지향이란 프로그램을 만드는 방법 중 하나입니다. 어떤 기능을 하는 프로그램과 데이터를 객체(Object) 단위로 묶고, 여러 객체가 메시지를 통해 서로 연계해 전체 기능을 만들어 낸다는 사고방식에 따른 것입니다. 객체 지향 언어는 이런 방법으로 프로그래밍할 수 있게 만들어진 프로그래밍 언어로, 보통은 그 언어의 라이브러리도 객체 지향에 따라 작성되어 있습니다.



파이썬은 객체 지향 언어이므로 당연히 객체 지향으로 프로그래밍할 수 있지만, 객체 지향이 최선은 아닙니다. 객체 단위로 프로그램을 작성하는 것을 객체지향이라 하고 처리하는 절차대로 프로그램을 작성하는 것을 절차형이라고 합니다. 이 두 가지를 모두 사용 가능한 파이썬은 프로그램의 규모나 목적에 맞게 스타일을 바꿔가며 사용할 수 있습니다. 파이썬 코드로 작성하는 것을 보여드릴 때 두 개의 차이가 어떻게 나는지 절차형과 객체지향의 차이가 무엇인지 알려드리겠습니다.



들여쓰기로 블록구조를 표현합니다파이썬은 함수나 정의, IF문 과 같은 구문을 들여쓰기로 구분합니다. 다른 프로그래밍 언어들은  { } 중괄호를 사용학 있으나 파이썬은 들여쓰기를 합니다. 초보자들이 많이 실수하는 것이기도 하지만 들여쓰기가 보기 편하게 보이므로 적응이 된다면 에러를 금방 찾을 수 있을 것이라고 생각됩니다.



프로그램 파일명은 영문, 숫자, 기호만 사용합니다. 시작부분에 공백으로 시작하면 안됩니다.

주석처리를 할 때는 #을 이용하며 #부터 다음 줄까지 주석처리하고 프로그램으로 해석하지 않습니다.



생각

저도 처음 파이썬을 접해 보았는데 매우 유용하다는 생각이 들었습니다. MATLAB과 비슷한 느낌이었습니다. 공대에 다니시는 분들이라면 MATLAB을 어떤 용도로든지 써보았을 것입니다. 그래프를 그리거나 무언가 계산해서 내놓거나 하는 것입니다. 처음에 파이썬에 대해 알아보고 시행을 해볼 때는 MATLAB이 파이썬 기반으로 작성된 것인 줄 알았습니다. 하지만 따로 작성되어 있었다는 것을 알았고 또한 연동하는 방법도 있는 것 같습니다. 기본적인 연산은 물론 좀 더 배워서 유용하게 사용할 수 있는 파이썬은 한 번쯤 배워서 써볼만한 프로그래밍 언어입니다.



저는 라즈베리파이에서 파이썬을 작성해보고 돌려볼 생각입니다. 나중의 포스팅에서 어떻게 하는지 자세히 설명을 드리도록 하겠습니다. 만약 원격에서 모니터없이 라즈베리파이에서 파이썬을 작성하고 싶으신 분은 VNC를 이용하거나 원격연결로 보면서 작성하시는 것이 좋을 것 같습니다.

 



이 댓글을 비밀 댓글로