다양한 컴퓨터 언어 사용하기..

요새 코딩(컴퓨터 프로그래밍/컴퓨터 알고리즘) 학습이 붐인가보다. 심지어는 지금 미국에 살고 있는 나도 코딩 학습의 붐을 느낄 정도니까. 뭐랄까 미국은 아시아의 교육열이나 학습 트랜드에 비하면 많이 떨어지는 경향이 있다보니까 이런 미개국(?)에서도 코딩학습이 붐을 이루는 것 같다 하면 이미 한국과 같은 곳에서는 진작에 시작한지 꽤 된 아이템일 수도 있지 싶다.

코딩이란 게 예전의 정규 코스에서는 대학에나 가서야 수치해석 같은 것을 배우면서 혹은 대놓고 컴퓨터 언어를 가르치는 1학년 수업에나 있었지 싶은데, 사실 지금으로부터 4-50년 전부터 개인용 컴퓨터가 보급되었으니까 코딩을 해야할 사람들은 다 알아서 잘 해왔다고 할 수 있어서 아버지나 대학에 다니는 (큰)형이나 삼촌이 컴퓨터를 가지고 있었다고 하면 대개 그 주위의 어린 아이들도 컴퓨터 게임을 하느라 컴퓨터에 친해 지고 컴퓨터 게임의 재미에 한계를 느끼면 대부분 곧장 코딩의 세계에 빠졌으니까 빠르면 취학전 혹은 초등학교 저학년 아이들도 컴퓨터를 곧잘 했다고 봐야 한다. 어설픈 이공계 대학생이나 교수 따위의 컴퓨터 실력은 그냥 쌈싸먹는 이들도 많았고.

지금도 마찬가지로 어려서 컴퓨터 언어와 네트워크 개념에 능한 이들은 컴퓨터로 밥을 먹고 있는 이들을 능가하는 경우를 볼 수 있다. 다만 이들은 대놓고 활동하지 않으니 알 수 없을 뿐. 온라인 세계에서도 ‘나 코딩 좀 한다’ 뽐내기가 사실 쉽지 않고 그걸 뽐내려면 대개 남들이 쉽게 못하는 일들을 해내는 정도? 좀 선구안이 있다고 보면 open source project에 contribute하면서 실력을 갈고 닦는 정도지 싶다.

예전과 차별화되는 점은 분명히 예전에 코딩을 가까이 한 이들은 자신이 가진 온전히 1대의 컴퓨터 자원에만 목을 매는 상황이었다고 보면, 인터넷과 함께 빠르게 보급된 다양한 언어/변종들을 학습한 이들은 다룰 수 있는 언어의 종류도 다양하고 네트워크를 활용하는 능력, 즉 외부의 인터넷 자원, 누군가에 의해서 작성된 라이브러리/모듈을 잘 가져다 쓰는 능력을 가지고 있어서 복잡한 기능이라도 매우 빠르고 쉽게 구현하는 능력을 가졌다.

코딩 자체를 잘하는 것도 좋겠지만 결과물의 품질과 리드 타임을 생각하면 어디에 가면 양질의 모듈/플러그인을 쉽게 구할 수 있고 그것을 어떻게 활용하는지 잘 알고 있는 것이 분명히 더 좋은 결과를 낼 수 있다는 것이다.

컴퓨터 언어의 변화를 보면 다양한 개념들이 추가되어 재미있는 양상을 볼 수 있는데, 전통적인 개념의 언어에서는 각각의 라인들이 위에서 아래로 순차적으로 실행된다는 가정하에 쓰여지는 것 부터, 인터넷에서 데이터를 읽어올 때에 맞춰서 일이 비동기적으로 수행되는 개념이 포함된 것도 있고 동시에 여러 개의 작업들이 수행되는 개념을 갖는 언어들도 있다. 기계어로 직접 결과가 나오는 것부터 가상 머신 위에서 돌아가는 것 등등 다양하고 실행속도에 그다지 연연해 하지 않는 언어들도 많다. 세상에 태어나서 컴퓨터를 배울 시간이 얼마 없었던 어린 사람들에게는 자신이 처음 접한 컴퓨터 언어가 모든 컴퓨터 언어의 중심의 서게 될텐데 오히려 처리 속도라든가 구체성을 너무 요구하는 언어보다는 그런 것에 너무 민감하지 않은 대신 다양한 개념과 다양한 영역을 한꺼번에 다루면서도 다양한 사용자층을 확보해서 요긴한 모듈을 빠르게 확장시켜나갈 수 있는 것이 더 좋은 것 아닐까 하는 생각을 해본다.

그런 의미에서 아주 고전적인 C/C++ 보다는 java(script)나 엄청난 사용자층을 확보한 python이 나은 선택일 수도 있다 싶은데, 역시 컴퓨터에 깊숙히 접근하고 싶다고 하면 C/C++은 피하기 힘들지 싶기도 하고.

어차피 코딩 학원을 차려놓고 돈을 벌려고 맘을 먹은 이들이야 매번 새로운 코딩 예를 들고와서 분석한 내용을 가르치고 실습하는 것으로 시간을 떼우겠지만, 그런 진도로 요즘 사람들을 가르친다면 가르쳐야 할 게 너무 많고 그것들을 그들이 전부 암기하고 수도 없이 반복하지 않는 이상엔 그냥 시간 낭비가 아닐까 한다. 스스로 문제를 푸는 습관을 들이게 하고 그것을 어떻게 빨리 풀 수 있을지 새로운 방법론을 제시하고 하는 것이 더 좋은 방법, 즉 고기 잡는 법을 가르치는 것이 아닐까 하는데.

어차피 한 두 마디 해서 알아 들을 정도의 수준이라면 코딩 학원 따위 다닐 이유도 없고, 이 좋은 세상에서 매우 빠르고 쉽게 배울 수 있는 게 코딩이니까 이 역시도 예전과 별 다를 게 없구나 한다.

코딩 학원/학습도 잠시 유행했다가 사라질 그런 반짝 아이템이 아닐까? 그런 거면 진작에 별 것 아닌 경력 뻥튀기해서 학원 좀 차려놓고 프렌차이즈 처럼 만들어놓고 먹튀하는 전략을 가진 이들도 제법 있겠다 싶다.