소프트웨어/알아두면 좋은 것들

프로그램을 만들 때 접근방식 -초보 프로그래머를 위하여-

리습 2013. 6. 1. 13:48







 어느 학원을 가던, 학교 강의를 듣던, "프로그래밍을 배우고 싶습니다. 그런데 무엇을 해야할까요?" 라고 질문한다면  "OO언어를 배워보라" 라며 "JAVA를 배워보라, C언어, PHP 등 " 특정 언어만을 소개합니다. 아니면, 안드로이드 프로그래밍, 아이폰 프로그래밍 등으로 이름지은 강의를 추천하기도 합니다. 그래서 처음 프로그래밍을 접하시는 분들 중에선 프로그래밍을 배우는 것은 그 언어를 배우는 것이다. 라고 오해하시는 경우가 많습니다. 하지만! 언어를 배우는 것은 프로그래밍을 배우는 것이 아닙니다. 언어는 프로그래밍을 하기 위한 준비를 하는 것입니다. 

 

 프로그래밍은 기계와 대화하는 것이다.

 프로그래머는 항상 컴퓨터와 일을 하게 됩니다. 컴퓨터에게 어떤 작업을 요청하고 그 수행결과를 받는 것이지요. 하지만 컴퓨터는 인간이 아닙니다. 우리가 아무리 유창한 말로 작업을 설명한다하여도 컴퓨터는 알아듣지 못합니다. 그래서 사용하는 것이 기계들을 위한 언어, 프로그래밍 언어를 사용하는 것입니다. 우리는 프로그래밍 언어를 사용하여 그들이 알아듣도록 일을 설명하고 일을 처리하도록 하는 것입니다. 때문에 우리는 프로그래밍을 하기위해 언어를 배우는 것이지 언어 자체가 프로그래밍이 아니라는 겁니다. 또한 한글을 아무리 잘해도 남들에게 잘 설명하는 것은 어렵듯이 프로그래밍을 잘하는 것과 언어를 잘 쓰는 것과는 다른것입니다. 

 

 그렇기 때문에 우리는 프로그램을 만들 때 프로그래밍 언어에 맞춰서 프로그램을 만드는 것이 아닌 프로그램에 언어를 맞춰서 만들어야 하는 것입니다. 

 

 프로그램을 만드려면 컴파일러를 켜는 것이 아닌 종이를 펼쳐라

 

 

 언어를 배우면서 프로그래밍을 접하기 때문에 초보 프로그래머가 가지는 습관 중 하나가 프로그래밍을 하기위해 우선 컴파일러를 켠다는 것입니다. 쉬운 수준의 프로그램을 만들때에는 그래도 상관없지만 조금만 규모가 커진다면 일단 코드를 작성하는 프로그램은 오류를 '뿜어낼수 밖에 '없습니다. 우리가 남들에게 어떤 내용을 설명하기위해 서론, 본론, 결론 등으로 나누어 미리 개요도를 짜듯이 프로그램을 만들기 전에 어떤식으로 일을 할것이며 이것을 어떻게 프로그램언어로 설명할 것인지 생각해야 합니다. 의사코드(pseudo code), 플로우차트(FlowChart) 등을 이용해서 어떤 방식으로 컴퓨터에게 일을 시킬 것인지 미리 계획해야 합니다. 이렇게 처음 배울 때부터 들여놓은 습관이 앞으로 계속 공부를 하는데도 매우 중요합니다.

 

우리들은 우리의 위대한 문자인 한글을 가지고 여러가지 글쓰기를 합니다.  한글은 단지 24자의 자음과 모음을 가지고 있을 뿐이지만 우리는 의미를 부여하고 이야기를 넣어 여러 글쓰기, 문학작품 등을 만들어 냅니다. 프로그래밍도 마찬가지 입니다. 지금 당장은 글쓰는것 자체가 어렵고 힘드실수 있으시지만 나중을 생각하고 더욱더 정진하고 싶으시다면 프로그램을 만들때 작문이 아닌 문학을 만드시는데 더 치중을 하시기 바랍니다.