프로그래밍 언어를 이해하는 것은 어려운 일입니다. 하지만 이 언어 또한 우리가 배우는 외국어들처럼 규칙이 있으며 규칙을 공부하고 나면 컴퓨터와 소통하며 프로그램 개발을 할 수 있게 되는 것입니다. 그럼 이러한 언어들은 어떤 종류가 있었는지 한번 살펴보도록 하겠습니다.
기계어의 문법을 충분히 살린 어셈블리어
사람 위주의 프로그래밍 언어는 컴퓨터의 내부구조를 잘 알지 못해도 명령어만 알면 웬만큼은 프로그램을 작성할 수 있게 하지만 컴퓨터를 마음대로 조정하기는 불가능하다. 그렇다고 0과 1 뿐인 기계어를 사용한다는 것은 더욱 끔찍한 일일 것이다. 그래서 만들어진 것이 어셈블리어이다. 이는 기계어의 문법을 충분히 살리면서 사람이 편리하게 사용할 수 있도록 0과 1 대신 기호를 사용하였다. 즉 사람이 사용하는 언어를 약자로 줄여서 기계어에 대응시킨 기호식 언어인 것이다. 어셈블리어를 사용해서 프로그램을 작성하려면 어셈블러라는 언어번역 프로그램이 필요하다.
* 하드웨어적인 제어를 마음대로 할 수 있다
* 변수를 기억시킬 때 메모리 번지를 사용자가 직접 지정할 수 있다.
* 기계중심이라 처리 속도가 빠르다.
* 포트란이나 파스칼이나 베이직 등에는 없는 기능을 서브루틴으로 작성할 수 있다.
업무용 언어 코볼 COBOL
1960년 미국 국무성의 지원으로 만들어진 언어인데 명령문이 일상생활에서 사용하는 영어 단어로 되어 있다. 당시 컴퓨터는 과학계산용으로 사용되었으나 점차 일반 업무에의 요구가 늘어나면서 포트란 같은 계산용 언어가 아닌 일반 업무에 적합한 언어가 필요하게 되었다. 따라서 인사나 급여나 판매 혹은 생산관리 등에 적합한 언어이다.
수학공식을 그대로 사용하는 포트란 FORTRAN
1959년 최초로 개발된 고급언어이다. 초기에 컴퓨터는 대학이나 연구소에 있는 과학자들이 주로 사용하였는데 이들은 연구에 필요한 정밀한 연산 및 복잡한 수식을 빠르게 처리할 수 있는 언어를 필요로 하게 되었다. 그래서 소수점 연산 및 삼각함수나 지수 혹은 로그 등의 계산을 빠르게 할 수 있는 언어를 개발하게 되었다.
* 수학공식을 그대로 사용할 수 있고 문법이 간단하다.
* 고급언어이므로 컴퓨터에 대한 전문적인 지식이 없어도 된다.
* 기종에 상관없이 호환성을 지닌다.
초보자를 위한 언어 베이직 BASIC
1960년대 중반에 미국 다트머스 대학의 케미니와 쿠르츠 교수에 의해 만들어졌다. 명령문의 종류가 적고 문법이 간단하여 배우기 쉽다. 일정한 규칙이 없이 자유롭게 프로그래밍할 수 있으며 명령문 앞에 행번호가 있어 수정이나 삽입이나 삭제가 쉽다. 우리나라의 경우 학생들이나 초보자들은 대부분 베이직을 사용하고 있으나 구조적이지 못한 단점 때문에 전문가들은 베이직보다는 파스칼이나 로고를 권한다. 로고는 미국에서도 교육용으로 사용되고 있는 언어이기 때문이다.
구조적인 언어 파스칼 PASCAL
스위스 공과대학의 니콜라스 워쓰 교수가 개발한 언어로 대수학자인 파스칼을 기념하여 이름을 지었다. 그는 파스칼의 목적은 프로그램을 체계적으로 인식하고 구조적인 프로그래밍 개념을 심 이주는 것이라고 말했다. 그의 말대로 파스칼을 사용하면 정확한 문법 아래 프로그램을 작성하기 때문에 프로그래밍 이론이 탄탄해진다고 한다.
* ALGOL을 토대로 만들어졌기 때문에 강력한 자료구조 기능을 갖고 있다.
* 교육용 언어로 문법이 간단하다.
* 구조적 프로그램 기법인 블록구조를 사용한다.
* 컴파일러 크기가 작아서 대형에서 pc까지 사용할 수 있다.
하드웨어를 제어할 수 있는 C언어
원래 PDP-8이라는 대형기종의 운영체제인 UNIX를 만들기 위해 만들어진 것이다. 유닉스는 세계표준의 문영체제로 인정될 만큼 그 성능이 뛰어나 현재 미국에서는 90퍼센트 이상의 대학이 사용하고 있다.
* 하드웨어의 제어가 가능한 고급언어이다.
* 기종에 상관없이 호환된다.
* 포인터 기능이 있어 번지연산이나 비트연산 등 어셈블리의 장점을 가지고 있다.
이렇게 많은 종류의 언어가 각자의 사용법에 맞추어 사용되었습니다. 지금은 모바일 환경까지 추가되고 리눅스라는 새로운 운영체제와 언어가 나오면서 다양한 언어들이 재배치되고 있는 실정입니다. 기업용 언어와 개인용 언어로 나뉘어 여러 가지 언어를 개발하였던 과정을 볼 수 있었습니다.