[파이썬 튜토리얼] 파이썬에 대해

PlanB·2022년 9월 27일
5

파이썬 튜토리얼

목록 보기
2/21
post-custom-banner

파이썬에 입문하기에 앞서, 파이썬이라는 프로그래밍 언어에 대해 간략히 알아보도록 하겠다. 비교적 주관이 많이 들어가는 장/단점에 대해서 단정적으로는 얘기하지 않고, 객관적인 내용을 위주로만 언급한다. 어차피 파이썬을 배우는 과정에서 각자 많은 것을 느낄 것이므로, 간단하게만 다루고 마무리하도록 하겠다. 형식적인 순서이므로, 관심 없다면 넘어가도 좋다.

탄생

파이썬(Python)은 네덜란드 출신 프로그래머 귀도 반 로섬(Guido van Rossum)에 의해 1991년에 공개되었다. 1989년이나 1990년에 개발되었다고 설명하는 곳도 있으나, 발표가 이루어진 1991년이 시작이라고 보는 것이 좋다.

1989년, 귀도는 '몰두할 만한 취미 프로젝트'가 있었으면 했고, 그렇게 파이썬이 개발되기 시작했다. 당시 귀도는 ABC라는 언어 개발에 참여하고 있었기 때문에, 그냥 뜬금없이 만들기 시작한 것은 아니다.

근황

파이썬을 개발한 귀도 반 로섬은 2018년 7월에 파이썬의 BDFL(Benevolent Dictator For Life, 자비로운 종신 독재자), 즉 파이썬 개발 리더 자리에서 사퇴했다. 파이썬 창시자가 말하는 사임 이유와 파이썬의 미래

2019년 말 드롭박스에서 퇴사한 뒤 은퇴하였다가, 2020년 말 MS에 다시 입사했다. 파이썬 아버지, 귀도 반 로섬...MS 합류

특징

밑바탕에 깔려 있는 '쉽게 하기'

파이썬을 전체적으로 관통하는 개념은 '쉽게 하기'다. 처음 개발되던 당시에도 '쉬운 프로그래밍 언어'를 디자인하는 것이 하나의 목표였고, 그런 의도가 지금까지 이어져오고 있다. 문법은 간결하고 이해하기 쉽도록 디자인되었고, 파이썬 개발자들 또한 가독성에 대해 많이 신경쓰고 있다. 동일한 노력을 들였을 때, 다른 언어에 비해 더 많은 일을 할 수 있다.

그러나 가독성(readability)과 질(quality)은 전혀 다르다. 다른 프로그래밍 언어들에서 자주 다뤄지는 디자인 패턴이나 코드 아키텍처에 대한 것들은, 파이썬에서 비교적 많이 성장하지 못 했다. 때문에 큰 스케일의 소프트웨어를 만들기 시작하면 결국 Java와 같이 더 성숙한 생태계를 많이 참고하게 된다.

활발한 생태계

파이썬은 분명히 인기 있는 언어다. 사용자가 많고, 그만큼 참고하기 좋은 양질의 코드나 자료가 많이 생성되고 있다. 라이브러리(다른 사람이 다운로드받아 사용할 수 있게 만든 코드 덩어리)를 직접 만들어서 배포하는 것이 쉽기 때문에, 이미 만들어져 있는 것이 많아 개발 시간을 단축하기 쉽다. 필자도 고등학생 시절에 급식 정보를 가져올 수 있도록 하는 schapi-py라는 라이브러리를 만들었던 적이 있다.

배우기 쉽다

파이썬을 사용하는 사람은 많지만, 다른 언어들에 비해 숙련자의 비율은 낮다는 이야기가 많다. 파이썬은 배우기 쉽고, 좋은 자료가 많기 때문에 조금만 알아도 무언가 만들어낼 수 있기 때문이다. 이미 파이썬을 다 안다고 생각해서, 더 이상 배우지 않고 입문 수준에서 머무르게 되는 것이다.

가장 인기 있고 점유율이 높은 프로그래밍 언어?

파이썬은 인기 있고, 점유율도 낮지 않은 것이 사실이다. 8 World-Class Software Companies That Use Python 에서는 파이썬을 사용하는 빅 테크기업을 소개한다. Google, Facebook 등에서도 파이썬을 비중 있게 사용한다는 것에는 거짓이 없다.

그러나 이는 파이썬이 무작정 좋은 언어라는 것을 증명하는 것은 아니다. 프로그래밍 언어는 결국 소프트웨어를 개발하기 위한 도구다. 필요에 따라 맞는 도구를 쓰는 것처럼, 파이썬이 어울릴만한 곳에 쓰는 것 뿐이다. Google, Facebook에서 사용하는 여러 프로그래밍 언어들 중 하나라는 것이다.

물론 파이썬과 비슷한 특징을 가진 여러 대안들을 비교했을 때, 파이썬이 가장 잘 어울리는 경우가 많았을 것이다. 필요에 따라 맞는 도구를 사용하겠지만, 그렇다고 요즘의 조직에서 Ruby를 사용하기로 결정하는 것은 드문 것처럼 말이다.

프로그래밍 언어는 각자가 잘 하는 일이 따로 있다. 귀도 또한 무조건 파이썬만을 고집하진 않을 것이다. 다른 프로그래밍 언어를 많이 배워둬야 한다는 것은 아니고, 만능주의에 빠지지는 말자는 것이다.

Python 2와 Python 3

모든 것이 다 그렇듯, 프로그래밍 언어 또한 처음부터 완벽하지 않다. 그러므로 언어도 업데이트된다. 처음 만들어진 것은 당연히 Python 1이었고, 2000년에 Python 2.0이 배포되었다. 그러다가 Python 3000(혹은 Python 3k)라는 이름으로 시작한 Python 3.0이 2008년 발표되었다. Python 2의 새로운 버전을 통해 업데이트하지 않은 것은, 많은 부분을 개선하며 하위호환성을 유지하지 않게 되었기 때문이었다. Python 2의 코드가 Python 3에서 항상 잘 작동하지 않는다는 것이다.

2020년 1월 1일부로 Python 2의 지원은 종료되었고, 때문에 이제 Python 3만 생각하면 된다. 지원 종료 이전의 많은 책들은 Python 2와 3를 모두 신경써야 했으므로 조금 난잡한 부분이 있기 때문에, 그 이후 출판되거나 개정된 책을 읽는 것이 좋다.

역사적인 부분들을 이야기하기 위해 가끔 언급은 하겠지만, 이 튜토리얼에서는 Python 2에 대해 전혀 신경쓰지 않는다.

profile
백엔드를 주로 다룹니다. 최고가 될 수 없는 주제로는 글을 쓰지 않습니다.
post-custom-banner

0개의 댓글