hot topic



꽃샘추위가 매서웠던 3월 초, 추위도 잊을 만큼 뜨거운 대결이 있었는데요! 전 세계 사람들의 관심을 사로잡은 건 바로 '바둑'이었습니다. 구글 딥마인드(DeepMind)사가 개발한 '알파고(Alphago)'와 이세돌 9단이 겨루는 프로그램과 사람의 대결은 엄청난 주목을 받았는데요. 바둑의 '바'자도 몰랐던 저도! 긴 시간 마음 졸이며 경기를 지켜보았습니다만... 아쉽게도 이세돌 9단의 패배로 경기는 끝이 났습니다. 하지만 끝까지 포기하지 않고 많은 사람에게 감동을 선사한 이세돌 9단에게 박수를 (짝)(짝)(짝)



(출처: 바둑TV) 


대국이 시작되기 전, 바둑 전문가들 대부분은 알파고의 승리를 예상하지 못했습니다. 바둑은 무한대에 가까운 경우의 수(10의 170승)를 가지고 있습니다. 그래서 이를 현존하는 컴퓨터로 계산하는 것은 사실상 불가능하다고 하죠. 프로 바둑 기사들도 대국을 치를 때 '옳은 수'라고 생각하고 두는데, 여기서 옳은 수라 함은 상황을 순간적으로 판단하는 바로 '직관'을 말합니다. 그래서 알파고가 이를 흉내 내지 않는 이상 이길 수 없다고 판단한 것 같습니다. 하지만 전문가들을 비웃기라도 하듯 알파고는 이세돌 9단을 4:1로 승리했습니다. 




대국 결과에 상관없이 바둑은 사람들에게 큰 관심을 받게 되었습니다. 알파고 덕분에 인공지능기술도 관심의 대상이 되었고요. 하지만 미국과 같은 선진국에게 이는 놀라운 일이 아닙니다. 미국을 선도하는 기업인 구글, 애플, MS 등은 소프트웨어를 기반으로 성장한 회사들입니다. 그만큼 이미 소프트웨어 투자가 활발하고 소프트웨어 전문가들을 위한 환경이 조성되어 있다는 것이죠. 


오랜 시간 미국 정부는 소프트웨어 산업에 막대한 돈을 쏟아부으며 투자를 아끼지 않았는데요! 바둑만 둘 수 있는 프로그램을 개발한 회사를 한화로 약 4,800억 원에 인수한 구글이 대단하게만 보입니다만, 그만큼 기업들의 투자도 활발하다는 것을 알 수 있네요.


(출처: Indianexpress.com) 


구글은 미국 내에서도 개발자들이 가장 가고 싶어 하는 회사 중에 하나죠! 연봉도 높을뿐더러 업무환경마저 굳... 이외에도 페이스북, MS 등 신의 직장이라 불리는 곳의 모습은 저도 참으로 가고 싶습니다. 하지만 대한민국에서 이런 기업은 사실 쉽게 찾아볼 수 없군요.




왜 한국엔 이런 기업이 없었을까요? 그동안 한국은 제조업 기반으로 성장했습니다. 당장 수익성이 뛰어난 제조업에 집중하다 보니 그만큼 수요가 높았던 전자공학, 화학공학, 기계공학 등과 같은 전공들이 제조업 발달과 함께 가장 인기 있는 학과가 되었습니다. 


반면, 오랜 시간 투자해야 했던 소프트웨어산업은 뒷전으로 밀리면서 자연스럽게 컴퓨터공학에 입학하는 학생 수는 많이 없었던 것입니다.




최근 대학입시에서 높은 경쟁률을 차지하고 있는 전공은 입학정원을 고려했을 때 건축학과, 원자핵공학과 순이었습니다. 반면, 컴퓨터공학과는 아직 경쟁률이 낮은 편에 속하고 있네요. 심지어 컴퓨터공학과 정원 자체도 줄어들고 있습니다.




이러한 이유는 취업률이 아닐까 싶어요. 다른 공학 계열보다 취업률이 상당히 저조한 탓에 컴퓨터공학에 지원하고자 하는 학생 수는 점점 줄고 있어요. 취업을 하더라도 산업환경도 열약하고 연봉도 낮아 자연스럽게 컴퓨터공학을 기피하기 시작했습니다. 이러니 소프트웨어 산업 발전이 더딜 수밖에 없었습니다.


반면 미국은 그동안 소프트웨어 발전을 위한 노력을 많이 해왔는데요! 유치원부터 고등학생까지 코딩수업을 하고 있으며, 최근엔 수학, 과학처럼 기초수업으로 인정하기도 했습니다. 소프트웨어 산업이 발달한 건 이처럼 기초적인 교육이 뒷받침되었기 때문입니다. 어렸을 때부터 컴퓨터에 친숙하게 배우고 성장하면서 소프트웨어산업에 많이 참여하였습니다.





그래서 최근 한국에서도 소프트웨어 교육의 중요성을 인식하여 2017년부터 초등학생을 시작으로 소프트웨어교육이 의무가 된다고 합니다. 그 중 엔트리교육연구소는 미래창조과학부와 온라인 소프트웨어 교육 개발을 지원하고 연수를 활성화하는 등 다방면으로 협력하기도 했습니다. 이를 통해 어린 친구들이 쉽고 재미있게 프로그래밍을 배울 수 있을 것으로 기대하고 있습니다. 그동안 뒤처졌던 소프트웨어 산업을 키우고자 하는 정부의 노력이 느껴지네요!




그동안 소프트웨어는 공대생들만의 전유물이라 생각했던 분들이 많았을 겁니다. 하지만 소프트웨어는 누구나 배울 수 있답니다! 지금 배우긴 늦었다고 생각하는 분들이 있지만 "늦었다고 생각했을 때가 가장 빠르다"는 말이 있잖아요. 


오늘부터라도 컴퓨터과학 공부를 시작하는 것은 어떨까요? 

제가 컴퓨터과학을 공부할 수 있는 몇 개의 사이트를 추천하고자 합니다.




(이미지를 클릭하면 해당 사이트로 이동합니다.)


세계 최고의 대학인 하버드에서 가장 인기 있는 강좌는 무엇일까요? 바로 'CS50X'라는 컴퓨터 사이언스 수업이랍니다! 그만큼 미국에서 다른 분야보다도 컴퓨터에 관심을 많이 가지고 있다는 것을 알 수 있는데요. EDX, COUSERA 같은 사이트는 컴퓨터 사이언스 관련 수업을 무료로 제공하고 있습니다. 컴퓨터에 관심 있는 분들이라면 당장 시작해도 좋을 것 같네요!



(이미지를 클릭하면 해당 사이트로 이동합니다.)


그리고 코드아카데미는 python, JAVA 등과 같은 프로그래밍 언어를 연습할 수 있는 사이트입니다. 비전공자도 쉽게 따라 할 수 있게 친절한(?) 가이드라인도 제공하고 있고, 다른 프로그램 설치가 필요 없이 사이트에서 만으로도 연습이 가능합니다. 아~주 기초적인 것부터 시작하니 겁먹으실 필요는 없습니다.




우리나라에도 그동안 능력 있는 분들이 많았지만, 한국의 열악한 업계 상황 때문에 국외로 많이 빠져나가고 있어요. 한국의 소프트웨어 산업이 발전하고 알파고와 같은 인공지능기술을 개발하기 위해선 많은 시간이 필요할 겁니다. 정부와 기업이 단기간의 이익만 바라보지 않고 먼 미래에 투자해야 한다고 생각해요!


이세돌 9단과 알파고의 대결 계기로 대한민국에 컴퓨터공학을 위한 기반이 탄탄해지기를 바랍니다. 그러면 앞으로 우리나라도 소프트웨어 산업 1등이 되는 날이 오지 않을까 기대해 봅니다! 여러분도 오늘부터 프로그래밍에 도전해보세요~







                              


     

 

   글은 '통계청블로그기자단' 기사로 통계청의 공식입장과 관계가 없습니다. 



신고
트랙백 TRACKBACK :0 개, 댓글 COMMENT :0 개가 달렸습니다.

 


메르스 공포에 휩싸여 있던 지난 여름을 기억하시나요? 전국 곳곳에서는 메르스 환자가 발생하고 있었고, 사람들은 언제 주변에서 메르스에 옮지는 않을지 걱정하고 있었습니다. 하지만 몇몇 사람들은 지금이야말로 학문을 실생활에 적용할 수 있는 시기라며 의욕을 불태웠습니다. 그 사람들은 바로 빅데이터 분야 종사자들이었습니다. 여러 빅데이터 전문과들과 페이스북 친구를 맺고 있던 저는 그분들이 메르스 관련 데이터로 사람들에게 어떻게 도움을 줄 수 있을지 고민하는 모습을 보았습니다. 



빅데이터 전문가들에게 메르스 사태는 학문을 실생활에 적용할 기회로 여겨졌습니다 



이런 모습에 이제는 사람들이 데이터를 주고 받는 수준을 넘어, 주어진 데이터를 재가공하고 다시 사람들에게 전파하는 시대에 들어섰다는 것을 느꼈습니다. 그리고 이를 한 단어로 표현한 것이 바로 ‘데이터 저널리즘’입니다. 데이터(Data)와 저널리즘(journalism)이 결합된 단어인 데이터 저널리즘, 이 생소한 용어가 이번 기사의 주제입니다. 통계와 빅데이터에 관심을 갖고, 사방의 데이터를 가공해 자신의 이야기를 만들어가고 싶은 분이라면 이번 기사를 통해 새로운 지식을 알아갈 수 있을 것입니다. 


데이터 저널리즘이란?


저널리즘이란 매스미디어를 활용하여 공공적인 사실이나 사건에 관한 정보를 보도하고 논평하는 활동(매일경제 출처)입니다. 그렇다면 데이터 저널리즘이란, 데이터를 통해 사실이나 사건을 보도하는 활동이라 할 수 있겠죠? 풀어 말한다면, 데이터 저널리즘이란 데이터를 깊이 파내어 모으고, 정제하고, 구축하고, 솎아 내어 보기 좋은 이야기로 만드는 일련의 작업 과정입니다. 위에서 말씀드렸던 메르스 사태를 통해 이를 자세히 들여다보도록 하겠습니다

KBS의 데이터 저널리즘 팀은 메르스 발생 현황을 각종 오픈 데이터와 결합해 제공하고 있습니다.
(http://dj.kbs.co.kr/resources/2015-06-04/
 

KBS는 메르스로 한창 떠들썩했던 6월 초, 각종 통계자료를 기반으로 한눈에 파악하기 쉽도록 데이터를 시각화하여 공개했습니다. 각 사람들의 감염 실태, 구글 지도를 기반으로 한 감염자 이동경로 등, 통계치로만 주어졌을 때 알기 힘든 정보를 여러 방식으로 보여주었습니다.

 

이러한 작업은 쉽게 보이지만, 사실 상당히 복잡한 과정이 요구됩니다. 우선 데이터를 확보해야 합니다. 정부에서 발표하는 데이터 외에 인터넷에 떠돌고 있는 오픈데이터까지도 추출하여 통계화할 수 있어야 합니다. 지금은 인터넷을 통해 누구든 데이터를 올릴 수 있는 시대이며, 데이터 저널리즘은 이러한 양방향 소통을 특징으로 갖고 있습니다. 다음으로는 공공 데이터를 디자이너와 프로그래머가 협력해 결과물을 만들 수 있어야 합니다. 위 KBS의 데이터 저널리즘은 오픈데이터를 토대로 디자이너와 프로그래머가 합작해 새로운 결과물을 만들어낸 것입니다. 디자이너는 어떻게 하면 사람들이 직관적으로 이해할 수 있을지 고민하며, 프로그래머는 데이터를 수집하고, 디자이너의 생각에 맞게 데이터를 표현합니다. 이를 통해 독자는 더 복잡한 통계수치 없이 현상을 이해할 수 있습니다.




이제는 누구나 데이터를 활용할 수 있는 시대가 되었습니다. 
하지만 Java와 같은 프로그래밍을 이해하지 못하고는 데이터를 활용하기란 쉽지 않은 일입니다. 


이것이 기존의 저널리즘과 다른 점은 무엇일까요? 기존에도 많은 보도자료는 통계청 자료처럼 여러 통계자료를 근거로 글을 썼습니다. 하지만 숫자나 단순한 그래프로 제공되는 것과 이를 지도나 데이터와 관련된 시각자료와 통합하여 보여주는 것은 다릅니다. 특히, 데이터 저널리즘의 특징은 데이터를 스토리화하여 보여준다는 점입니다. 단순한 통계자료를 넘어 데이터의 스토리를 보여주는 것이 데이터 저널리즘의 핵심입니다. 

또한 데이터 저널리즘은 기술적인 영역이 혼합된 분야입니다. 데이터를 스토리화한다는 점은 곧 데이터마다 다른 스토리를 가진다는 말입니다. KBS에서 만든 메르스의 데이터 저널리즘은 전염병이 아닌 다른 스토리에서는 활용하기 어렵습니다. 게다가 신종플루와 같이 많은 사람들에게 걸리는 질병에도 활용할 수가 없습니다. 결국 매 데이터마다 새로운 디자인과 개발이 필요하게 됩니다. 따라서 데이터 저널리즘이란 통계학, 디자인, 프로그래밍, 마지막으로 이를 스토리화할 수 있는 통찰력이 융합된 종합 학문의 영역이라 할 수 있습니다.

 

데이터 저널리즘의 역사

 

데이터 저널리즘의 역사는, 용어가 2010년부터 쓰인 것에 비해 상당히 오래되었습니다. 가장 유명한 데이터 저널리즘의 예는 나이팅게일의 보고서입니다. 나이팅게일은 1854년 크림전쟁 당시 위생 상태에 의해 사망하는 사람이 많다는 점을 알아냈고, 이를 설득하기 위해 여러 시각자료를 활용하였습니다. 위생을 개선하여 42%의 사망률을 2%까지 줄일 수 있다는 점을 장미 모양의 도표로 표현하였고, 800장의 복잡한 보고서를 단순한 시각자료로 축약해 보여줄 수 있었습니다. 19세기 최고의 통계그래픽으로 손꼽히는 이 그래프는 데이터 저널리즘의 효시가 되었습니다. 이후 많은 세계의 많은 언론은 통계의 시각적 표현에 큰 관심을 보여왔고, 뉴욕 타임즈와 가디언 지는 데이터 저널리즘 팀을 운영하며 각종 이슈를 시각화하여 보여주고 있습니다.


나이팅 게일의 통계 그래프. 왼쪽 데이터는 개선 이후, 오른쪽 데이터는 개선 이전의 것입니다. 
각 달별 사망 원인을 그래프화하여 보여주며 통계 그래프 역사의 한 획을 그었습니다. (출처: Wiki백과) 


그렇다면 우리나라는 어떨까요? 우리나라 최초의 데이터 저널리즘은 제민일보의 4.3사건 보도로 알려져 있습니다. 아직 컴퓨터가 보급되기 전 1990년대 초 제민일보는 4.3사건의 증거자료를 데이터베이스화 하여 대량의 데이터를 저장하고 분석해 4.3특별법까지 제정시키며 데이터 저널리즘의 힘을 보여주었습니다. 이후 많은 언론들이 데이터의 중요성을 깨달았고, 자신들만의 데이터베이스를 구축해나갔습니다.

최근에는 메이저 언론사와 지역 언론사들도 데이터 저널리즘에 관심을 보이고 있고, 다양한 보도를 해오고 있습니다. 부산일보는 작년 지역 언론사 최초로 ‘석면 쇼크, 부산이 아프다’라는 제목으로 데이터 저널리즘을 보여주었습니다. 부산일보는 30여년간 지속된 환경질환의 실태를 누적 데이터와 인터뷰로 집대성해 보여주고 있습니다. 석면에 관한 모든 컨텐츠를 웹에 갖추어 놈으로서 독자는 자신의 동네 현황을 확인함은 물론 다양한 컨텐츠를 마치 잡지를 읽듯 흥미롭게 살펴볼 수 있습니다.


(http://shock.busan.com)


부산일보의 '석면 쇼크, 부산이 아프다' 보도는 지난 30년간 석면이 우리에게 

어떤 영향을 끼쳤는지 다양한 자료를 통해 보여주고 있습니다.


 

단순히 보고 듣고 느끼는 정도를 넘어, 독자가 자신의 데이터를 입력하며 실제 자신의 이야기처럼 느낄 수 있도록 만든 이 보도는 두 달간의 노력의 산물이라고 합니다. 부경대학교 IT융합응용공학과 송하주 교수팀과 협업해 만들어진 이 컨텐츠는, 이제는 언론 보도가 단순한 텍스트와 수치의 나열에서 벗어나고 있다는 것을 보여주고 있습니다.

 

 

 인터뷰 : 국내 데이터 저널리즘의 현재와 미래

 

 

지금까지 데이터 저널리즘의 역사를 알아봤다면, 이번에는 국내 데이터 저널리즘의 현황과 그 한계는 무엇일지, 그리고 어떤 방향으로 나아가는 것이 좋을지 살펴보도록 하겠습니다. 이 부분은 국내 데이터 저널리즘 분야의 권위자이신 신동희 성균관대 인터렉션사이언스학과 교수님의 도움을 받았습니다. UI/UX 분야와 인간-컴퓨터 상호작용을 연구하시는 교수님께서는 최근 빅데이터가 언론 영역에 접목된 데이터 저널리즘과 컴퓨테이셔널 저널리즘까지 연구를 확장하며 많은 글과 기사를 작성하고 계십니다. 그럼 교수님과 함께 데이터 저널리즘에 대해 더 깊게 들어가볼까요?


1. 안녕하세요 신동희 교수님, 교수님께서 데이터 저널리즘에 관심을 갖게 된 배경이 있나요? 

데이터 저널리즘을 처음 알게 된 것은 빅데이터가 관심을 받기 시작한 시기와 일

치합니다. 빅데이터의 중요성이 높아지며 의료, 과학, 경영, 문화의 분야에 적용이 되는데, 언론분야에는 어떻게 응용이 되는지 궁금해 하면서 데이터 저널리즘에 관심을 가지게 되었습니다. 저널리즘적 가치를 추구하는 언론과 데이터로부터 가치를 추출하고 분석하는 빅데이터가 융합되는 데이터 저널리즘은 분명 흥미로운 주제였습니다.


2. 최근 국내에서도 데이터 저널리즘 교육이 진행되는 등 데이터 저널리즘이 뜨고 있습니다. 최근 국내의 데이터 저널리즘에 대해 어떻게 생각하시나요?

국내에선 데이터 저널리즘을 강화해야 한다는 여러 지적에도 불구하고 언론사들 사이에서는 데이터 저널리즘을 텍스트 기사 작성을 기반으로 하는 전통 저널리즘 행위의 보조 수단으로 인식하는 경향이 많이 존재했습니다. 여전히 한국의 저널리즘은 자사가 가지고 있는 기사 자료에 이미지 혹은 플래시 등의 그래픽 정보를 연결하는 초보 수준에 머물고 있는 경우가 많습니다. 뿐만 아니라 제한적인 데이터의 사용, 다양성이 결여된 퍼블리싱(publishing) 형태, 사용자들의 참여와 소통의 부재 등은 국내 데이터 저널리즘의 현재 수준을 가늠하게 해 주고 있습니다. 최근 인포그래픽을 강화하려는 언론사들이 늘고는 있지만, 저널리즘 성격보다는 디자인과 소프트웨어에 중점을 두는 경향을 보이고 있습니다. 이렇게 될 수밖에 없는 데에는 데이터의 중요성에 대한 인식의 부재도 있지만 정부와 언론사 자체의 구조적인 문제가 존재하고 있기 때문입니다.

 


3. 데이터 저널리즘에 대해 알아가다 보니 데이터 시각화와 분명한 구분이 쉽지 않은데, 데이터 시각화와 데이터 저널리즘의 차이는 무엇일까요?

 

국내 언론사는 데이터 저널리즘을 데이터의 시각화로만 인식하는 것이 한계입니다. 즉, 데이터 저널리즘을 데이터에 대한 창의적이고 유연한 소프트웨어로 보는 접근이 아닌, 시스템과 기술적 문제의 하드웨어로 보는 경향에 매몰되어 있는 것입니다. 데이터 저널리즘은 단순한 기술의 적용 문제를 넘어 인식과 철학의 범주가 보다 결정적인 부분입니다. 아직 데이터를 다루는 부서나 종사자는 뉴스 룸 안에서 주변부에 불과해 역량과 명성을 가진 기자나 전문가들과는 거리가 먼 부서로 인식되고 있습니다. 뉴스 룸의 의사결정자들이 대부분 구세대로 디지털의 숙련도가 떨어지고, 그 중요성을 제대로 인식하지 못하는 점이 문제입니다. 대부분의 뉴스 룸이 데이터를 왜 최적화해야 하는지, 그리고 그것이 궁극적으로 어떻게 다뤄져야 하는지에 대해 이해하지 못하고 있습니다.


4. 국내 데이터 저널리즘의 미래가 어떻게 될 것이라 보시나요?

데이터 저널리즘이 미국과 유럽에서 유래한 모델인데, 과연 국내의 상황에 맞는 한국적 모델로서의 데이터 저널리즘이 도출되어 안정적으로 적용될 수 있을지가 관건입니다. 최근의 스마트 정부(smart government)’ 또는 ‘정부 3.0(government 3.0)’ 등의 정책은 데이터 저널리즘의 활로를 개척할 수 있는 기반이 되고 있습니다. 정부가 보유하고 있는 공공 데이터의 과감한 공개를 통해 국민 개개인의 요구를 찾아낼 수 있는 모델을 개발하고, 이것을 바탕으로 국민이 요구하기 전에 먼저 개인화한 정부 서비스를 제공하는 것이 핵심입니다.

데이터 저널리즘의 비전은 언론이 지난 수백 년간 쌓아온 고유의 문화가 데이터베이스의 활성화라는 기술적 변화상과 어떤 형태의 조화를 이뤄 내느냐에 달려 있습니다. 비록 그 모습을 단정적으로 예측하는 것은 어렵겠지만, 결국 저널리스트들의 전문가적 윤리의식이 그 핵심에 있을 것임을 기대하는 것은 어렵지 않습니다. 즉, 아무리 기술과 시스템, 데이터베이스가 발전하더라도 그 기술적 가공물을 다루고 최종적 판단을 하는 것은 바로 인간의 판단이라는 고전적 진리가 데이터 저널리즘에도 적용될 것입니다. 

 

빅데이터 시대, 그리고 데이터 저널리즘


이 기사는 빅데이터 주제로 잡은 세번째 기사입니다. 
데이터 사이언티스트(http://me2.do/GNA3R88B), R 프로그래밍(http://me2.do/FMUHTRq7)에 관한 기사를 쓰고, 대학원에서 인턴으로1년 넘게 공부하며 깨달은 점 중 하나는 빅데이터란 인문학과 공학의 접점에 있다는 점입니다. 데이터 저널리즘은 그러한 흐름의 중심에 위치하고 있었기에, 저는 이를 빅데이터의 세번째 기사로 쓰기로 결심했습니다.

 

빅데이터 시대가 가져다준 것 중 가장 확실한건, 데이터가 축적될 요건이 마련됐다는 점입니다. 사람들은 이 데이터를 어떻게 쓸지 고민했고, 언론은 보도에 데이터를 활용할 방법을 고민하기 시작했습니다. 각 언론사에는 데이터 저널리즘 팀이 만들어졌고, 뉴스젤리는 최근 데이터 저널리즘을 주제로 강의를 진행하고 있습니다. 

그럼에도 아직은 데이터 저널리즘이 대중에게 익숙한 용어가 아니며, 언론에 정보기술을 활용한다는 점도 낯선 이야기입니다. 인문학과 공학이라는 두 문화는 여전히 다른 세상의 이야기로만 받아들여지는 듯합니다.

지금의 시대는 흔히 융합의 시대라고 말합니다. 초등학생이 프로그래밍을 배우고 있고 공대생이 한국사를 배우고 디자인을 배우는 시대가 되었습니다. 데이터 저널리즘은 이러한 시대를 반영하고 있습니다. '글'이 '통계'와 '컴퓨터'를 만났을 때 어떤 효과가 발생할 수 있는지를 데이터 저널리즘은 보여주고 있습니다. 지금의 시대가 필요로 하는 것은 이처럼 인문학과 공학이라는 두 문화 사이의 구분보다는 두 문화가 융합된 하나의 문화일 것이며, 타 분야에 대한 열린 태도는 데이터 저널리즘은 물론 다양한 신 학문이 발달하는 토양이 될 것입니다.




   글은 '통계청블로그기자단' 기사로 통계청의 공식입장과 관계가 없습니다. 



 

신고
트랙백 TRACKBACK :0 개, 댓글 COMMENT :0 개가 달렸습니다.

지금은 바야흐로 소프트웨어 시대

지난 7월 21일, 교육부와 미래창조과학부는 국무회의에서 'SW중심사회를 위한 인재양성 추진계획'으로 초중등학교에 대한 소프트웨어 교육을 본격적으로 확산시킬 것이라 보고하였습니다. 2018년부터 초등학교에서는 소양 중심의 교육을, 중학교부터는 소프트웨어 관련 과목인 '정보'라는 과목을 독립시켜 교육하기로 한다는 것으로 사실상 소프트웨어 교육이 의무화 된 것입니다.


더불어 대학교 또한 소프트웨어 교육을 강화하고 있는 추세인데요. 개교 이래 공대가 없었던 숙명여대는 IT공학과를 신설하기로 결정했으며, 국민대는 올해 신입생부터 프로그래밍 과목을 이수해야만 졸업이 가능하도록 의무화하였습니다. 이 외에도 많은 학교에서 SW관련 학과를 신설하고 교육을 실시하고 있는데, 미래창조과학부에 따르면 SW 학과 재학생은 2012년 5만 1,527명에서 201년 5만 5,143명으로 7.0%증가했다고 합니다.



 


IT 전공자가 한 해에도 2000명씩 증가하는 추세입니다.
한 학과가 보통 50명인걸 생각하면 1년에 40여개의 학과만큼의 학생이 생겨나는 셈입니다. (출처 : 미래창조과학부)

 

소프트웨어에 대한 인기는 이 뿐만이 아닙니다. 현재 많은 수의 스타트업이 어플리케이션을 기반으로 하고 있어, 프로그래밍에 대한 인기는 대학생에서부터 성인까지 다양하게 생겨나고 있습니다.

그럼 왜 이렇게 소프트웨어에 대한 인기가 높아지는걸까요? 제가 생각하는 정답은 '내가 원하는 것을 직접 만들고 싶기' 때문입니다. 이전의 상품은 대부분 기업에서 만들고, 일방적으로 고객에게 전달되는 방식이었습니다. 하지만 지금은 고객이 우선시되고 있고, 더 나아가 사람들이 고객에 머물지 않고 직접 아이디어를 짜고, 직접 상품을 만들고 판매하는 시대가 되어가고 있습니다. 그 중에서도 프로그램은 딱히 물리적인 공간이나 자원을 필요로 하지 않습니다. 그러다보니 상대적으로 쉽게 접근할 수 있으며 요즘은 배울 수 있는 책이나 장소도 많습니다.

하지만 처음 프로그래밍을 배우려는 많은 분들은 이 막막한 외계어에 대해 두려울 수 밖에 없습니다. 프로그래밍 언어에도 많은 언어가 있는데 무엇을 배워야 할지, 또 어떻게 배워야 하며 어떻게 접근해야하는지도 혼자서 헤쳐나가기가 쉽지 않습니다. 그래서 이번 기사에서는 현재 우리나라에서 자주 사용되는 프로그래밍 언어들을 소개드리고, 공부를 시작하는 팁을 드리려 합니다.

 

다양한 프로그래밍 언어, 당신의 선택은?

프로그래밍이란 컴퓨터에게 명령 또는 연산을 시킬 목적으로 설계돼 컴퓨터와 의사소통을 해주게 하는 언어입니다. 컴퓨터는 0과 1밖에 인식하지 못하지만, 사람들이 컴퓨터에 설계하고자 하는 것을 0과 1로 표현하기는 쉽지 않습니다. 그래서 어떻게 하면 쉽게 컴퓨터가 이해하게 할 수 있을지 하나하나 발전시켜나가 지금처럼 일반인도 쉽게 프로그래밍을 할 수 있는 시대가 되게 되었습니다.

일반적으로는 많이 알려져 있지는 않지만, 프로그래밍 언어는 생각보다 굉장히 많습니다. 프로그래밍 언어 사용 순위 등 각종 정보를 열람할 수 있는 사이트인 http://www.tiobe.com에 따르면 100개도 넘는 언어가 있는 것을 알 수 있습니다. 저희가 땅을 파려고 할 땐 소꿉장난 삽부터 모종삽, 일반적인 삽이나 포크레인까지 다양한 도구를 사용합니다. 그것처럼 프로그래밍에서도 또한 각각의 용도에 맞게 언어를 택해 사용하게 됩니다


http://www.tiobe.com 에서는 각종 검색엔진을 참조하여 매달 프로그래밍 언어 순위를 집계하여 발표하고 있습니다. 이번 8월에는 Java가 1위로, C언어가 2위로 순위에 올랐습니다. 이어서 3,4위는 C의 기능을 확장하거나 보완한 C++ C#이 차지했으며 5위에는 최근 한국에서도 큰 인기를 끌고 있는 Python이 순위에 올랐습니다. 하지만 이런 순위를 봐도 어떤 언어를 먼저 시작해야 할 지 결정하기는 쉽지 않습니다.

이번 기사에서는 전통적으로 자주 사용되는 언어인 C와 Java 그리고 쉬운 프로그램언어로 각광받는 Python, 빅데이터가 뜨며 각광받는 R까지 4개의 언어를 소개하는 시간을 가지려 합니다. 이들은 각각 뚜렷한 개성과 장단점을 가지고 있고, 일반적으로 한글 정보를 접하기가 쉬운 언어이기에 초보자도 쉽게 따라갈 수 있답니다.



프로그래밍의 세계는 Java와 C가 선봉에서 이끌어가고 있습니다. (출처 : http://www.tiobe.com )

 

 

1) C언어

C언어는 시스템 하드웨어를 제어할 수 있을 뿐만 아니라 소프트웨어를 작성할 수도 있는 언어입니다. 또한 위키백과에서 "실질적으로 모든 컴퓨터 시스템에서 사용할 수 있는 프로그래밍 언어"라고 정의할 정도로 저사양의 컴퓨터에서 슈퍼컴퓨터까지 다양한 컴퓨터에 사용가능한 이식성을 갖고 있습니다. 이러한 넓은 사용성에도 불구하고 언어가 간결하고 쉬운 편입니다. 메모리를 관리하기 수월해 공간적으로도 효율적이며 다른 언어에 비해 상당히 빠른 속도를 구현하기도 합니다. "C언어는 여자친구 말고는 다 만들 수 있다 "고 불릴 정도로 웬만한 것들은 다 구현 가능 하며 많은 언어들이 C를 기반으로 만들어지기도 했습니다.

하지만 이렇게 만능으로 불리는 언어답게 상당히 구체적인 구현을 요구합니다. 실수인지, 정수인지, 그리고 얼마만큼의 메모리 크기가 필요한지 등 하나 하나 설정을 해줘야 하며 미묘한 실수에도 가 나기 일수입니다.

C언어는 이런 분들에게 권장합니다

- 시간이 많이 걸리더라도 기초적인 프로그래밍의 구조, 논리부터 차근차근 밟고 올라가고 싶다
- 다양한 분야에서 활용되는 프로그래밍 언어를 배우고 싶다
- 가장 빠르고 가장 강력한 프로그램을 만들고 싶다!

일반적으로 C 언어를 배우는 첫 번째 순서는 마이크로소프트에서 배포하고 있는 Visual studio를 설치하는 것입니다. https://www.visualstudio.com/downloads/download-visual-studio-vs 에 들어가 Visual Studio 2013에서 community 2013을 다운받으면 됩니다. 기업에서 사용하는 것이 아니라면 1개월의 평가판을 사용한 뒤에도 로그인 후 무료로 사용할 수 있습니다.


 

 

JAVA

JAVA는 C언어와 많은 부분이 유사합니다. 다만 포인터, 구조체, 헤더파일 등 복잡한 기능은 제외한 언어입니다. 흔히 JAVA는 객체지향 언어라고 말하는데 입문자가 이해하기엔 다소 난해한 개념입니다. 쉽게 말하면 C언어보다 하나하나 분해해서 설계하기에 용이합니다. 사람을 설계한다고 했을 때, JAVA는 사람을 머리-배-손-다리, 손을 손가락-손목-손톱 식으로 하나 하나 분해하여 설계하기가 쉽습니다. 따라서 다수의 사람들이 한 프로그램을 설계할 때에도 JAVA는 큰 효과를 발휘합니다.

하지만 그보다도 JAVA가 많이 쓰이는 이유는 바로 JAVA는 다양한 분야로 확장이 가능하다는 점입니다. 특히 안드로이드 어플리케이션 개발이나 웹 페이지를 프로그래밍 하는데 있어서 상당히 유용해 많은 사람들이 사용하고 있습니다. 따라서 실용적인 언어라고 할 수 있지만 난이도는 여전히 어려운 언어입니다. 

JAVA는 이런 분들에게 권장합니다

- 어플리케이션이나 웹 페이지 개발을 목적으로 하시는 분
- C 언어처럼 기초를 먼저 차근차근 쌓고 싶으신 분

JAVA는 http://www.oracle.com 에서 Downloads-> JAVA SE->Java SE Development Kit 8 Downloads -> Windows [사양 선택] 으로 기본 플랫폼을 설치할 수 있고, 이후 eclipse 등의 소프트웨어를 사용하여 코딩할 수 있습니다. 이 과정은 이 페이지에 다 담기에는 다소 복잡하여, 네이버나 구글 등에 java 설치를 검색하여 참고할 수 있습니다.

 

Python

이번 프로그래밍 언어는 최근 가장 각광받는 언어 중 하나인 파이썬입니다. 파이썬이 위의 두 언어와 다른 차이점은 코딩을 다 완성하고 나서 실행하는 것이 아니라 한 줄, 한 줄 따로 실행이 가능하다는 점입니다. 그렇기 때문에 생각하는대로 프로그래밍을 하고 바로바로 확인할 수가 있습니다. 또한 문법이 다른 언어에 비해 쉽습니다. 그렇기 때문에 초보자들이 익히기에 가장 쉬운 프로그래밍 언어라고 할 수 있습니다.

단점이라면 C언어처럼 시스템 프로그래밍이나 하드웨어 제어, 복잡한 프로그래밍에는 적합하지 않다는 것입니다. 또한 너무도 쉽게 코딩이 가능하도록 만들어진 만큼 차후 필수적으로 고려해야 할 메모리, 속도, 코딩의 기본 구조 등을 소홀히 하기가 쉽습니다. 하지만 어떤 초보자도 직관적으로 이해하기 쉽게 프로그래밍을 배울 수 있다는 점은 충분히 큰 매력으로 작용합니다.

파이썬은 이런 분들에게 권장합니다

- 프로그래밍이 처음으로, 일단 맛을 보고 싶으신 분
- 프로그래밍의 논리를 익혀보고 싶으신 분
- 굳이 속도나 메모리를 고려하지 않아도 될 만큼 복잡한 코딩이 필요 없는 분

설치는 http://python.org 에 들어가 Downloads에서 2.7버전 또는 3.4 버전을 받으시면 끝입니다. 다른 언어에 비해 상당히 쉽죠?

 

R

마지막으로 소개드릴 언어는 R입니다. R은 위의 파이썬과 상당히 유사한 언어입니다. 차이점이라면 통계에 특화되어 있고 요즘 뜨고 있는 ‘빅데이터 기술’을 배우는데 있어 적합한 언어라는 점입니다. 그래프를 표현하는 데에도 좋은 함수들이 많아 시각적인 표현이 필요할 경우 사용하시면 좋습니다. 또한 R은 다른 사용자들이 짠 코드를 쉽게 불러올 수 있어 통계적인 프로그래밍의 경우 정말 쉽게 코딩이 가능합니다.

단점은 파이썬과 같습니다. 거기에 더해서, R은 기본적으로 프로그램을 만들기 위한 언어가 아니며 다른 언어에 비해 속도가 느리다는 단점을 가집니다. 하지만 쉽고 실생활에서도 적용할 데가 많아 다양한 분야에서 쓰이고 있습니다.

R은 이런 분들에게 추천합니다

- 통계를 다루시는 분
- 실생활의 데이터를 분석하고 싶으신 분 
- 굳이 프로그램을 만들 필요는 없으신 분

 



R은 난이도에 비해 상당히 실용적입니다. 카톡방의 채팅 내용도 쉽게 분석이 가능합니다.

설치는 파이썬처럼 다소 쉬운 편입니다. http://cran.nexr.com/ 에서 각 사양에 맞는 프로그램을 선택해 설치하시면 됩니다. R에 대한 정보는 이전기사 빅데이터와 R프로그래밍의 만남, R 유저 컨퍼런스 에서 확인할 수 있습니다.

 

 


화면에 "hello world"을 출력하는 간단한 코드임에도 불구하고 각각 조금씩 다른 형식을 취한다.
언어는 왼쪽 위부터 시계방향으로 C, Java, Python, R.

 

입문용 프로그래밍 언어를 선택하다! 그 다음은?


예전에 비해 프로그래밍을 배우는 과정은 상당히 다양해졌습니다. 예전에는 학원을 다니거나 책을 통해 익힐 수밖에 없었지만, 이제는 동영상을 통해서도 익힐 수 있고 심지어는 웹페이지에서 코딩을 하고 정답을 체크해볼 수도 있습니다. 웹사이트  생활코딩(https://opentutorials.org/course/1)에서는 Java를 비롯한 다양한 언어에 대한 동영상 강의를 제공하고 있습니다. 해외 사이트 코드카데미(http://codeacademy.com)에서도 Python과 여러 다양한 언어의 코딩을 제공하고 있는데, 직접 웹페이지에서 코딩을 구현하여 정답을 확인하게 됩니다. 




생활코딩(https://opentutorials.org/course/1)                   코드카데미(http://codeacademy.com)


지금까지 4개의 프로그래밍 언어를 살펴보았는데, 사실 어느 것이 절대적으로 우세하다 하는 것은 없습니다. 다들 각각의 장단점을 가지고 있고, 각자의 사정에 맞게 취하면 되는 것이지요. 하지만 프로그래밍을 시작할 때 가장 중요한 것이 있습니다. 그건 바로 프로그래밍이란 컴퓨터와, 다른 프로그래머와 상호작용하는 하나의 언어라는 점입니다. 언어이기에 철학이 있고, 적절한 구조가 존재합니다. 혼자만 알아볼 수 있는 코드는 언젠가는 한계에 부딪히기 마련입니다. 그렇기 때문에 항상 다른 사람들과 상호작용하는 것이 중요하며, 코드를 단순한 도구로 보지 않는 사고도 중요합니다.

또한 프로그래밍 언어는 수리적, 논리적 과정을 중요시 합니다. 작은 하나의 문제도 짜는 사람에 따라 10줄에 끝날수도, 100줄에 끝날수도 있는 것이 바로 프로그래밍입니다. 그만큼 단순히 손으로만 짜는게 아닌 머리로 생각하며 짜는 것이 중요합니다. 이는 연습을 통해 획득할 수밖에 없는 것이며 연습에는 왕도가 없습니다. 이 과정에서 많은 입문자들이 포기하고는 합니다. 하지만 이를 참아내고 자신만의 함수를 구현해보고, 소스를 구현해봤을 때의 기쁨을 겪어본다면 지금까지의 노력이 값진 결과를 내고 있는 걸 확인할 수 있을 것입니다.

 

ICT 스타트업 창업자가 바라본 프로그래밍


이 기사를 적고 있을 즈음 (주)비전웍스(Vision Works)의 김민표 대표(kmp@govw.co.kr)님을 우연한 기회에 뵙게 되었습니다. 비전웍스는 사회문제해결을 위한 지러닝 G-Learning(Game Based Learning) 기반 ICT융합 콘텐츠를 개발하는 소셜벤처입니다. 대부분의 직원이 문과계 출신임에도 불구하고 현재 ICT 콘텐츠로 큰 두각을 드러내고 있고, 이러한 사례는 창업을 생각하는 분들에게 큰 도움이 될 거라 생각했습니다. 그럼 김민표 대표님의 인터뷰를 들 프로그래밍에 대해 좀 더 빠져들어볼까요?

1. 간단한 자기소개를 해주실 수 있나요?  


안녕하세요. ‘게이미피케이션(Gamification)’을 통해 사회와 소통하는 기업 (주)비전웍스(Vision Works)의 대표를 맡고 있는 김민표입니다. 비전웍스는 사회문제해결을 위한 지러닝 G

-Learning(Game Based Learning) 기반 ICT융합 콘텐츠를 개발하는 소셜벤처입니다. 저는 기능성 게임 기획 및 책임개발자로 활동 중이며, 저와 같은 스타트업 및 소셜벤처 창업자를 위한 창업교육에 관심을 갖고 비즈니스 교육 게임도 개발하고 있습니다


 
특히 린 분석(Lean Analytics)에 기초한 비즈니스 크레이에티브 툴킷(Business Creative Tookit)을 개발하여 기업가정신 및 창업교육 등에 활용하고 있으며, 지난 해 컨설턴트 분들과 함께 『사회적 기업을 어떻게 경영할 것인가』 (아르케 : 2014)의 저자로 참여하였고, 최근 게이미피케이션과 기능성 게임 교육을 주제로 한 책을 준비 중에 있습니다.Learning(Game Based Learning) 기반 ICT융합 콘텐츠를 개발하는 소셜벤처입니다. 저는 기능성 게임 기획 및 책임개발자로 활동 중이며, 저와 같은 스타트업 및 소셜벤처 창업자를 위한 창업교육에 관심을 갖고 비즈니스 교육 게임도 개발하고 있습니다.

2. 혹시 프로그래밍을 접하게 되면서 어려움을 겪은 것이 있으신가요? 혹시 있다면 그것을 어떻게 극복하셨나요?

 프로그래밍은 곧 언어를 배우는 것이라고 생각합니다. 언어를 배우기 위해서는 좋은 교과서와 반복적인 언어의 사용 즉 예제를 연습하고 코딩을 게을리 하지 않는 것이 실력을 늘리는 길이라 생각합니다. 하지만 너무나 많은 프로그래밍 언어와 빠르게 변화하는 IT 환경 속에서 나에게 가장 적합한 언어가 무엇인지 그리고 어떻게 공부를 효과적으로 할 수 있을지에 대한 가이드라인을 찾기가 매우 어려웠습니다. 인터넷을 뒤져도 ‘취업이 잘되는 코딩교육’ 이라는 아이러니한 홍보성 글이 올라올 뿐, 큰 도움이 되지 못하였습니다. 몇 몇의 현업 개발자를 만나 조언을 구하였습니다만, 개발자 마다 프로그래밍 방식이 다르다 보니 오히려 혼란만 늘더군요. 오랜 시간 동안 공부해야 하는 ‘정답이 없는 개발자의 길’ 을 포기하라는 의견이 다수였습니다. 
 하지만 포기하기에는 이르다 생각하였기에 거금을 들여 모 기관에서 운영하는 앱 개발자 과정을 이수한 것이 계기가 되어 지금은 개발 방향을 잡고 조금씩 부족한 부분을 채우고 있습니다. 최근에는 파이썬과 장고를 비롯하여 진행 중인 웹/앱 개발을 위한 다양한 프로그래밍 언어를 공부 중에 있습니다.

3. 전공자가 아닌, 프로그래밍을 처음 시작하시는 사람에게 하고 싶은 조언이 있으신가요?

 5년 전 쯤 IT 분야 모 글로벌 기업의 부사장님으로부터 멘토링을 받던 중, ‘자네는 문과 출신이고 개발자가 아닌데 왜 이 사업을 하려고 하는가? 자네가 개발자 아니고서야 결코 이 분야에서 성공할 수 없다네. 최소 이 분야의 전문서적 수 십 여권을 독파하고 흐름이라도 알아야 하지 않겠나.’ 라며 호되게 질책을 받은 적이 있습니다. 말씀인즉 내부 개발자가 있거나 혹은 외주개발 위탁을 하더라도 창업팀의 대표가 개발에 대한 이해가 전무하다면 콘텐츠 기획과 프로젝트 관리에 있어 부실해 질 수 있음을 경고해 주신 이야기였습니다. 
 저는 5년이 지나서야 비로소 실천에 옮기게 되었는데 혹시 지금 이 글을 읽고 있는 분 중 비전공자로 IT분야 창업을 준비 중에 있다면 지금 실천에 옮기시길 바랍니다. 그리고 최근에는 비전공자를 위한 다양한 교육 기회가 많고 독학을 위한 많은 서적이 출간되어 있기에 지금 프로그래밍을 시작하여도 절대 늦지 않습니다. 무엇보다 낮에는 사업을 준비하고 밤에는 프로그래밍 언어와 사투를 벌이는 모험이 가득 한 흥미진진한 일상을 즐기시길 한번 쯤 권해봅니다.   (사진출처 : 국가경영전략연구원)


  글은 '통계청블로그기자단' 기사로 통계청의 공식입장과 관계가 없습니다.

 

신고
트랙백 TRACKBACK :0 개, 댓글 7 개가 달렸습니다.
  • BlogIcon 움바 2016.06.01 11:41 신고 ADDR EDIT/DEL REPLY

    좋은글 잘 읽었습니다.

  • 파랑새 2016.06.14 08:36 신고 ADDR EDIT/DEL REPLY

    컴퓨터 언어를 배우보고자 정보를 모으고 있습니다.
    유익하고 참고가 되는 내용 감사합니다.

  • 후니훈 2016.06.14 12:21 신고 ADDR EDIT/DEL REPLY

    용훈님 감사해요

  • 노네임 2016.07.11 17:03 신고 ADDR EDIT/DEL REPLY

    좋은글 잘보고갑니다^^

  • BlogIcon 쏘매기 2016.09.01 17:21 신고 ADDR EDIT/DEL REPLY

    내용이 너무 좋아서 개인 블로그에 공유해갈게요! 감사합니다!

  • Nerd Pride 2017.01.07 00:10 신고 ADDR EDIT/DEL REPLY

    감사합니다. 공유할게요 :)

  • 긍정 2017.06.15 14:24 신고 ADDR EDIT/DEL REPLY

    좋은 글 잘 읽었습니다 :)


티스토리 툴바