파이썬(Python)은 무엇인가??

    파이썬이라는 언어는 요즘 트렌드에 맞는 언어라고 말을 할 수 있다. 과거 어셈블리(기계어)에서 시작되어, C, C++ 그리고 최근에는 Java까지 시간이 흐르면 흐를수록 더욱 빠르고, 컴퓨팅 파워를 끌어올리는 언어에서 벗어나서 보다 쉽고 개발이 단순하며, 많은 기능을 내포한 언어로 교체가 되어가고 있다.


    아무래도, 과거 PC의 시대보다 보다 좋은 하드 자원과 하드웨어 비용과 개발자의 인건비를 비교해 봤을 때, 개발자의 인건비가 훨씬 많이 들어가는 시대로 진입하다보니 생긴 변화가 아닐까 싶다.


    안드로이드까지 나오고, 자바가 한동안 모든 언어를 누르며, 독주하는가 싶은 듯 보였으나 최근에 들어서서는 스크립트 형식의 언어들이 유행을 타고 있다. 별도의 컴파일을 하지 않은 상태에서 즉시 실행이 들어가며, 개발이 단순하고, 컨셉에 맞는 언어들이 많이 나타났고, 나름 안착한 언어들이 있는데...


    대표적인 예로 파이썬과 node.js라고 말을 하고 싶다. 두 언어의 공통점을 들자면 겉으로는 매우 쉬운 언어를 표방하고, 밖으로는 Java와는 다르게 C 라이브러리를 호출하는 모습등을 보여주는 하이브리드 언어에 가까운 모습이 존재한다.


    파이썬과 같이 최근에 핫하게 뜨고 있는 언어인 node.js



    node.js는 보다 쉬운 웹개발과 가벼운 통신 등을 지향하고, IoT에 걸맞는 언어다보니 이쪽(IoT) 계통에서 많이 쓰이고 있는 반면 파이썬은 통계 및 데이터분석, 인공지능 쪽에 특화가 된 언어이다. 그러다보니 웹개발과는 좀 먼 어플리케이션쪽에 맞거나 문제점을 검증하거나, 각종 인공지능 라이브러리로 인한 인공지능 개발(대표적인 예로 텐서플로우)에 어울리는 언어다보니 요즘 상당히 핫하다.


    두 언어의 성장은 사실 제 4차 산업혁명과 상당히 큰 연관성을 보여주지만, 여기까지 가면 너무 머리가 아퍼지니 넘어가도록 하자.


    파이썬의 시작은 1991년 파이썬을 만든 아버지인 "귀도 반 로썸"이 좋아하던 코미디 프로그램이던 "Monty Python's Flying Circus"라는 것에서부터 시작되었다. 


    귀도 반 로썸(Guido van Rossum)


    이 사진은 최근 모습인 것 같습니다

    (출처, 공식홈페이지)



    시작은 코미디 프로그램의 제목을 따왔으나, Python이라는 단어는 그리스 신화에서 나오는 두머리의 뱀 "피톤"에서 유래 되었으며, 현재는 비단뱀을 뜻한다. 그러다보니 파이썬에 관련된 교재나 책들을 보면 뱀에 관련된 모습이 자주 보이게 된다. 파이썬 사이트를 가도 상징적으로 뱀 2마리를 그려넣은 로고를 볼 수 있다.


    그리스 신화에 나오는 "피톤(Python)"이 등장하는 그림

    (아폴론과 피톤)



    파이썬의 로고를 보면 위와 같이 뱀 2마리가 있다



    파이썬이 뱀이다보니, 파이썬과 관련된 프로젝트나 패키지 등등 역시 뱀에 관련된 것들이 많다. 대표적인 것으로, 파이썬 패키지인 아나콘다(Anaconda)가 그러하다. 아나콘다는 다들 알다시피, 아마존 강에서 서식하는 거대한 구렁이 같이 독은 없지만 굉장히 크기가 큰 뱀을 뜻한다. 패키지 프로그램의 이름으로는 어찌보면 적당해 보이기도 하다.


    파이썬의 언어로 다시 돌아가자면, 파이썬은 위에 설명했듯이 언어가 매우 쉽다. 자바의 성장이 C언어의 복잡했던 포인터 사용과 메모리 할당 문제를 해결해 준것도 큰 영향을 준 것처럼 파이썬은 이러한 자바보다도 쉽기 때문에 더 많은 사용자들에게 프로그래밍을 할 수 있는 기회를 제공한다. 파이썬의 특징을 간단히 4가지로 요약하면 아래와 같다.


    • 플랫폼 독립적
    • 인터프리터(Interpreter) 언어
    • 객체 지향적 언어(OOP)
    • 동적 타이핑 언어


    게다가 다양한 데이터 분석 및 통계 분석등에 특화되어, 오랫동안 많은 수학자 및 통계학자들이 R툴과 함께 많이들 애용해 온 언어이기도 하다. 그에 따라 수학쪽에 관련된 언어들이 많다.


    파이썬은 자바와는 다르게 목적이 명확히 분류되었다고 보면 된다. 자바가 C언어의 플랫폼 종속성을 탈피하기 위해 JVM(Java Virtual Machine) 위에 동작하는 범용적인 것을 목적으로 하는 범용적언어라고 한다면, 파이썬은 이와는 좀 다른 수학적인 부분에 좀 특화되어 있는 언어이다. 그러다보니 파이썬이 자바를 대체할 것이라고는 전혀 상상조차 하지 않으며, 도메인에 맞게 사용하면 된다고 본다.


    대부분의 파이썬에 관련된 기능은 자바로 구현이 된다. 물론 인공지능쪽 라이브러리가 파이썬에 더 잘 만들어져 있지만, 대부분 자바 개발자를 무시못하는 상태다보니, 자바로도 라이브러리가 등장한다. 


    파이썬에 자세한 기능과 쉬운 사용법등은 포스팅을 하면서 차차 설명해보도록 하겠다. 자바를 아는 분들이라면, 파이썬의 쉬운 부분과 혹은 파이썬의 불편한 부분들이 눈에 띌 것이다. 사실 파이썬이 쉽다고 하는 분들이 많지만 비슷한 사례로 자바스크립트가 개발하기 더 어려운 경우도 종종있다. 이러한 의미를 이해하는 분들이라면 파이썬이 무조건 편리하고 쉽다라고 하는 것에 반박을 할 것임이 분명하지만, 그냥 그렇다고 하니 보편적인 맥락으로 이해했으면 한다.



    귀도 반 로썸(파이썬 창시자)의 홈페이지 https://gvanrossum.github.io


    댓글

    Designed by JB FACTORY