대학 시절 어느날이었다.
해가 하늘 언덕을 넘어가는 시간대였을 것이다.
그 날도 심드렁하게 눕듯이 의자에 걸터앉아 전공수업을 듣고 있었다.
지루한 시간이 흘러가는데 교수님께서 동태눈깔의 학생들에게 갑자기 질문을 하셨다.
“여러분, 고졸 개발자와 대졸 개발자의 차이점이 뭔지 아시나요?”
한번도 생각하지 못했다. 나 자신도 노력하지 않고 능력도 없으면서 은연 중에 고졸 출신을 깔봤던 것 같다.
“그들은 코딩을 하는 것이고, 여러분은 프로그래밍을 하는 것입니다. 그러니 코딩하지 말고 프로그래밍하십시오. 그것이 여러분이 넘쳐나는 개발자 중에 차별화 될 수 있는 방법입니다.”
코딩과 프로그래밍, 모두 같은 말 아닌가? 이해가 되지 않았다.
그래서 코딩과 프로그래밍에 대해 찾아봤다.
프로그래밍은 문제 해결과 소프트웨어 설계를 포함한 전체 과정을 의미하고,
코딩은 프로그래밍의 일부로 프로그램을 작성하는 활동을 의미한다.
코딩(Coding)
- 정의: 코딩은 컴퓨터가 이해할 수 있는 언어로 명령을 작성하는 과정이다. 예를 들어, C언어, 자바, 파이썬 등 프로그래밍 언어를 사용해 코드를 작성하는 것을 코딩이라 부른다.
- 특징:
- 작업의 기초 단계로 비교적 간단하며, 특정 명령을 컴퓨터가 실행할 수 있도록 번역하는 역할을 한다.
- 에러 없이 코드 작성에 집중하며, 복잡한 설계나 논리적 구조화는 포함되지 않는다.
프로그래밍(Programming)
- 정의: 프로그래밍은 프로그램을 설계하고 개발하며, 이를 통해 실행 가능한 응용 프로그램을 만드는 전체 과정을 포함합니다. 코딩은 이 과정 중 하나의 단계일 뿐이다.
- 특징:
- 설계, 알고리즘 작성, 디버깅 등 논리적이고 구조적인 작업을 포함한다.
- 다양한 시나리오와 문제 해결을 다루며, 코딩보다 더 심화되고 난이도가 높다.
주요 차이점
구분 | 코딩 | 프로그래밍 |
---|---|---|
범위 | 코드 작성에 국한됨 | 설계, 개발, 디버깅 등 전체 과정 포함 |
난이도 | 비교적 단순하고 기초적임 | 복잡하고 심화된 작업 포함 |
목적 | 컴퓨터가 이해할 수 있는 명령 전달 | 실행 가능한 프로그램 완성 |
작업 단계 | 프로그래밍의 하위 단계 | 상위 단계로 전체적인 흐름 관리 |
결론적으로, 코딩은 프로그래밍의 일부로 볼 수 있으며, 프로그래밍은 더 넓고 심화된 개념으로 다양한 작업을 포함한다. 코딩은 컴퓨터 언어를 배우는 기초 단계로 적합하며, 프로그래밍은 문제 해결 능력과 논리적 사고를 요구한다.
누군가 과업을 주면 키보드로 코드만 짜는 코더(Coder)가 될 것인지, 아니면 프로그램의 전반적인 것을 관장하고 더 나아가 문제해결까지 하는 프로그래머(Programmer)가 될 것인지는 나에게 달렸다.
내 블로그의 이름이 Let’s Coding이 아닌 Let’s Programmin인 이유도 여기에 있다. (물론, 끝에 내 이니셜인 Min으로 언어유희를 하려는 의도도 숨어있다.)
유일무이한, 필수불가결한 프로그래머가 되기 위한 내 작은 포부를 이 블로그의 이름과, 그리고 이 글에 녹여본다.
0 를 눌러주세요! 행복해져요!