프로그래밍 언어의 세대구분(견해에 따른 2가지 분류)
- 첫번째 분류
- 1세대: 어셈블리 언어
- 2세대: 비구조형 고급 언어
Fortran, Cobol, Basic 등: 비구조형 언어 - 3세대: 구조형 고급 언어
PL/1, Pascal, C 등: 프로시저 위주의 고급 언어 - 4세대: 화일처리(SQL등)
- 5세대: 초 고급 언어
Prolog, SETL 등: 초 고급 언어
- 두번째 분류
- 1세대: 기계어
- 2세대: 어셈블리 언어
- 3세대: 고급 언어
- 4세대: 화일처리(SQL등)
- 5세대: 초 고급 언어
4세대 언어 특징
- 소프트웨어의 위기 (software crisis)
- 4세대 언어들은 데이터베이스 시스템을 위해 만들어진 명령어로 출발 에디터(editor)나
디버거(debugger), 서류작성기나 제어용 유틸리티와 같은 개발도구들과 함께 디자인
환경에 포함
대표적 예) SQL(Structured Query Language), Lotus, Delphi 등 - 거대한 화일 처리 응용 프로그램을 몇 개 안 되는 코드로 신속하게 작성
- 언어 설계 이론에 공헌한 바는 작지만 실용성 큼
- 최근의 Visual Basic, Visual C++, Power Builder도 이 부류에 속함
명세 언어
- 사용자가 원하는 바를 서술하면 시스템이 요구 사항을 구현해 주는 언어
- 1979, Winograd의 명세 언어에 대한 견해
"고급 언어는 기계어 코드의 복잡함과 난해함을 탈피할 수있게하며, 고급언어시스템은 복잡한
시스템이나 구성 요소를 이해하여 다룰 수 있게 한다.
이제는 알고리즘의 세부적인 명세로부터 떠나서 우리가 작성한 패키지나 객체의 성질을
기술하는데 집중시킬 필요가 있다. 즉, 새로운 세대의 프로그래밍 도구가 될 조건은 프로그래밍
시스템이 명령이 아닌 선언인데, 즉 프로그램의 주작업이 알고리즘을 수행하는 명령문들의
나열보다는 계산과정과 계산이 수행되는 객체(object)를 묘사하는 작업을 수행하는 방향으로
가게될 것이다."
→ 논리형 언어와 5세대 언어가 시도하는 바를 기술
이런 언어들은 모범안을 빠르게 기술하는 방법만을 제공
소프트웨어 위기(software crisis)의 극복
- 언어적 기술보다는 조직적인 방법으로 해결
- 기존 코드의 재사용 증대
- 이식성 증대
- 문법 위주의 에디터를 사용하여 프로그래머의 생산성 높임
언어 설계의 미래
- 하드웨어와 컴퓨터 구조의 발달에 의해 영향 받음
- 새로운 언어의 출현보다는 기존 언어들을 갈고 닦아, 언어 설계에 대한 이해를 점진적으로
증가시키는 방향으로 예상됨
'공부 > 프로그래밍언어론' 카테고리의 다른 글
프로그래밍 언어의 구문 (0) | 2020.04.27 |
---|---|
프로그래밍 언어 설계 (0) | 2020.04.26 |
1990년대: 웹(WWW)을 위한 언어 (0) | 2020.04.25 |
1970년대: 간결성, 추상화, 연구 사항 (0) | 2020.04.25 |
1960년대: 프로그래밍 언어의 폭증 (0) | 2020.04.25 |