"왜 전산과를 졸업하고, 학원을 수료하고, 정보처리 자격증을 취득하고도 프로그램 개발을 못할까?"
마이크로소프트웨어 잡지에 매달 고정적으로 실리는 모 전산학원의 광고 문구 중에서 인용했습니다. 더 말할것도 없이, 이것이 현실입니다.
프로그래밍 언어를 배우고, 개발도구 사용법도 배우고, 책 보면서 예제를 따라서 쳐보기도 하기지만, 그것만으로는 프로그래밍은 되지 않습니다.
기본적으로 프로그래밍은 인간의 뇌에서 이뤄집니다. 컴파일러나 개발도구가 해주는 것도 아니고, 프로그래밍 언어가 해주는 것도 아니고, 바로 인간의 사고 영역에서 제일 먼저 이뤄져야 되는것이 프로그래밍입니다. 그것은 결국, 그 어떤 코드라 할지라도 인간의 생각(이미지)을 문자로 구현화(표현)한 것에 지나지 않기 때문입니다.
보통 말하길, C를 배우고, JAVA를 배우고, 혹은 비주얼베이직이라도 배우면 프로그래밍을 할 수 있다고 생각합니다. 물론 그걸 배우는 것조차 간단치않죠. 그런데 정작 문제는 언어는 학습하지만, 그 속에 담겨있는 프로그래밍의 원리는 학습을 못하게되는 경우가 태반이라는 것입니다.
어린아이가 한글을 깨쳤다고해서 바로 문장을 구사할 수 있는 건 아니지요. 문장도 깨치고, 국어 문법에 정통했다 할지라도 바로 시나 소설이 써지는 것 또한 아니지요.
프로그래밍이랍시고, 겉으로 드러나보이는건 코드 밖에는 없으니, 코드가 프로그래밍의 전부라고 오해할 법 하기도 합니다.
그러나, 눈에 보이는 것이 전부가 아닙니다.
보이지 않는 것에 그 핵심이 있는 것입니다.
키보드에 손이 가기 전에, 먼저 종이와 연필에 손이 가야합니다. 프로그래밍의 방식으로 생각을 하는 연습을 하지 않으면, 근본적으로 프로그래밍은 이뤄질 수 없습니다.
책을 보고 예제를 많이 보고, 프로그램을 많이 짜보면 프로그래밍 실력이 늘거라고 합니다. 하지만 '코드'를 많이 쳐보기만 해서는 그다지 의미는 없습니다. '코드'에 담긴 생각을 이해하지 못해서야 공부가 되지 못합니다. 오히려 그보다는, 단 한줄의 코드도 작성하지 않더라도, 생각을 많이 해보는 것이 더 도움이 된다고, 저는 생각합니다.
"왜 그렇지 하지 않으면 안될까?"
"왜 이렇게 하면 안될까?"
"객체지향이란게 대체 무엇일까?"
한없이 의문을 가지고 파고들어보는 것. 여기에 기반지식으로써 "CPU의 구조와 원리"에 대한 학습은 필수라고 생각됩니다. 그리고 더 나아가면, "운영체제", "자료구조", "디자인 패턴", "XP", "소프트웨어공학" 등등에 관한 것도 책을 통해서 학습하면 더 없이 좋을 것입니다.
프로그래밍을 하는 자에게는 '책'과 친해지는 것은 필수입니다. '책'은 생각의 영역을 넓혀주는 역할도 합니다.
마이크로소프트웨어 잡지에 매달 고정적으로 실리는 모 전산학원의 광고 문구 중에서 인용했습니다. 더 말할것도 없이, 이것이 현실입니다.
프로그래밍 언어를 배우고, 개발도구 사용법도 배우고, 책 보면서 예제를 따라서 쳐보기도 하기지만, 그것만으로는 프로그래밍은 되지 않습니다.
기본적으로 프로그래밍은 인간의 뇌에서 이뤄집니다. 컴파일러나 개발도구가 해주는 것도 아니고, 프로그래밍 언어가 해주는 것도 아니고, 바로 인간의 사고 영역에서 제일 먼저 이뤄져야 되는것이 프로그래밍입니다. 그것은 결국, 그 어떤 코드라 할지라도 인간의 생각(이미지)을 문자로 구현화(표현)한 것에 지나지 않기 때문입니다.
보통 말하길, C를 배우고, JAVA를 배우고, 혹은 비주얼베이직이라도 배우면 프로그래밍을 할 수 있다고 생각합니다. 물론 그걸 배우는 것조차 간단치않죠. 그런데 정작 문제는 언어는 학습하지만, 그 속에 담겨있는 프로그래밍의 원리는 학습을 못하게되는 경우가 태반이라는 것입니다.
어린아이가 한글을 깨쳤다고해서 바로 문장을 구사할 수 있는 건 아니지요. 문장도 깨치고, 국어 문법에 정통했다 할지라도 바로 시나 소설이 써지는 것 또한 아니지요.
프로그래밍이랍시고, 겉으로 드러나보이는건 코드 밖에는 없으니, 코드가 프로그래밍의 전부라고 오해할 법 하기도 합니다.
그러나, 눈에 보이는 것이 전부가 아닙니다.
보이지 않는 것에 그 핵심이 있는 것입니다.
키보드에 손이 가기 전에, 먼저 종이와 연필에 손이 가야합니다. 프로그래밍의 방식으로 생각을 하는 연습을 하지 않으면, 근본적으로 프로그래밍은 이뤄질 수 없습니다.
책을 보고 예제를 많이 보고, 프로그램을 많이 짜보면 프로그래밍 실력이 늘거라고 합니다. 하지만 '코드'를 많이 쳐보기만 해서는 그다지 의미는 없습니다. '코드'에 담긴 생각을 이해하지 못해서야 공부가 되지 못합니다. 오히려 그보다는, 단 한줄의 코드도 작성하지 않더라도, 생각을 많이 해보는 것이 더 도움이 된다고, 저는 생각합니다.
"왜 그렇지 하지 않으면 안될까?"
"왜 이렇게 하면 안될까?"
"객체지향이란게 대체 무엇일까?"
한없이 의문을 가지고 파고들어보는 것. 여기에 기반지식으로써 "CPU의 구조와 원리"에 대한 학습은 필수라고 생각됩니다. 그리고 더 나아가면, "운영체제", "자료구조", "디자인 패턴", "XP", "소프트웨어공학" 등등에 관한 것도 책을 통해서 학습하면 더 없이 좋을 것입니다.
프로그래밍을 하는 자에게는 '책'과 친해지는 것은 필수입니다. '책'은 생각의 영역을 넓혀주는 역할도 합니다.




덧글
이제는 은미님 덧글 볼 때마다 반가운 느낌이 듭니다. ^^;