Python/파이선과 친해지기

[Python] - Python 이란 무엇인가?

<Python의 로고>

Life is short. You need Python.
- Bruce Eckel -


멋진 말이다. 평범한 사람들에게 프로그래밍의 멋짐을 보여준 언어이자, 수많은 프로그래머들의 시간 단축을 도와주는 훌륭한 언어가 우리의 친구 Python이다.

대학에서 컴퓨터 꽤나 만져본 사람들은 C나 JAVA, BASIC의 문법을 보다가 Python의 문법을 보면 "아니 이게 가능해?"라는 말을 많이 한다. 변수선언으로 부터의 자유로움, 직관적인 명명법 등의 특징 덕분에 개발을 조금만 공부했어도 저~중 수준의 Python의 코드를 읽는 것에는 문제를 찾기 어려울 정도이다.

주관적인 생각으로는 다음과 같은 Python의 특징이 언어를 쉽고, Pythonic하게 만든다고 생각한다.

1. 낮은 난이도와 그에 따른 빠른생산속도
2. 동적 타이핑의 대화형 언어(인터프리터식)
3. 확고한 디자인 철학과 많은 사용자



1. 낮은 난이도와 그에 따른 빠른 생산속도
Python의 난이도가 얼마나 낮은 지를 이야기하는 것은 입을 상하게 하는 일이다. 기본적인 코드를 기준으로 C나 JAVA의 몇십 줄에 해당하는 코드가 Python에서는 단 두세 줄 만에 해결되는 일도 심심치 않게 있다. 이로 인해 ①프로그램을 입문하는 사람들의 교육용이나, ②개발 프로토타입과 스크립트 작성에 많이 쓰이는 언어가 Python이다.

2. 동적 타이핑의 대화형 언어(인터프리터식)
프로그래밍 언어는 동작 방식으로 다음과 같이 나뉜다.
① Compiler 식 언어 : 코드를 작성 후 Compile 해서 목적 프로그램을 만들어낸 후 그 목적프로그램을 실행하는 언어
② Interpreter 식 언어 : 코드의 Compile없이 한줄한줄 읽어들이며 동작하는 언어
파이선은 Interpreter 식 언어이다. Python 을 설치하고 콘솔에 print "hello World!"를 치면 다른언어 입문도서에서 보고 이게 뭐지 했던 그 대여섯줄짜리 Hello world가 한줄로 나오는 것이다! Compiler식 언어와 Interpreter식 언어의 장단점은 명확하지만, 즉각적인 반응을 해주는 파이선 Interpreter를 처음 본 그 순간은 아마 잊지 못할 것 같다.

3. 확고한 디자인 철학과 많은 사용자
다음은 Python에서 import this를 하게 될 경우 나오는 파이선의 디자인 철학이다. (Import 가 뭔지는 지금은 몰라도 된다.)

1. 추함보다는 아름다움이 낫다.
2. 묵시적인 것보다는 명확한 것이 낫다.
3. 복잡함보다는 단순함이 낫다.
4. 난해한 것보다는 복잡한 것이 낫다.
5. 중첩하는 것보다는 평평하게 쓰는 것이 낫다.
6. 오밀조밀한 것보다는 띄어 쓰는 것이 낫다.
7. 가독성은 언제나 중요하다.
8. 특수한 경우라 해도, 규칙을 깰 만큼 특수하지는 않다.
9. 하지만 실용적인 것이 순수함을 이긴다.
10. 에러는 절대로 조용히 넘어가서는 안 된다.
11. 명시적으로 조용히 넘어가라고 되어있다면 모르겠지만.
12. 모호함에 직면하더라도, 추측에 의존하려는 유혹을 이겨내라.
13. 언제나 무언가를 하는 방법은 가급적이면 정말 오로지 한 가지뿐 이어야 한다.
14. 당신이 네덜라드 인이 아닌 이상, 처음에 바로 보이지 않더라도 말이다.
15. 바로 지금이 제일 적절한 때다.
16. 비록 *바로 지금*보다 아예 하지 않는 경우가 나을 때가 자주 있더라도 말이다.
17. 구현한 것을 설명하기 어렵다면, 그것은 좋은 아이디어가 아니다.
18. 구현한 것을 설명하기 쉽다면, 그것은 좋은 아이디어일 수도 있다.
19. 네임 스페이스는 정말 훌륭한 아이디어이니, 자주 사용하자!

- Tim Peter -

이 수많은 명제들의 철학을 다 지키면, 최상의 코드가 아니라는 가정하에 작성된 코드보다 좋은 방안이 생성되기 마련이다. 파이선은 2019년 기준 전 세계 8,200,000명이 넘는 개발자의 손에서 작성 중이고, 이 성장 속도는 범용적인 언어인 JAVA의 사용자 7,100,000명을 가뿐히 뛰어넘은 추세이다. 내가 파이선의 모듈을 만들고 배포를 하면 최대 8,200,000명이 넘는 사람들이 와서 이걸 검토하고 수정한다는 거다! ㄷㄷ;
(출처 :www.zdnet.com/article/programming-languages-python-developers-now-outnumber-java-ones/)


이렇게 단순하면서 아름다운 파이선의 지식을 작지만 적어두며, 파이선과 컴퓨터에 입문하게 되는 사람들에게 스타터팩이 되고 싶은 마음으로 Python Tutorial을 시작한다. 단순한 언어이기에 또 블로그를 시작한 지 얼마 되지 않아 아직 흥미가 떨어지지 않았기에 이번 달 말까지는 매듭을 짓게 될 거 같다.