2021. 6. 2. 16:39ㆍpython
파이썬 (Python)
은 1991년 프로그래머인 귀도 반 로섬 이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식,
객체지향적, 동적 타이핑 대화형 언어이다.
파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것이다.
동적 타이핑(dynamic typing) 범용 프로그래밍 언어로, 펄 및 루비와 자주 비교된다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다.
또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 풀언어(glue language)로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다.
"인생은 너무짧다. 그래서 파이썬이 필요하다."
파이썬은 짧은 코드에서 나오는 효율성 뿐만아니라 들여쓰기로 만들어지는 자동 정렬,
어떤 분야든 가리지 않고 닥치는대로 사용할 수있는 범용성 등 많은 무기를 가지고 있다.
이 때문인지는 몰라도 2017년 6월 기준 프로그래밍 점유율 수준은 당당하게 4위를 차지하고 있다.
(파이썬의 창시자 - 귀도 반 로썸)
파이썬이 최근에 주목받고 있다고 생각할지 모르겠지만 발표시기는 1991년,
웹 서비스가 일반인들에게 널리 상용화되기 전에 나온 언어이다.
언어를 만든이는 귀도 반 로썸(Guido van Rossom)으로
1989년 크리스마스 주에 연구실이 닫혀있어 심심한 김에 만들었다고 한다.
리누스나 귀도 둘다 심심한 김에 걸작을 만들었다는데 있어서, 위대한 공돌이의 피가 흐르는 것 같다.
파이썬이라는 이름은 귀도가 즐겨보던 6인조 코미디 그룹 몬티 파이썬에서 따왔다.
문법이 매우 쉬워서 C를 제치고 초보자에게 입문용으로 추천되는 언어이며,
벌써 몇몇 대학교에서는 인문학과 교양 수업으로 편성되는 저력을 보이고 있다.
그러나 사용하는 사람이 많은 만큼 까는 사람도 많다.
어떤 커뮤니티에서는 C 와 파이썬 중 어떤 언어로 입문하는게 좋은지 끝없는 토론이 이루어지고 있다.
파이썬의 특징은 2버전과 3버전으로 나뉜다는 것이다.
2버전의 불편함이 끊임없이 대두되었고,
결론적으로 하위 호환성을 포기하고 3버전을 출시했는데 기본적으로 둘사이에 호환성은 낮다.
그러나 파이썬 2를 3으로 바꿔주는 컨버터 등이 제공되어 완전히 갈아 엎을 필요는 없어보인다.
당연한 말이지만 파이썬 2가 먼저 나왔기 때문에 3가 출시 되었을 때는 당연히 2로 구현된 모듈이나 라이브러리가 많았다.
그러나 3를 주력으로 지원하고, 시간이 지나며 모듈과 라이브러리 데이터도 늘어나면서 현재는 3를 목표로 공부하는것이 좋다.
이유는 위에서 언급한 내용과, 파이썬 2에 대한 지원 2020년을 기점으로 종료되기 때문이다.
이러한 파이썬의 장점은 여러가지가 있는데 가장 첫 번째가 생산성이 높다.
위의 그림은 파이썬에 입문했던 사람이라면 한번쯤 보았을 만화인데, 인터프리터 언어이며,
High level의 자료형과 좋은 모듈을 제공해주는 덕분에 단 몇줄의 코드만드로 많은걸 해낼수 있다.
또한 들여쓰기로 블록을 구별하기 때문에 프로그래밍을 하는 것만으로 코드의 모양이 저절로 정리된다.
파이썬이 가지는 특징이자 장점이라고 할수 있다.
마지막으로, 거의 모든 분야에 대해 지원을 하기 때문에, 프로젝트를 구현할 때 어떤 언어로 할지 모르면 파이썬을 선택하면 된다.
그 만큼 파이썬이 미치는 영향이크며, 오히려 파이썬으로 할 수 없는 것을 찾기가 더욱 어렵다.
파이썬은 발전하여 Django나 Flask 프레임워크로 웹 분야까지 섭렵하게 되었다.
이 프레임 워크를 사용할경우 짧은 시간내에 많은 것을 구현할수 있다는 장점이 있지만
프레임워크가 제공하는 범위에 한정적이라는 단점이 있다.
'python' 카테고리의 다른 글
Python 43 - 파이썬 데이터 타입의 종류 - 리스트(List) (0) | 2021.06.04 |
---|---|
Python 42 - 파이썬으로 무엇을 할 수 있을까? (0) | 2021.06.03 |
Python 40 - 파이썬 주요 라이브러리 (python Library (0) | 2021.06.01 |
Python 39 - 파이썬 프레임워크 (python framework) (0) | 2021.05.31 |
Python 38 - 파이썬 용어 정리 (2) (0) | 2021.05.30 |