SW 배움터

어떤 프로그래밍 언어를 배우는 것이 좋은가?

kusson 2017. 9. 8. 16:43
반응형
728x170

세상에는 수백 수천개의 프로그래밍 언어가 있어서 처음 프로그래밍을 배우는 사람은 무엇부터 배워야 할지 모르는 난감한 상황에 놓이게 된다. 그러나 이러한 고민을 하는 사람이 많은 만큼 해답을 제시하는 사람도 많이 있었는데 그 중에 하나의 대답을 소개한다. 


미국 지디넷의 칼럼니스트 데이비드 게위츠(David Gewirtz)라는 분이 이러한 문제에 답을 주는 것으로 유명하다. 그는 온오프라인에서 프로그래밍을 가르치는 일을 약 20년 간 해왔고현재는 UC버클리 학생들을 가르치고 있는 사람이다. 언어 디자인을 전공했고, 약 20개 이상의 언어를 사용할 수 있다고 한다. 그가 쓴 어떤 프로그래밍 언어가 가장 인기있나라는 글을 소개하면서 프로그래밍 언어 선택에 조금이나마 도움이 되었으면 한다.


그가 사용한 방법은 언어 인기도를 측정할 수 있는 여러 사이트를 참고해서 인기 언어를 집계하는 방법이다. 이러한 방법으로 프로그래밍 언어의 순위를 정하기 때문에 꽤 신뢰할 만한 방법이라 하겠다.

사진 지디넷 제공


위의 자료는 2016년도를 기준으로 각 프로그래밍 언어의 랭킹을 조사한 여러기관의 결과를 정리한 표이다. 상위에는 우리가 익히 아는 자바나 C, 파이썬 같은 언어들이 랭크되 있고 아래로 갈 수록 특수한 목적을 위해 만들어진 언어들이 포진해 있다. 


데이비드 게위츠는 위 표에서 각 언어가 몇 위에 몇번 랭크되었는지를 고려해 또 하나의 차트를 만들었다. 그렇게 순위도를 기준으로 따로 차트를 만들어 보니 인기도에 따라 3개의 그룹으로 나뉘어 지는 것을 확인 할 수 있었다. 

자료 지디넷 제공


1그룹엔 자바, C, 파이썬, C++이 포함되었고 2그룹엔 자바스크립트, C#, PHP, 스위프트가, 3그룹엔 오브젝티브-C, R이 들어갔다. 이렇게 구분해 놓고 보니 각 그룹의 차이가 확연히 드러나는 것을 알 수 있다. 즉 1그룹에 들어가는 언어들은 특정 플랫폼에 관계없는 범용성을 갖춘 언어들이고 2그룹은 특정 플랫폼을 위해 만들어진 언어들이란 점이다. 2그룹에 속한 자바스크립트나 PHP는 주로 웹 개발을 위해 쓰이는 언어들이고 C#과 스위프트는 각각 MS와 애플의 플랫폼에 쓰이는 언어들이다. 3그룹에 위치한 언어들은 특정 목적을 위해 따로 만들어진 언어들로 오브젝티브-C는 아이폰의 앱을 개발하는 용도로, R은 통계 계산과 그래픽을 위한 언어이자 소프트웨어 환경으로 주로 쓰인다.


이렇게 인기있는 언어가 1, 2, 3 그룹으로 나눠지는 이유는 우리가 프로그램을 개발할 때 한개의 언어만 사용하는 것이 아니기 때문이라는 것이다. 자바나 C++를 잘 다룬다고 해도, 웹 작업을 할 때면 또 자바 스크립트나 PHP등을 쓸 줄 알아야 한다는 것이다. 한 언어만 잘 다룬다는 것은 전장에 나가는 장수가 칼 한자루만 가지고 나가는 것과 똑같은 것이다. 전장에 나갈려면 칼도 필요하지만 방패와 또 때로는 창도 필요한 법이다. 



위의 그림은 인터넷에 뜨도는 아주 재미있는 그림인데 지금 얘기하고 있는 주제를 가장 효과적으로 보여주는 그림이다. 내용을 좀 보면 가장 쉽게 시작할 수 있는 언어로 파이썬을 추천하고 있다. 그리고 직장을 구하기 위해 언어를 배우는 과정이라면, 플랫폼이나 취직하고 싶은 회사에 따라 배워야 하는 언어가 달라지는 것을 알 수 있다. 웹쪽의 일을 하고 싶다면 자바스크립트를 그리고 모바일 쪽의 일을 하고 싶다면, 애플의 아이폰용 언어는 오브젝티브 - C를, 구글의 안드로이드용 언어로는 자바를 배워야 한다. 따로 각 회사별로 중요 언어가 표시되어 있는데 MS는 비쥬얼 스튜디오에 쓰이는 C#을, 애플은 오브젝티브 - C를, 그리고 페이스북과 구글은 파이썬을 배워야 한다고 나와 있다. 이도 저도 아니고 오직 배우는 것을 목적으로 한다면 쉬운쪽은 파이썬을 좀 깊게 파고 들고 싶다면 C++을 추천하고 있다. 




이제 결론을 이야기 해 보자. 데이비드 게위츠는 수많은 언어를 분석하고 종합해서 처음 프로그래밍 언어를 배우고자 하는 사람에게 다음과 같은 조언을 해 준다. 가장 처음에 배울 언어는 자바나 C++이 좋다. 그이유는 대부분의 언어들이 C에서 파생되어 나왔기 때문에 C 패밀리에서 가장 인기가 좋은 C++이나 자바를 배워두면 다음 단계의 언어를 배울때 쉽게 적응 할 수 있다는 것이다.  2단계로 배우면 좋을 언어는 자바스크립트이다. 웹기반의 응용 프로그램들이 점차 많아 지고 활용도도 뛰어나기 때문에 자바스크립트에 대한 수요도 늘어날 것이란 이유에서다. 3단계로 배워두면 좋은 언어는 PHP, 스위프트, 파이썬 중 하나이다. 2단계까지 배웠으면 자신이 하고 싶은 일에 따라, 웹과 데이터베이스 일을 하고 싶다면 PHP를, 애플의 플랫폼이나 애플리케이션에 관심이 있다면 스위프트를, 빅데이터 프로그래에 관심이 있다면 파이썬을 배우면 될 것이다. 파이썬은 간결한 문법과 직관적인 언어로 처음 프로그래밍을 배우는 사람들도 많이 배우는 언어이지만 하이엔드 레벨에서도 많이 쓰는 언어이다. 미국에서는 파이썬 프로그래머의 몸값이 가장 높다는 얘기도 들었다. 


언어를 하나만 잘 안다고 모든 문제가 해결되는 것이 아니기 때문에 최소한 서너가지 이상의 언어를 배우는 것이 좋다. 그래야 한 언어에서 부족한 부분을 다른 언어에서 채워 줄 수 있기 때문이다. IT산업이 너무나 빠르게 변하고 있기 때문에 이러한 추세에 부합하는 열려있는 마인드로 세상을 대하는 자세가 중요할 것이다. 


결론만 다시 정리해 보자. 1단계로 자바나 C++중 하나를 선택해 배운다. 2단계로 자바스크립트를 배운다. 3단계로 PHP, 스위프트파이썬 중 하나를 선택해 배운다. 이렇게 각 단계에서 각각 하나씩의 언어를 잘 익히고 나간다면 앞으로 다른 어떤 언어나 플랫폼도 쉽게 적응 할 수 있게 될 것이다.



반응형
그리드형