천상낙원

프로그래밍(programming)이란?

IT이야기
수식이나 작업을 컴퓨터에 알맞도록 정리해서 순서를 정하고 컴퓨터 특유의 명령코드로 고쳐 쓰는 작업을 총칭해서 프로그래밍이라 하고, 컴퓨터의 명령 코드를 쓰는 작업을 특히 코딩(coding)이라고도 한다.
컴퓨터가 처음 나타난 1950년대 초기까지는 프로그래밍은 숫자를 나열한 명령코드를 쓰는 것이었다. 이것을 기계어(machine language)라 한다. 그러나 기계어에서는 틀리기 쉽고, 또한 틀린 곳을 발견하기가 어렵다는 등 작업하기가 곤란하므로, 그 후 인간이 외우기 쉬운 기호나 언어 ·수식을 사용해서 프로그램을 쓰고, 그것을 일단 컴퓨터에 넣어서 컴퓨터 자신의 명령코드로 고쳐 그것으로부터 계산을 실시하는 방식이 고안되었다. 이것은 프로그램을 만드는 작업의 일부를 컴퓨터 자체에 부담시켜 작업 능률을 향상시키자는 방식이다.

코드란? 기호(記號)의 계열을 다른 기호 계열로 표현할 때의 약속, 또는 그 기호 계열을 말한다. 전신(電信)에서는 한글문자를 전기의 음양 또는 단속(斷續) 등의 전기신호로 바꾸어 보내는데, 그 때의 한글 문자와 전기신호의 대응, 또는 전기신호의 음양을 나타내는 기호계열을 코드라고 한다. 장단(長短) 2종의 전기신호로 모든 문자를 나타내는 모스부호는 오래 전부터 사용되어 왔으며, 데이터통신이 많이 이용되면서부터 0과 1로 나타내는 2종의 기호를 사용한 많은 코드가 고안되어 실용화되었다. 컴퓨터용에서는 정보를 표현하기 위한 기호의 체계를 코드라고 하며, 프로그램을 만들 때는 명령이나 수치를 코드로 나타낸다. 또 개개의 글자는 2진숫자(二進數字)에 의한 코드로 나타낸다. 코드의 종류에는 연번 코드 ·십진 코드 ·그룹 코드 ·블록 코드 ·표의문자 코드 ·표지 코드 ·약자 코드 ·수학식 문자 코드 등이 있다. 코드를 만드는 것은 컴퓨터 등에 의한 기계처리를 가능하게 하기 위해서이다. 천공카드시스템에서는 기계적 제약으로 숫자의 코드가 많았으나 컴퓨터가 이용된 후 문자의 조합도 가능해졌다.

기계어란? 컴퓨터가 직접 해독할 수 있는 2진 숫자(binary digit)로 나타낸 언어로 프로그래밍 언어의 기본이 된다. 즉 컴퓨터를 작동시키기 위해 0과 1로 나타낸 컴퓨터 고유 명령 형식이다. 프로그램은 기계어로 번역되어야만 컴퓨터가 그 내용을 이해하고 작동하는데 기계어로 번역하는 프로그램에는 어셈블러(assembler)와 컴파일러(compiler)가 있다. 기계어의 구조는 컴퓨터에 따라 다른데 컴퓨터 고유의 명령 형식을 인스트럭션 포맷이라고 하며, 여러 개의 입출력 명령, 수치 및 논리 연산(演算) 명령, 자료 이동 및 분기 명령으로 구성된다. 기계어의 명령 단위는 어떤 동작을 지시하는 명령 코드부와 동작의 대상이 되는 데이터가 어느 위치에 기억되어 있는지를 지시하는 주소부로 나누어진다. 컴퓨터 개발의 초기, 즉 스토어드 프로그램방식(stored program system)이 출현하기 전까지의 프로그램은 모두 기계어로 쓰여지고 있었다. 그러나 기계어는 이해하기 어렵고 컴퓨터 구조에 대한 충분한 지식이 없으면 프로그램 작성을 할 수 없기 때문에 범용성(汎用性)이 부족하고 숫자(0과 1)를 사용함에 따라 프로그래머의 수고가 많이 필요하고 시간이 많이 걸린다. 그래서 많은 프로그래밍 언어들이 개발되었으며, 얼마 전부터는 기계어로 프로그램을 작성하는 것은 거의 사라졌다.

'IT이야기' 카테고리의 다른 글

개성있는 프로그래머가 되는길(2)  (0) 2005.08.23
개성있는 프로그래머가 되는길(1)  (0) 2005.08.23
C와 C++의 차이란? -blitzerg-  (3) 2005.08.23