본문 바로가기

IT 정보

프로그래밍(코딩) 처음 시작할 때 어려운 이유와 대처 방법

반응형

 

 프로그래밍(Programming)은 말 그대로 프로그램이나 웹, 앱 등을 만들어서 자기가 생각하는 프로그램을 만드는 행위를 일컫는 단어입니다. 즉, 프로그램을 만드는 행위를 의미하는 것인데 옛날에만 해도 이 영역은 전문가나 정말 프로그래밍에 대한 높은 지식을 가지고 있어야만 접근할 수 있던 영역이었지만 요즘은 초중고 및 대학교를 불문하고 프로그래밍 교육을 실시하고 있습니다.

 

 왜냐하면 프로그래밍을 하면 기본적인 창의성과 사고력을 늘릴 수 있고 학습 습득력이 빨라지기 때문에 요즘에는 전문 분야가 아닌 필수 교육으로 변화하고 있는 상황이기도 하고 더 나아가서 대기업이나 일부 기업에서는 개발자가 아니더라도 프로그래밍 능력을 테스트하거나 시험을 봐서 기업에서의 내 능력을 판단하는 하나의 과제가 되기도 합니다.

 


어려운 프로그래밍

 

 위 내용에서 말했다시피 프로그래밍은 아무리 대중화가 되고 교육기관에서 필수 교육으로 진행할 정도로 누구나 한다고 하더라도 여전히 전문적인 영역에 자리하고 있는 것은 변함이 없는 상태이다 보니 프로그래밍을 아직 어렵게 생각하거나 어려워하는 경우가 대다수 아직 많이 보이고 있으며 설명을 하더라도 이해를 못 하는 경우가 다소 존재합니다.

 

 필자도 10년 이상 프로그래머로 일을 하고 있고 지금까지도 계속 쭉 해왔기 때문에 이 10년이라는 경력을 무시할 수 없는 것은 당연한 사실입니다. 하지만 만약에 저에게 이 어려운 프로그래밍을 쉽게 할 수 있는 방법을 알려달라고 물어본다면 저의 대답은 스스로 판단하고 이해해야 할 부분이기에 잘못 이해하거나 이해를 하지 못한다면 아무리 경력이 긴 사람이 가르쳐줄지라도 여전히 이해하지 못한다.라고 말해주고 싶습니다.

 

 

 프로그래밍을 처음 접하고 어렵게 생각하거나 어려워하는 이유에는 여러 복합적인 문제가 있을 수도 있지만 가장 크게 작용하는 부분은 '오류 해결 능력', '코드 작성 능력', '구현 능력'이 많이 부족하기 때문에 발생하는 문제라고 볼 수 있습니다.

 

 오류 해결 능력의 경우에는 내가 작성한 코드에 의해서 오류가 발생하였을 때 이 오류가 왜 발생하였고 어떠한 오류인지를 판단할 수 있는 가장 중요한 능력 중 하나로 오류코드를 보고 문법 에러인지, 컴파일 에러인지, 동작 에러인지 판단하는 것은 프로그래밍에서 매우 중요한 자리에 위치하고 있습니다.

 

 왜냐하면 이 작업을 '디버그(Debug)'라고 부르기 때문인데 디버그 작업은 프로그램에서 매우 중요한 과정이며 비유를 하자면 마지막 마감 공정 작업을 하는 것이나 다름없는 과정이므로 절대 빠져선 안 되는 것이고 이 디버그 능력이 되지 않는다면 오류가 발생했을 때 전혀 이해하지 못하는 문제가 발생하는 것입니다.

 

 

 물론 초보자가 바로 코드를 이해하는 것이 아니거니와 오류 코드를 본다고 해서 해결할 수 있는 능력이 즉각적으로 생기는 것은 아닙니다. 하지만 오류가 발생하였다고 해서 좌절하거나 불안해할 필요 없이 적어도 작성한 코드를 검증하면서 나 때문에 생긴 오류인가?(= 문법 에러), 프로그램이 돌면서 생긴 오류인가? (=동작 에러)를 구분하는 능력을 키우는 것이 바람직합니다.

 

 

 코드 작성 능력은 말 그대로 내가 생각하는 동작 메커니즘(이하 로직)을 코드로 구현할 수 있는가에 대한 능력을 말하는 것으로 프로그래밍에 있어서 가장 기본적인 능력이라고 볼 수 있습니다. 하지만 초보자에게는 1줄의 코드를 쓰는 것도 매우 어려운 것이 현실입니다. 왜냐하면 코드를 모르는 것은 당연한 것이고 코드에 대한 활용법을 모르기 때문입니다.

 

 하지만 다르게 생각을 해보면 저희는 어떻게 한국어를 사용하고 있는 것일까요? 한국어를 바로 알고 쓰는 것이 아닌 한국어 학습을 했기 때문에 한국어를 자연스럽게 사용할 수 있는 것입니다. 컴퓨터 언어도 마찬가지입니다. 컴퓨터 언어도 컴퓨터가 사용하는 언어이라는 점이 다를 뿐 나머지는 자연어와 완벽하게 같다.라고는 할 수 없지만 유사한 형태를 가지고 있다고 볼 수 있습니다.

 

 따라서 코드를 이런 거구나.라고만 이해하는 것이 아니라 코드가 이런 것이고 이렇게 사용하며 어떤 상황에서 사용해야 하는 부분이지? 하고 이해하고 학습하면서 공부를 한다면 1줄이 아닌 10줄~100줄 코드도 이해할 수 있는 날이 올 것입니다.

 

 

 구현 능력은 프로그래밍에서 가장 어려운 과정이지만 반드시 습득해야 하는 능력 중 하나입니다. 왜냐하면 코딩을 아무리 잘하더라도 본인이 생각하는 프로그램을 구현하기 위해서는 어떤 코드를 어떻게 활용해야 이런 로직을 짜게 되고 이 로직이 돌면서 어떠한 동작을 한다.라는 것이 되어야 하기 때문입니다.

 


초보자가 쉽게 접근할 수 있는 언어

 

 

 현재 이 세상에는 수많은 언어들이 있고 각 언어마다 응용 프로그램, 웹, 안드로이드, IOS 등 동작하는 위치가 달라집니다. 하지만 무작정 공부를 한다고 해서 이러한 언어들이 학습되는 것은 아니고 본인이 공부를 할 때 어떤 언어가 접근하기 편한 언어인지 알 수 있는 부분이 다소 존재합니다.

 

 예를 들어 C언어, PHP, C#, Java 등의 언어를 배우게 된다면 이 언어들의 코드 구조와 메커니즘이 유사하기 때문에 하나만 제대로 알게 된다면 나머지는 처음 할 때보다는 학습기간이 짧아지게 됩니다.

 

 

 하지만 초보자가 바로 C언어부터 시작하면 좋겠지만 C언어도 접근을 어렵게 생각하시는 분들이 계시기 때문에 이런 분들께는 파이썬(Python) 언어를 해보시는 것을 추천하며 파이썬은 지금까지도 많이 사용되고 있고 게임에서도 사용되고 있는 언어 중 하나이고 인터프리터와 스크립트 둘 다 해볼 수 있는 언어이고 C언어와 같이 세미콜론에 대한 고통을 느끼실 필요가 없으므로 많이 추천하는 언어이기도 합니다.

 


마치며

 

 저도 10년 이상 프로그래밍을 하면서 여러 언어를 병행하며 사용하고 있는 전문가 수준의 능력을 가지고 있지만 이 능력이 선천적으로 생긴 부분도 아니고 다른 사람들과 같이 많은 공부와 학습, 이해를 하면서 만들어낸 능력을 꾸준히 발전시키면서 이루어낸 결과물이라는 것을 강조하고 싶습니다. 그 이유는 프로그래밍을 처음부터 잘하는 사람은 없으며 노력만 한다면 누구든지 그 기회가 있다는 것을 증명하는 것이니까요.

 

 만약에 지금 프로그래밍을 공부하고 있고 프로그래밍을 이해하고 싶으시다면 노력의 끝에는 항상 결과가 찾아온다는 점을 잊지 마시고 포기하지 말고 계속 쭉 길을 나아가시면 반드시 입구가 보일 것입니다.

 

 

글이 유익하셨다면 공감, 댓글, 구독해주시면 블로그 발전에 큰 도움이 됩니다. ^^-

반응형