01 프로그래밍
1.1 프로그래밍이란?
프로그래밍은 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다.
문제 해결 능력을 기르기 위해서는 Computational thinking( 컴퓨팅 사고 )가 필요하다. 컴퓨팅 사고란 문제사항을 컴퓨터의 입장에서 바라보는 것이다.
대부분의 문제(요구사항)는 복잡하며 명확하지 않을 수도 있다. 따라서 문제(요구사항)를 명확히 이해하는 것이 우선되어야 하며 복잡함을 단순하게 분해(Decomposition)하고 자료를 정리하고 구분(Modeling)해야 하며 순서에 맞게 행위를 배열해야 한다.
즉, 프로그래밍이란 0과 1밖에 알지 못하는 기계가 실행할 수 있는 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며 그 결과물이 바로 코드이다.
1.2 프로그래밍 언어
컴퓨터에게는 사람이 이해하는 자연어가 아닌, 기계어 (machine code)로 전달해야 한다.
기계어로 명령을 전달하는 가장 유용한 방법은은 사람이 이해할 수 있는 약속된 구문 Syntax(문법)으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후, 그것을 컴파일러Compiler나 인터프리터Interpreter 등의 일종의 번역기를 이용해 기계어로 변환하여 전달하는 방법이다.
프로그래밍 언어는 구문(syntax)과 의미(semantics)의 조합으로 표현된다.
1.3 구문과 의미
위 코드는 문법적으로 문제가 없지만 의미는 없다. number라는 이름의 변수에는 숫자를 할당하는 것이 의미적으로 옳다.
프로그래밍은 언어의 문법에 부합하는 것은 물론, 수행하는 것을 정확하게 수행하는 것 (요구사항이 실현되고 문제가 해결되는 것) 을 모두 만족해야 의미가 있다.
결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 합수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.
Last updated
Was this helpful?