본문 바로가기

분석이야기/Columns

우리 모두가 프로그래밍을 배워야 하는 이유



읽기 전에 추천 한 번!

블로거에겐 큰 힘입니다



MS의 빌 게이츠, 페이스북의 마크 주커버그, 트위터의 잭 도시, 드롭박스의 드류 휴스턴, 구글의 래리 페이지와 세르게이 브린. 이들의 공통점은 젊은 나이에 프로그래밍으로 일가를 이루었다는 것입니다. "hello world"를 화면에 표시해 보기 위해서, 가족들을 재미있게 할 수 있는 뭔가를 만들고 싶어서, 학교에서 우연히 프로그래밍 관련 수업을 들어서와 같이 시작은 매우 단순했습니다. 그렇지만, 해결해야 할 문제를 인식하고 프로그래밍이라는 창을 통해서 그 문제를 해결하려 부단히 노력을 기울였습니다. 우리가 프로그래밍을 하는 이유는 무엇일까요? 우선 동영상을 하나 보시죠. 사진: qisur




제가 처음 코딩을 한 것은 초등학교 6학년인 1990년 입니다. 어머니가 비디오 샾을 운영하셨는데 당시에는 비디오 테입을 빌려주고 받는 일들을 전부 손으로 기록했습니다. 기록하는 것을 깜빡하면 대출과 회수관리가 전혀 안되었습니다. 각 비디오 테이프에 일련번호를 부여하고 GW-BASIC을 이용해서 비디오 대여일자와 반납일자를 계산하고 연체된 리스트와 연락처를 출력하는 간단한 프로그램을 만들었습니다. 더하기, 빼기만 할 수 있으면 가능했습니다.


대학시절 LAN을 사용할 수 있게 되면서 자연스럽게 네트워크에 관심을 갖게 되었습니다. 처음으로 리눅스를 설치해 보았고, Brian W. Kernighan의 C Programming Language와 Stevens, Richard W.의 Unix Network Programming에 빠졌습니다. 그러나 군에 입대를 하면서 자연스럽게 프로그래밍과 멀어졌습니다. 다시 학교로 돌아와 통계를 공부하면서 아주 잠깐 SAS와 SPSS라는 통계패키지에 빠져본 적도 있습니다. 그 후로 프로그래밍과는 전혀 관련이 없을 것 같은 세상으로 진로를 바꾸었습니다.


프로그래밍과 전혀 관련없는 세상은 없었습니다. 어디에나 컴퓨터는 존재합니다. 회사에 입사해서 원가를 계산하고 분석하면서 다시 한 번 프로그래밍을 해야겠다는 생각에 Python, R, SQL을 배웠습니다. 이 모든 것을 인터넷과 책을 통해서 혼자 배웠습니다. 누구나 가능합니다. 


프로그래밍이란 거창한 것이 아닙니다. 해결하고자 하는 문제를 컴퓨터가 알아 들을 수 있도록 이야기하는 과정입니다. 복잡한 알고리즘을 설계해야 하는 일도 우리같은 일상 프로그래머에게는 크게 중요하지 않습니다. 세상에는 수없이 많은 프로그래밍 언어가 존재합니다. JAVA, C, Visual Basic, PHP, Python, Ruby, Perl, HTML, JavaScript, SQL, Assembly, LISP... 


마치 세계 여러나라에 각 국의 언어가 존재하는 것 같습니다. 영어가 세계공용어라 영어를 기본적으로 구사해야 하는 것처럼 프로그래밍도 JAVA나 C와 같은 주류 언어를 기본적으로 공부해야 하는것은 아닙니다. 내가 풀고자 하는 문제에 적합한 언어를 하나 선택해서 하나씩 하나씩 배워나가면 됩니다.


웹에 관심이 있으면 HTML, PHP, JavaScript, 저처럼 데이터 분석에 관심이 있으면 R과 Python, 데이터 베이스에 관심이 있다면 SQL, Application 프로그래밍에 관심이 있다면 C나 Java같이 관심있는 분야를 선택하고 그에 맞는 프로그래밍 언어를 배우면 되는 것입니다. 


프로그래밍을 배우는 것 또한 어렵기만 한 것은 아닙니다. 악기를 배우는 것이나 스포츠를 하는 것과 같습니다. 처음 시작이 익숙하지 않을 뿐 충분히 노력으로 극복가능합니다.최근의 프로그래밍 언어들은 사용자가 이해하기 쉬운 문법을 사용하고 코드 또한 간결합니다. 블룸버그 뉴욕시장도 프로그래밍을 배우고, NBA 농구스타 크시스 보쉬도 프로그래밍을 배웁니다. 진짜 중요한 것은 내 일상에서 일어나는 일들에 관심을 갖고 분석해서 그 문제를 해결해 보겠다는 의지를 갖는 것입니다. 프로그래밍이 그 일을 도와줍니다.