2005년 09월 22일
[개발] [5] 폭로! 함수가 소프트웨어의 부품이 될 수 없었던 이유
다섯번째, 프로그래밍 언어의 진화 과정
1GL(First Generation Langauge) 또는 1세대 언어는 기계어(machine language)라고 한다. 즉, 프로세서(컴퓨터의 두뇌)가 즉시 작업을 수행할 수 있는 수준의 명령어나 데이터를 말한다. 기계어는 단지 0과 1, 두가지 숫자들의 연속으로 이루어진 명령으로 사람이 해독하기 매우 힘든 명령이며, 하드웨어에 대한 많은 지식이 요구된다.
기계어 명령은 예는 아래와 같다. 이런 명령을 이해하고 구사하는 사람들이 간혹 있다. 컴퓨터 바이러스를 연구하는 사람들 중에 아주 소수분 들이 그렇다.
0110000110 00011010101 100010101010101
2GL 또는 2세대 언어는 어셈블리 언어라고 한다. 기계어 명령들을 사람이 이해할 수 있는 영어 표현으로 나타내었으나, 여전히 기계에 가까운 언어였다. 아래 예제는 어셈블리 언어의 명령어이다.
두개의 명령을 작성한 것인데, 앞선 것은 AX라는 변수와 2를 더하라는 명령이고, 두번째는 AX와 BX라는 값을 곱하라는 뜻이다.
ADD AX, 2
MUL AX, BX
MUL AX, BX
3GL 또는 3세대 언어는 PL/1, C, Java 등과 같은 고급언어를 말하며, 컴파일러가 특정한 고급 프로그래밍 언어의 문장을 기계어로 바꾸어준다. 3세대 언어로 프로그램을 작성하려면 적지 않은 프로그래밍 지식을 필요로 한다.
3세대 언어가 되면 좀 더 사람이 알아보기 쉽다. 하지만, 앞서 설명했듯이 3세대 언어는 수학적 표현을 사용하기 때문에 역시 읽기 어렵다.
void main()
{
printf( "Hello world");
}
{
printf( "Hello world");
}
4세대, 5세대에 대한 정의는 좀 모호하니 생략!
스크립트란 무엇인가?
소프트웨어 개발자가 아닌 분들도 인터넷을 활용하시다 보면 스크립트(script)라는 말을 들어 보셨을 겁니다. 유사하거나 관련된 용어로는 '자바 스크립트', '스트립트 언어', '스크립트 프로그램'이라는 말이 있지요.
스트립트라는 용어는 프로그램의 한 형태를 말하는 것입니다. 쉽게 이해하실 수 있도록 script라는 말의 어원을 따져보도록 하지요. RPG(Roll Playing Game)를 해보신 분들은 아마도 스크롤(scroll)이라는 걸 아실 겁니다. 보통 마법이나 은밀한 주문을 적은 문서이지요. script나 scroll은 비슷한 의미를 가지는데, 우리 말로 번역하자면 두루마기와 같습니다. 짧은 막대에 긴 종이를 말아둔 것을 스트립트 혹은 스크롤이라고 하지요.
스크립트의 특징은 두루마리 문서를 연상해 보시면 알겠지만, 내용이 그리 길지 않습니다. 게다가, 글을 처음부터 끝까지 주욱 읽어나가면 하나의 이야기로 짜여 있습니다. 기승전결이나, 목차라거나, 분류, 집합이라는 개념이 포함되지 않지요.
소프트웨어에서의 스크립트라는 용어는 이런 이미에서 파생된 것입니다. 간단한 프로그램, 혹은 연속된 명령을 나열된 순서대로 실행하면 결과가 출력되는 쉬운 프로그램이라는 의미로 사용됩니다.
소프트웨어 개발자가 아닌 분들도 인터넷을 활용하시다 보면 스크립트(script)라는 말을 들어 보셨을 겁니다. 유사하거나 관련된 용어로는 '자바 스크립트', '스트립트 언어', '스크립트 프로그램'이라는 말이 있지요.
스트립트라는 용어는 프로그램의 한 형태를 말하는 것입니다. 쉽게 이해하실 수 있도록 script라는 말의 어원을 따져보도록 하지요. RPG(Roll Playing Game)를 해보신 분들은 아마도 스크롤(scroll)이라는 걸 아실 겁니다. 보통 마법이나 은밀한 주문을 적은 문서이지요. script나 scroll은 비슷한 의미를 가지는데, 우리 말로 번역하자면 두루마기와 같습니다. 짧은 막대에 긴 종이를 말아둔 것을 스트립트 혹은 스크롤이라고 하지요.
스크립트의 특징은 두루마리 문서를 연상해 보시면 알겠지만, 내용이 그리 길지 않습니다. 게다가, 글을 처음부터 끝까지 주욱 읽어나가면 하나의 이야기로 짜여 있습니다. 기승전결이나, 목차라거나, 분류, 집합이라는 개념이 포함되지 않지요.
소프트웨어에서의 스크립트라는 용어는 이런 이미에서 파생된 것입니다. 간단한 프로그램, 혹은 연속된 명령을 나열된 순서대로 실행하면 결과가 출력되는 쉬운 프로그램이라는 의미로 사용됩니다.
# by | 2005/09/22 11:35 | Development | 트랙백 | 덧글(3)





점점 어려워 지고 있다는,,,
얻을 만큼만 가져 가야 되겠지요?^^
음... 이후부터는 굳이 읽으실 필요는 없어요...
이후부터는 진짜 소프트웨어 개발자 분들을 위한 얘기가 되니까..
프로그래밍을 배우는 사람이지만 아직 제대로 몰라서 [;;;]
점점 재미있어 지네요