분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
옵션 |
|
저작권이 있으므로, 무단 전제 및 복사를 금합니다.
제가 생각하는프로그램의 본질에 대한 이야기 입니다.
비전공자들도 충분히 이해가 가능한, 프로그램이 본질에 대한 이야기 입니다.
중요한 것은 많은 고수들도 이점을 간과한다는 겁니다.
======================================================================
프로그램 언어도 하나의 언어이다
프로그램 언어도 '언어'의 하나이다.
많은 개발자들이 이것을 많이 망각하고, 기본을 잃어 버린다.
언어를 분류하는 방법은 많다.
음성언어와 문자언어로 구분하기도하고, 손의 모양으로 소통하는 수화도 언어의 하나이다.
인공어라는 것도 있는데, 자연적으로 만들어진 것이 아닌 사람이 의도적으로 만든 언어이다.
예를들면, 수학에서 사용하는 언어와 '프로그래밍 언어' 등이 있다.
즉, 프로그래밍 언어도 언어의 한 종류이며, 명령을 표현하고 전달하기 위한 것이다.
프로그래밍 언어의 명령은 한국말로 번역이 가능하다.
프로그램의 이슈가 발생하여 도움을 주러 가면, 내가 처음 하는 것은 담당자에게 구현사항 설명을 부탁한다.
대부분의 경우, "말로는 설명 못하겠다. 구현은 다했는데 잘 안된다."라는 답변을 듣는다.
즉 '한국말로 번역을 못 하겠다.'라고 하는 것이다.
사람은 프로그래밍언어보다 자신의 모국어를 더 잘 사용한다.
자신의 모국어로도 표현하지 못하는 것을, 다른 언어로 잘 표현 할 수 있을까?
프로그램을 배우는 것이 아니라, 한국말부터 배우라고 종종 말한다.
한국말로 표현하지 못하는 것은 다른 언어로 표현하지 못한다.
잘하는 언어로 못하는 것을, 이제 막 배운 새로운 언어로 어떻게 표현하는가?
이런 경험이 실제 있었다.
대기업에서 한국말을 못하는 외국인이 프로젝트 리딩을 하고 있었다.
당시 윗분들은 '영어 잘하는 개발자를 뽑으라'고 하셨다.
나는 이렇게 설명을 했다.
"영어말고, 한국말로 먼저 설명해 보라고 하십시요."
"한국말로 설명하지 못하는 것을, 영어로 설명 할 수 없습니다."
"영어를 못하는 것이 아니라, 기술이 부족한 겁니다."
한국말로 횡설수설하는 것을 영어로 번역하니, 알 수 없는 암호문이 된것이다.
한국말로 정확히 설명하면, 영어를 잘하는 사람이 번역해 줄 수 있다.
기본적으로 사용하는 용어는 이미 영어로 되어 있기 때문에, 짧은 3형식만 가지고도, 영어로 직접 설명할 수도 있다.
기술영업을 할때 이런 경험도 있었다.
프랑스인 해외 엔지니어가 한국을 방문했다.
고객사에서 1년정도 수정이 되지 않는 이슈가 있는데, 그 이슈를 외국인에게 설명해 달라고 했다.
영어를 잘하는 사람들이 설명하지 못해서 1년동안이나 지연되고 있었다.
내 영어실력은 완전 초보이며, 외국인을 보면 도망가지 않는 수준이고, 형편없다.
내가 외국인과 말하는 것 보면, 대부분의 한국 사람들은 웃는다.
그런 실력으로 아무런 준비도 없이, 외국인 개발자에게 기술 이슈를 설명해주고, 수정 약속을 받았다.
1년 동안 설명하지 못해서, 수정하지 못한 것을 나는 이해를 시켰다.
내 설명을 듣고 해외 엔지어가 '씩'하고, 웃었다.
웃음엔 두 가지 의미가 있을 것이다.
하나는 "너 영어 못하내.", 다른 하나는 "기술적 설명은 이해 했다."
지금 까지 다른 사람이 설명하지 못한 이유는, 영어가 아니라, 기술적 이해를 하지 못했기 때문이다.
실제로 많은 기술적인 이슈를 한국말로도 제대로 설명하지 못 하면서, 영어로 설명하려고 한다.
당연히 영어로 횡설수설하는 것 밖에 되지 못한다.
반대로 기술적인 완벽한 이해가 있다며, 더듬거리는 엉터리 영어로 이해를 시킬 수 있다.
내가 만든 프로그램을 다른 사람이 보면, '쉽내', '나도 이해된다.'라고 많이 말한다.
내가 만든 프로그램은 어려운 기교가 거의 없다.
프로젝트 시작할 때는 어려운 업무라면서 서로 안하려고 미루던 것인데, 만들어 놓으면 '쉽다'는 말만 한다.
어려운 프로그램이 잘 만든 것이 아니라, 쉬운 프로그램이 잘 만든 것이다.
어려운 기교는 쉽게 만들지 못하는 사람들이 사용하는 것이다. 즉 중수들이다.
고수들은 어렵게 하지 않고, 쉽게 한다. 물론 쉽게 하는 것 처럼 보일 뿐이며, 따라해 보려면, 잘 안된다.
쉽게 할 능력이 안되어서, 어렵게라도 하면 중수라는 것이다.
한글을 읽을 때 어떤 글이 좋은 글인가?
쉽고, 간결하고, 애해하기 쉬운 글이 좋은 글이다.
프로그램도 언어이며, 똑같이 적용된다.
쉽고, 읽기 편하게 만든 프로그램이 좋은 프로그램이다.
프로그램을 만드는 사람을 '코더'라고한다.
잘 봐 주어야 중급 개발자다.
한글에 비유하면, 번역가 정도가 될것이다.
원문의 정확한 의미를 이해고, 아름답게 번역하는 훌륭한 번역가도 물론있다.
그러나 원문을 만드는 사람을 더 높게 평가한다.
프로그램에서도 이와같이, 사람의 말로 정확하게 말할 수 있어야 한다.
내가 신입 사원을 가르칠때, 한국말로 프로그램 할 것을 설명하게 시킨다.
이것을 완벽하게 할 때까지 프로그램하지 말라고 한다.
한국말로 설명 못하는 것은, 다른 언어로 번역하지 못한다.
한국말로 설명을 할 수 있을때, 프로그램을 만들어 보라고 하면, 크게 문제 없는 프로그램이 나온다.
너무나 당연한 것인데, 많은 사람들이 프로그램을 못 한다고 생각한다.
그냥, 한국말도 못 하는 것이다.
심지어 많은 특급 개발자도 한국말도 제대로 못 하는 경우를 종종 본다.
죄송합니다. 댓글 작성은 회원만 가능합니다.