일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 게시판페이징
- 윈폰7
- wp7
- 서호주여행
- ASP.NET
- 광야에서
- The Frames
- 김광석
- 닷넷게시판리스트
- live8
- 닷넷게시판만들기
- 유용주
- U2
- 전라도여행
- BSB
- asp
- 안치환공연
- 퍼스
- 안치환콘서트
- 안치환
- 서호주
- swell season
- 웹프로그래밍
- 영화
- 닷넷DB연동
- 가족영화
- Perth
- 닷넷공부법
- 백스트리트보이스
- 여행
- Today
- Total
새로운 시작, GuyV's lIfe sTyle.
Part 2. 프로그래밍을 공부하며 들이면 좋은 버릇 또는 조언[1] 본문
이번 글에서는 당연한 얘기를 좀 할까 합니다.
왜?? Why?? 어째서??
간단하게, 이제 막 말을 배우기 시작하는 어린아이처럼 "엄마, 이건 왜 빨간색이야?", "아빠, 저건 왜 기울어져 있어?" 같이 끊임 없이 의문을 가지는 것을 추천합니다. 자매품으로,
안되는 것을 당연하게 여겨라.
가 있습니다. 원하는 대로 작동을 안하면 "왜 안되지?"라고 절로 나오겠죠. 잘 작동을 해도 "왜 작동하지?" 라고 생각해보는 것도 중요합니다.
일상생활에서도 뭔가에 대해 의문을 가지면 깊숙한 곳으로 들어가기가 쉽거든요. 컴퓨터는 절대적으로 객관적인 사실에 의해서 돌아가는 기계일 뿐입니다. "잘 되야 되는데 왜 안되지?"로 시작하지만 결국에는 컴퓨터가 이긴 게임입니다. 100%확률로 사람이 시킨 대로 동작하는 컴퓨터인데, 당연하겠지요?
프로그래밍 언어는 누군가(사람)가 만든 프로그램의 일종입니다. 그 사람만이 완벽하게 잘 작동할 수 있도록 코딩하는 것이 몸에 배겨 있고, 언어를 만든 사람이 아닌 사용하는 다른 사람들은 언어를 만든 사람이 내놓은 문법책을 끊임없이 보고 언어가 잘 작동하게 노력해야 됩니다. 그러니, 당연히 잘 안됩니다. 잘 되는게 이상하지 않나요??
글을 읽으시는 분이 게임을 하나 만들었다고 가정해봅시다. 간단하게 총알을 피하는 게임이라고 하죠. 이 게임을 다운받은 사람은 조작은 다른 게임처럼 "ASDW"키나 화살표 키로 하겠지. 라고 생각할 확률이 높겠죠? 그러나, 진실은 게임을 만든 나만이 알고 있죠. 게임을 할 사람들에게 알려주지 않으면 각자의 상상력일 뿐이고, (글 뒤에 다시 언급할 내용이지만) 팩트는 아무도 모릅니다. 이게 함정이예요. 컴퓨터 앞에서 아직 익숙하지 않았다면, 내 생각을 과감하게 버리세요.
1개를 정확하게 이해하면 비슷한 100개를 안해봐도 이미 해본 것과 다름없다.
당연한 말인데, 책이나 강좌를 보면서 생각없이 그냥 따라하고, 그 날 배운 것들을 다시 해보면 내가 바보였던가?? 왜 분명 배웠는데 못하지? 하며 자책하시는 분들이 많을 것입니다. 함정에 빠지신 건데요. 만약 달달 외우신다면 배운 그대로 다시 리플레이 해보면 잘 돌아가겠죠. 그런데 이걸 어디다가 써먹지? 라는 질문에는 답하기 어려울 것입니다. 그리고, 무언가를 만들어 내는게 중요한게 아니라는 것입니다. 기본 문법들이 모여서 완성품이 나오게 되겠죠?
문법을 하나 이해를 했다면 내가 표현할 수 있는 말이 예제에서 다루지 않은 것들도 막 내뱉을 수 있는 것과 같은 원리라고 생각하세요. 하나 이해했다면 이미 많은 것을 알고 있는 것과 다름이 없습니다. (검증을 안했을 뿐이겠지만요)
이해하지 못했다면 밤을 새어도 절대 해결 안된다.
"A만들자~" 하고 해봤는데, 뭔가 원하는 기능이 구현이 안되는 겁니다. 대표적인 이유로는 만들기 전에 체크를 하지 못했거나 놓쳤기 때문이겠죠. 일단 키보드부터 손이 가는 경우가 많습니다. 만약에 내가 만드는 프로그램이 정확히 이해를 하지 않는 상태로-주로 누군가가 시키니 수동적으로- 키보드에 손을 얹어 코딩을 시작했다면, 다시 지우고 새로 작성할 확률이 높습니다. 정말 이해하고 코딩한게 맞을까요? 이해하지 못했다면 아예 키보드에 손을 얹지 않기를 추천합니다.
공부할 때는 완성하지마라.
결과물, 중요합니다. 꼭 내 눈으로 봐야 희열도 생기고 그렇지요. 한 두번 정도는 추천합니다만, 글쎄요.. 시간 낭비입니다. 앞서 말씀드렸지만, 내가 이해를 했다면 결과는 잘 나오게 되어있습니다. 이 부분은 의심하지 마세요. 정 시간들여 코딩을 해서 답을 봐야겠다. 개인적으로 추천해 드리는 것은, "아, 될 것 같네." 생각이 들면 차라리 "그럼 다른 방법은 뭐가 있을까?"를 고민해 보는것을 추천합니다. (사실 배움의 길은 갈 길이 멀어요.. ^^)
완성보다는 과정입니다. "프로그래밍에서는, 삽질의 결과물 보다 방금 내가 파낸 흙이 더 중요하다"라는 말을 하고 싶습니다.
쓰고 싶은 글이 더 있긴 한데요, 지루하니 앞으로 한번 씩 언급을 하도록 하겠습니다.
오늘은 여기까지입니다.
'ⓟrogramming > 웹프로그래밍 제대로 배우기' 카테고리의 다른 글
Part 5. 인터넷 서비스에 대해 좀 더.. 그리고 IP와 Port. (0) | 2020.02.02 |
---|---|
Part 4. 인터넷 - 인터넷 서비스에 대하여. (0) | 2020.02.02 |
Part 3. 구글링 단어 선정 - 프로그래밍 관련 자료 잘 찾는 팁 (0) | 2020.02.02 |
Part 1 - 다양한 프로그래밍 언어들.. 그리고 웹. (0) | 2020.02.02 |
제대로 웹(Web) 공부하기 - 개요 (0) | 2020.02.01 |