개발과 관련된 영문 스펙이나 가이드를 읽다보면 command, statement, instruction을 자주보게 된다. 뜻도 찾아보면 다같은 명령이라는 뜻이라 좀처럼 구분하기 쉽지 않다. 이와 관련된 정보를 찾다가 잘 정리된 것을 찾아 작성한다.

 

1. command

유닉스에서 어떤 프로그램을 자식 프로그램(child program)으로서 실행하기 위해 셸(shell)에 부여하는 명령을 말한다. 입출력 조작에서 입출력 채널이 실행하는 명령을 말함.

사용자가 직접적으로 수행하는 명령을 나타낸다고 이해를 하세요.

 

2. statement

프로그램 작성 언어에서, 일련의 동작들의 한 단계 또는 한 조의 선언을 나타내는 구문상의 구성 요소. 보통 그 언어의 문맥 내에서는 완결되어 있는 것을 말한다. 보통 어느 프로그램의 각 행은 하나의 개별적인 문장이며, 하나의 개별적인 명령(instruction)으로 간주된다. 프로그램 작성 언어에 따라서 문장의 정의가 똑같지는 않으나, 대부분의 언어에서 대입문(assignment statement), 제어문(control statement), 주석문(comment statement) 등의 개념을 지원하고 있다.

프로그램에서 사용하는 명령어로 이해를 하세요.

 

3. instruction

컴퓨터는 일정한 문법과 용어, 즉 컴퓨터가 이해할 수 있는 언어인 기계어(machine language)로 작성된 프로그램을 받아들인 후, 그 지시에 따라 움직인다. 이 기계어 프로그램에서 사용하는 동작 지시가 명령(instruction)이다. 그러므로 명령은 컴퓨터 프로그램의 기본으로서 컴퓨터 동작을 지시하는 부호 단위인 셈이다.

하드웨어에서 이루어지는 명령어로 이해를 하세요.

 

 

Instruction(하드웨어적인 명령) < statement(소프트웨어적인 명령) < command(유저명령)

  

참조: http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=69777995&qb=aW5zdHJ1Y3Rpb24=&enc=utf8&section=kin&rank=3&search_sort=0&spq=0