코딩: 소통의 통로
•
소통의 열망
◦
사람은 사회적 동물이다. 당연히 관계를 맺고 살아가고 이 과정에서 인정을 받고자 한다.
◦
사람 간의 소통은 주로 언어를 통해 이뤄진다. 요즘에는 프로그래밍이 정보화 시대에 누구에게나 허락한 소통의 통로 중 하나가 되었다.
◦
프로그래밍은 컴퓨터와의 소통 활동이라고 할 수 있다. 컴퓨터와의 소통에 있어서 동기는 문제 해결이다.
◦
여기서 필자는 코딩 학습의 좋은 동기가 될 수 있는 소통에 대한 필자의 경험과 생각을 나누고자 한다.
•
깐간한 친구, 컴퓨터와 소통하기
◦
컴퓨터는 입력하면 설계한대로 입력에 대한 출력을 내뱉는다. 한 치의 오차도 없다.
◦
컴퓨터와 오랜시간 관계를 맺고 익숙해진다면 이런 컴퓨터의 모습도 이해가 될 것이고 소통도 어렵지 않아질 것이다.
•
코딩, 결국은 사람들과의 소통
◦
내가 열심히 개발해서 만들어낸 애플리케이션을 아무도 피드백해주지 않는다면 슬플 것이다.
◦
아무리 컴퓨터와 완벽하게 소통한다해도 그 소통은 한계가 있다. 하지만 이를 매개로 하여 개발자는 클라이언트와 소통할 수 있다.
편지 쓰듯 코드 쓰기
•
가는 게 있으면 오는 게 있어야
◦
코딩을 통한 컴퓨터와의 소통은 잘 만들었든 버그가 있든, 우리가 코딩해서 보내는 대로 반드시 돌아오는 게 있다.
•
진심으로 표현하면, 움직인다
◦
컴퓨터가 해줬으면 하는 것들을 성심을 다해 글로 표현할 때, 컴퓨터는 있는 그대로 움직인다.
◦
컴퓨터는 우리의 진심을 이해하고 받아주고 실행해준다. 코딩을 통한 컴퓨터와의 소통은 우리를 실망시키지 않는다.
컴퓨터의 답장으로 하는 퇴고: 테스팅과 디버깅
•
테스팅과 디버깅은 주어진 입력값에 대해 명확한 출력값을 가지고 있기에 글쓰기의 퇴고보단 더 쉽다.
•
테스팅과 디버깅을 도와주는 다양한 도구들을 활용해서 퇴고를 해보자. 퇴고를 통해 저자가 본인의 생각과 의도를 명확하게 전달하려하는 것처럼 테스팅과 디버깅을 통해 문제해결 과정을 명확히 하자.
코딩의 정석: 주석으로 번역하고 편지쓰고 일기쓰기
•
코딩 공부의 정석은 다른 사람이 작성한 코드를 읽어보면서 나의 언어로 프로그램을 이해하는 것이다.
•
이를 반복적으로 수행하며 배운 새로운 프로그래밍 어휘와 문법을 바탕으로 컴퓨터에 전달하는 훈련을 해야 한다.
코딩의 왕도: 다독, 다작하기
•
좋은 작가는 책을 많이 읽거나 다양한 경험들을 직접한다. 좋은 프로그래머도 마찬가지다.
•
미괄식 개발자 두괄식 프로그래머
◦
프로그램을 짜기 위해 기본 배경이 되는 소프트웨어 전반을 차근차근 공부하면서 개발을 진행하는 방식이 미괄식, 빠른 프로토타이핑을 기반으로 하는 방식을 두괄식으로 부를 수 있다.
•
코딩 학습의 몇가지 중요한 방향성
◦
양질의 코딩 정보 검색과 이를 위한 영어 활용 능력
▪
Github의 오픈소스 프로젝트 소스코드 읽어보기
▪
stackoverflow 질문글 읽어보기
◦
예제 기반 학습
◦
API 문서 열공하기
◦
작성한 코드 공개하기
◦
내가 만든 프로그램 배포하고 광고하기