1GL/2GL/3GL/4GL/5GL (first, second, third, fourth, and fifth generation programming languages)  

컴퓨터 산업계에서 이 용어들은 프로그래밍 언어 발전과정의 주요 단계나 세대를 나타내는 말로 널리 사용된다. 1GL 또는 1세대 언어는 기계어 즉, 프로세서가 실제로 작업을 수행하기 위해 주어지는 수준의 명령어나 데이터를 말한다. 2GL 또는 2세대 언어는 어셈블리 언어라고 하는데, 전형적인 2GL의 실제적인 예를 한가지 들어보면 다음과 같다.

ADD 10, 2

어셈블러가 이러한 어셈블리 언어를 기계어로 바꾸어준다. 3GL 또는 3세대 언어는 PL/1CJava 등과 같은 고급언어를 말하는데, Java 언어의 프로그램 문장은 아래와 같은 형태를 띤다.

 

컴파일러가 특정한 고급 프로그래밍 언어의 문장을 기계어로 바꾸어준다(자바의 경우에는 바이트 코드라고 불리는 결과물을 내는데, 이것은 해당 플랫폼의 운영체계의 일부인 자바 가상머신에 의해 적절한 기계어로 바뀔 수 있는 형태이다). 3세대 언어로 프로그램을 작성하려면 적지 않은 프로그래밍 지식을 필요로 한다.

4GL 또는 4세대 언어는 3GL 언어보다는 자연어에 좀더 가깝게 설계되어있다. 데이터베이스 접근을 위한 언어들을 종종 4GL이라고 표현하기도 하는데, 4GL 언어의 프로그램 문장은 다음과 같은 형태를 가진다.

EXTRACT ALL EMPLOYEES WHERE "SALARY" TOTAL MORE THAN \5,000,000

5GL 또는 5세대 언어는 시각적인 그래픽 인터페이스를 통해, 통상 3GL 또는 4GL 언어 컴파일러로 컴파일 할 수 있는 원시코드를 만들어 준다. 마이크로소프트, 볼랜드, IBM 등의 회사가 자바 같은 언어를 쓴 응용프로그램을 개발하기 위한 5세대 프로그래밍 도구를 만들고 있다.

비주얼 프로그래밍은 객체지향 클래스의 구조를 쉽게 기획하고, 아이콘을 잡아 끄는 것만으로도 프로그램 컴포넌트를 만들 수 있는 장점을 제공한다. 마이크로소프트의 AppWare, IBM의 VisualAge for Java 등이 5세대 언어의 대표적인 예이다


출처 - terms.co.kr

'Development > Common' 카테고리의 다른 글

Font(글꼴)  (0) 2012.03.06
Freemarker  (0) 2012.02.26
확장문자 or 특수문자(escape sequence)  (0) 2012.02.18
엔터의 의미, CR LF  (0) 2012.02.18
참조 구현(Reference Implementation)  (0) 2012.02.09
Posted by linuxism
,