프로그래밍을 처음 배우기 시작하는 사람에게 조언.
1. 프로그래밍은 'Language(언어)'이다.
- C도 언어고 JAVA도 언어입니다. 무릇 프로그래밍이라는 것은 컴퓨터와 대화를 하는 것입니다.
- 우리가 영어를 배울 때, 어휘와 문법을 배우듯이, 프로그래밍도 마찬가지입니다.
- 어휘와 문법을 배우는 것은 크게 어렵지 않습니다.
- 다만, 여러분이 대부분 봉착하는 문제는 언어적 문제가 아닌 논리적 문제입니다.
2. 컴퓨터는 기본적으로 바보입니다.
- 명확한 지시를 내리지 않는다면 알아 듣지 않습니다.
- 가령, '라면을 끓여라'라고 시켜도 못 알아 먹습니다.
- 냄비 크기는 이걸로, 물량은 얼마나, 가열도구는 무엇이며, 스프는 물과 같이 넣을 건지, 물이 끓은 후에 넣을 것인지, 물을 몇 분간 끓일 것인지 혹은 온도가 몇 도가 될 때까지 끊일 것인지, 면은 어느 타이밍에 넣을 것인지 등등등 하나하나 확실한 지시를 내려줘야 합니다.
3. 컴퓨터는 정직합니다.
- 시킨 일은 정확하게 수행합니다.
- 컴퓨터가 엉뚱한 결과를 내놓았다면, 시킨 사람이 잘 못 지시한 것입니다.
- 분명 어디에서 잘 못 지시했습니다.
4. 언어적 문제는 책이나 인터넷을 뒤져보면 쉽고 상세하게 설명이 나와 있습니다.
- 언어적 문제는 걱정하지 않으셔도 됩니다.
- 코딩할 때마다 책을 뒤지면서 해도 됩니다.
- 영어도 반복 숙달하면 익숙해지듯이 프로그래밍도 마찬가지입니다.
- 처음에는 책 보면서, 구글링 하면서 손가락에 익히는 것입니다.
- 모른다고 부끄러운 것이 아닙니다. 포기하는 것이 부끄러운 것입니다.
- 나중에는 '여기서 반복문을'이라고 생각함과 동시에 이미 "반복문" 기본 골격이 모니터에 나타나기 시작합니다. 손가락이 알아서 움직입니다.
5. 여러분이 중요하게 생각 해야 하는 것은 로직과 알고리즘입니다.
- 내가 원하는 결과가 나오게 하려면 어떻게 해야 하는가를 먼저 고민해야 합니다.
- 이것은 여러분들이 스스로 고민해야 하는 문제입니다.
- 비전공자 혹은 자신보다 실력이 낮다고 생각하는 사람과 의논해봅시다. 의외로 엄청난 힌트가 출현합니다.
6. 'Fail'과 'Warring' 및 버그는 1개 이상 나오는 것이 정상입니다.
- 안 나오는 것이 더 불안합니다.
7. 남의 코드를 베끼는 것은 부끄러운 것이 아닙니다.
- 단, 그 코드를 완전히 이해를 해야 합니다.
- 남의 코드를 베끼면서 자기 실력도 키워가는 것입니다.
- 후에 비슷한 문제를 풀어낼 때, 그 코드가 기억이 나면서 응용이 가능하다면 비로소 자기 실력이 되는 것입니다.
- 저작권에 주의합시다.
- 코드를 공개한 사람에게 감사합시다.
8. 아무리 간단하고 하찮은 코드라도 반드시 저장합시다.
- 나중에 어떻게 다시 써먹을 수 있을지 모르는 일입니다.
- 복붙 만세.
9. 프로그래밍은 기본적으로 맨땅에 헤딩입니다.
- 이렇게도 해보고, 저렇게도 해보고, 대체 뭐가 뭔지 모르겠다며 머리를 쥐어 짜봐야 실력이 늡니다.
- 위에서 말했다시피, 의외의 곳에서 엄청난 힌트가 튀어나올 수 있습니다.
- 코딩엔 정답이 없습니다. 당신이 지금 적어 내려가고 있는 코드가 정답입니다.
- 헤딩하다가 돌이킬 수 없는 일이 생길 수도 있으므로 SAVE는 수시로, 여러개로 합시다.
- 한참 길을 방황하다가 다시 되돌아 가야 할 때, 백업이 없으면 난감합니다.
- 로직 이외의 문제를 해결할 수 있는 만능 사이트를 즐겨찾기 하자.
- 여러분이 원하는 답의 대부분을 여기서 찾을 수 있습니다.