프로그래밍 언어의 종류가 중요할까?


Blog /생각들 2012.06.28 09:37




프로그래밍 언어 종류가 중요할까?


 IT를 시작하는 단계에서 많은 사람들이 "언어의 종류"를 선택하길 고민하고, 선택 한 후 다른 언어와는 전혀 다른 언어로 생각하는 경우가 많다. 위의 통계는 TIOBE에서 제공하는 현재의 프로그래밍 언어의 순위이다. 부동의 1, 2위는 C와 JAVA. Javascript는 생산성때문인지 최근 굉장히 빠른속도로 치고 올라오고 있으며, Objective-C 역시나 iOS 덕분에 순위가 급상승하고 있다. 하지만 과연 프로그래밍 언어가 정말 '중요'할까?


 

 프로그래밍 언어, 라는 단어속에 "언어"라는 말이 들어가있다. 우리가 흔히 사용하는 영어, 한글, 독일어와 같은 '언어'이다. '언어'란 문법과 적는 형식이 다를 뿐 "감사합니다" 라는 말이 어떤 의미인지 안다면 "Thank You" 라는 말을 찾기는 굉장히 쉽다. (물론 감사합니다 의 의미를 모르는 경우에는 영어나 독일어에서의 같은 의미의 단어를 찾기가 매우 어렵겠지만?) 그렇기 때문에 비슷한 형식을 띄고 있는 언어는 한 언어를 마스터하면 다른 언어 역시 마스터 하는 것이 빠른 시간내에 가능하다. 프로그래밍 언어도 그런 맥락에서 굉장히 유사한 점을 많이 가지고 있다. Java를 깊이 있게 이해하고 공부를 했다면, C로 짜여진 코드들을 보더라도 "아 이게 이런 의미의 말로 쓰였겠군"하는 글의 흐름이 보인다. 그리고 "Java에서의 랜덤함수"를 잘 알고 있다면 C에서의 랜덤함수 역시나 쉽게 찾고 응용을 할 수가 있다. 때문에 프로그래밍 언어 하나를 깊게 이해하면 다른 언어들을 쉽게 쉽게 습득 할 수 있다는 장점이 있다. 물론 여러 언어를 깊이는 조금 얕더라도 넓게 보면서 이해도를 높여 프로그래밍 언어를 잘 하는 방법도 있겠지만... 

 어쩄거나 프로그래밍 언어는 그냥 '글쓰기'이다. 프로그래밍은 컴퓨터와 관련되서 너무 어렵다! 라는 생각은 조금 접어두는 것이 맞다. 생전 처음보는 프랑스어를 보고 하루 이틀만에 자유자재로 구사하는 것은 단언코 불가능하다. 프로그래밍 언어 역시도 문법과 문맥, 그 글이 가지는 특성들을 파악하면 점차 언어의 특성들을 구별하지 않고 긴 시간이 걸리지 않아도 다른언어를 구사하는 게 가능하다. 이를테면 앱을 만든다. 로딩화면이 나오고 그다음은 메뉴가 나오는데, 이 때에는 어떤 버튼을 활성화하고 위치는 어디에 놓는다. 1번 버튼을 클릭하면 어떤 화면을 띄우고..... 이와 같은 흐름 그대로 글을 쓰는 것일 뿐. 어떻게 보면 컴퓨터라는 '공학적인' 곳에 프로그래밍은 '문학적인' 느낌을 가지고 있지 않는가? 

 때문에 프로그래밍 언어의 종류는 '중요'하지만, 생각만큼 중요하진 않다. '중요'하지 않다고 할 수 없는 이유는, 그 시대의 Trend와 좀 더 그 언어에서 두각을 나타내며 개발자로써 이름을 날릴 수 있는 것들은 사람들이 많이쓰게 되는 언어를 미리 마스터하는 방법이다. Java도 이 언어가 모든 프로그래밍 언어 중 1, 2위를 다투게 될 거라 생각하고 공부했던 사람들은 지금은 Java의 대가들이 되어있다. 이런 측면에서 Trend를 보고 미래를 보는 눈도 필요하지만, 한 언어를 선택하고 고민하며 고집하는 것은 개발자에게 좋지 않다. (더더구나 세상은 빠르게 변하고, 언어들도 빠르게 진화하기 때문에) 

 조금 다른 이야기를 덧붙이자면, 프로그래머라는 단어에도 '언어'적인 측면이 많이 들어가있다. '그래머' Grammer는 문법을 잘아는 사람이라는 의미를 가진다. Pro +Grammer는 프로페셔널한(하게) 문법을 잘아는 사람이라는 의미를 가지게 된다. 글쓰기와 같은 프로그래밍 언어를 잘 이해하고 사용하는 사람이 프로그래머 라는 의미에서도 위의 이야기를 보충할 수 있겠다. 또한 '코더'라는 말은 굉장히 혐오스러운 말이다. 단순히 '코드를 짜는 사람' 과 '문법을 이해하고 잘 활용하는 사람'이라는 의미에는 꽤나 큰 격차가 있다.

 어떤 언어를 선택하든 '코더'가 아닌 창조주 격인 '개발자' 혹은 '프로그래머'라는 단어에 어울리는 프로그래머가 되기 위해선 단순히 '코드 몇줄' '기능 몇줄'보다는 언어를 이해하면서 어떤 구조를 통해 실행이 되며, 혹은 코드들을 어떤 구조를 통해 짜며 자신만의 코드룰을 가지고 실력이 쌓아나가는 것이 중요하다고 생각한다. (물론 말처럼 쉽게 실력이 쌓이는 건 아니지만, 노력중이다. 노력하면 언젠간 마스터가 될수 있지 않을까?:)



By ShakeJ

Contact : shakejj@gmail.com Blog : http://mnworld.co.kr 


 


신고

WRITTEN BY
ShakeJ

0 ,