프로그래밍 = 컴퓨터 , 인간 사이 커뮤니케이션이며 언어이다.
커뮤니케이션을 위해서는 이하와 같은 능력이 필요하다.
<결론>
프로그래머는 정확하고 상세하게 요구사항을 설명하는 직업이며, 이를 위해서는 컴퓨터의 입장에서 문제를 바라보는 컴퓨팅적 사고능력이 필요하다. 직면한 문제를 수학적으로 또는 논리적으로 정의하고 구조화하여 컴퓨터에게 명령할 수 있어야 한다. 컴퓨터는 도구이다. 0과 1을 근간으로 명령에 의해 작동하는 도구에 불과하다. 따라서 어떤 시스템을 개발하든 그건 개발자의 몫이다.
우리가 전달하는 명령은 컴퓨터가 이해할 수 있는 기계어(machine code)로 이루어져야 한다.
*인텔 프로세서 환경에서의 기계어
이를 통해
인간이 프로그래밍 -> 컴파일러, 인터프리터가 기계어로 변환 -> 컴퓨터가 동작
(해당 부분은 system programming에서 상세하게 다룰 예정)
언어의 의미 = 문맥
프로그래밍 = 요구사항이 실현되는 것
결론: 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.