코딩 비전공자를 위한 추천 언어 '파이썬'
코딩 열풍이 한참 불 때 나도 코딩을 시작했다. 이전 글에서 계속 언급했지만 나는 첫 코딩 언어로 파이썬을 선택했다. 초보자가 접근하기 쉽다는 이유였다. 그리고 은근 파이썬은 인기가 높은 프로그램이었다.
파이썬을 조금 다뤄보고 php를 배우고, 자바스크립트를 배우고 있다. 주로 웹사이트를 만들다 보니 php와 자바스크립트를 요즘엔 주로 쓰지만 여전히 파이썬도 잘 활용하고 있다.
코딩을 배우고자 하는 많은 사람들의 공통된 질문이 있다. '뭐 배우는 게 좋을까요?'
이 질문을 하는 것은 너무 당연하다. 언어에 대해 전혀 지식이 없는 상태에서 수많은 언어 중 내가 뭘 배우면 좋을지 물어보는 것은 그 사람 입장에서는 너무 당연하다. 나 역시 그런 질문으로 시작했다.
각 언어마다 특징이 있어서 목적에 따라 배우는 언어가 달라지긴 하지만 이건 어느 정도 코딩이 익숙해진 다음이다. 그 전에는 비전공자라면 누구나 뭘 배워야 할지 모른다. 그리고 나를 포함해서 많은 사람들의 답은 늘 한결같다.
파이썬(Python)을 배우세요.
왜 파이썬을 추천하는지 직접 내가 써보고 느낀 점을 이야기해보고자 한다.
처음에 파이썬을 추천하는 사람들의 대부분이 이런 말을 한다. 간결하고 쉽다. 처음 코딩을 접하는 사람은 뭐가 간결하고 뭐가 쉬운지 알 턱이 없다. 하지만 아래 사진을 비교해보면 이해가 쉽다.
"The result a+b = 30" 이라는 결과를 출력하는 두 언어의 차이를 보라.
같은 결과를 보는데 Java와 Python의 코드양 차이가 크다. 그리고 파이썬은 코딩을 몰라도 딱 뭐를 말하는지 알기 쉽다. 파이썬은 그래서 직관적이라고 말한다. 코드만 읽어봐도 대충 뭘 하자는지 알기 쉽다. 코딩을 전공하지 않은 사람들이 쉽게 접할 수 있는 언어가 파이썬이다.
파이썬의 가장 큰 장점은 라이브러리를 활용할 수 있다는 것이다. 라이브러리(library)란 모듈이라고도 말하는데 다른 프로그램의 구성 요소로 사용하기 위해 미리 만들어 둔 프로그램 또는 함수 모음이다. 자주 사용하는 기능을 모듈·패키지로 만들어 둔 것이다. 파이썬으로 프로그램을 개발할 때 이 라이브러리들을 그냥 가져와서 쓸 수 있다.
예를 들면, 크롤링할 때 많이 쓰는 라이브러리 중 하나가 requests이다. requests는 HTTP 요청을 보내주는 라이브러리로 서버에 http request를 보내 response 값을 받아온다.
간단히 얘기하면 내가 보고자 하는 웹페이지의 내용을 불러올 수 있다는 얘기이다.
만일 이런 라이브러리 없이 직접 이 기능을 만든다고 생각해보자. 어떻게 만들어야 할지 눈만 껌벅껌벅 뜨고 있을 것이다. 나 역시 못 만든다. 그런데 누군가 이미 이런 기능을 가진 모듈을 만들어두어서 단지 우리는
import requests
이 한 줄만으로 그 복잡한 기능들을 쓸 수 있게 된다. 내가 굳이 처음부터 모든 기능을 직접 만들지 않아도 누군가 친절하게 만들어둔 프로그램을 그냥 불러다 쓸 수 있는 장점을 가진 언어가 파이썬이다.
최근에 GUI 프로그램을 하나 만들었다. GUI(Graphic User Interface)는 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 환경을 말한다. 간단히 아래처럼 보이는 프로그램들을 GUI라고 한다 대부분의 윈도우 실행 프로그램들이 GUI이다. 마우스로 조작하고 입력 및 출력되도록 한 것들이다.
이런 윈도우용 프로그램을 만들려면 어떻게 해야 할까? 역시 눈만 껌벅껌벅 뜨고 있을 것이다. 이것 역시 쉽게 만들어주는 라이브러리들이 파이썬에는 있다. tkinter나 pyqt5 같은 라이브러리를 이용해서 만들 수 있다. 나는 그저 옵션만 정하면 될 뿐이다.
머신러닝 이 듣기만 해도 무시무시해 보이는 기능도 몇 개의 라이브러리를 그냥 불러다 쓸 수 있다. 머신러닝을 실행해주는 라이브러리들이 많이 있다.
최근에 자연어 처리 기술을 이용한 포스팅 요약 프로그램을 GUI 환경으로 구현한 적이 있다. Post Summary라고 이름 붙인 이 프로그램은 Textrank 기술을 반영해 둔 라이브러리를 가져다 사용했다. 내가 직접 만들려면 평생 걸려도 못 만들 프로그램을 단 몇 개의 라이브러리들을 가져와서 쉽게 완성시킬 수 있다.
포스팅 요약 프로그램(Post Summary)에 대해 더 알아보고 싶거나 직접 이용해 보고 싶다면 아래 링크에서 확인할 수 있다.
이런 이유로 개발자로서 직업을 굳이 갖지 않고 내가 원하는 프로그램을 만들고 쓰는데 목적을 갖고 코딩을 배우려는 사람에게는 파이썬이 제격이다. 원하는 모든 프로그램을 수많은 라이브러리를 이용해 쉽게 만들 수 있다. 정말이다. 원하는 모든 것을 만들어 볼 수 있다.
그러니 아직도 뭘 배워야 할지 고민이라면 일단 그냥 파이썬으로 코딩 배우기를 시작해보길 바란다.