3세대 프로그래밍 언어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적인 특징을 가진다. 3GL은 집계 데이터 유형 지원과 프로그래머에게 유리한 방식의 개념 표현을 통해 2세대 언어보다 개선되었으며, 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 한다. 1950년대 후반에 등장한 포트란, 알골, 코볼 등이 초기 3GL의 예시이며, C, C++, C#, 자바, BASIC, 파스칼 등도 3세대 언어에 속한다. 3GL은 구조적 프로그래밍과 객체 지향 프로그래밍을 지원하며, 컴파일 또는 해석을 통해 기계어로 변환되어 다양한 기기에서 실행될 수 있다. 고급 언어와 저급 언어의 개념은 상대적으로 변화하여, 초기 3GL은 파이썬, 루비, 공통 리스프와 같은 언어에 비해 상대적으로 저급 언어로 간주되기도 한다.
더 읽어볼만한 페이지
- 프로그래밍 언어 분류 - 하드웨어 기술 언어
하드웨어 기술 언어(HDL)는 전자 시스템의 구조와 동작을 텍스트 기반으로 표현하는 언어로, 디지털 회로 설계의 핵심 도구로 사용되며, 시뮬레이션 및 디버깅을 통해 설계 검증을 수행한다. - 프로그래밍 언어 분류 - 고급 프로그래밍 언어
고급 프로그래밍 언어는 기계어보다 높은 수준의 추상화를 제공하며, 변수, 객체, 함수 등의 개념을 사용하여 프로그래머가 기계의 세부 사항에서 분리되어 편리하게 프로그래밍할 수 있도록 하는 언어이다.
3세대 프로그래밍 언어 | |
---|---|
개요 | |
유형 | 고수준 프로그래밍 언어 |
개발 시기 | 1950년대 후반 |
특징 | 기계어 중심의 2세대 언어에 비해 추상화 수준이 높음 사람이 이해하기 쉬운 문법과 구조 사용 컴파일러 또는 인터프리터를 통해 기계어로 번역되어 실행 |
예시 | Fortran ALGOL COBOL Lisp BASIC Pascal C 언어 |
상세 특징 | |
추상화 | 하드웨어의 세부 사항을 숨기고, 프로그래머가 문제 해결에 집중할 수 있도록 지원 변수, 함수, 객체 등의 개념을 사용하여 코드의 가독성과 재사용성을 높임 |
이식성 | 다양한 플랫폼에서 실행 가능하도록 설계 컴파일러 또는 인터프리터가 각 플랫폼에 맞게 코드를 변환 |
생산성 | 사람이 이해하기 쉬운 문법과 구조를 제공하여 코드 작성 시간 단축 다양한 라이브러리와 도구를 활용하여 개발 효율성 향상 |
역사 | |
등장 배경 | 1950년대 후반, 초기 컴퓨터 프로그래밍의 어려움을 극복하기 위해 등장 기계어와 어셈블리어의 낮은 생산성과 이식성 문제를 해결하고자 함 |
주요 발전 | Fortran: 과학 기술 계산을 위한 최초의 고수준 언어 ALGOL: 현대적인 프로그래밍 언어의 기반을 마련 COBOL: 사무 처리 및 비즈니스 애플리케이션 개발에 널리 사용 |
장단점 | |
장점 | 높은 생산성과 가독성 뛰어난 이식성 풍부한 라이브러리와 도구 지원 |
단점 | 2세대 언어에 비해 실행 속도가 느릴 수 있음 컴파일 또는 인터프리터 과정 필요 |
활용 분야 | |
다양한 분야에서 활용 | 시스템 프로그래밍 응용 프로그램 개발 웹 개발 게임 개발 임베디드 시스템 과학 기술 계산 |
참고 자료 |
2. 특징
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 집계 데이터 유형에 대한 향상된 지원과 프로그래머에게 유리한 방식으로 개념을 표현하는 기능을 포함한다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 하여 2세대 언어보다 개선되었다.
포트란, 알골, 코볼은 초기 3GL의 예이다. 오늘날 가장 인기 있는 범용 언어인 C, C++, C#, 자바, BASIC 및 파스칼도 3세대 언어에 속한다. 하지만 이러한 각 언어는 다른 현대적 특징에 따라 다른 범주로 더 세분될 수 있다.
3GL을 사용하면 프로그래머는 특정 유형의 컴퓨터와 거의 독립적인 프로그램을 작성할 수 있다. 이러한 언어는 인간의 언어에 더 가깝고 기계어에서 더 멀리 떨어져 있기 때문에 고급 언어로 간주되며, 컴파일 또는 해석이 필요하다. 반대로, 기계어는 추가적인 번역 없이 물리적 하드웨어에 의해 설계되고 실행되므로 저급 언어로 간주된다.
고급 언어는 저급 언어보다 읽고, 쓰고, 유지 관리하기가 더 쉽다는 장점이 있다. 고급 언어로 작성된 프로그램은 컴파일러에 의해 기계어로 변환되거나 인터프리터에 의해 직접 동작으로 변환되어야 한다.
이러한 프로그램은 여러 다른 기계에서 실행될 수 있으므로(이식 가능) 기계 독립적이었다. 그러나 새롭고 더 추상적인 언어가 개발됨에 따라 고급 언어와 저급 언어의 개념은 다소 상대적이 되었다. 초기 "고급" 언어 중 많은 부분이 파이썬, 루비, 공통 리스프와 같은 언어에 비해 상대적으로 저급 언어로 간주된다. 이들 언어는 4세대 프로그래밍 언어의 일부 기능을 가지고 있으며 1990년대에는 매우 고급 프로그래밍 언어라고 불렸다.
2. 1. 고급 언어
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 집계 데이터 유형에 대한 향상된 지원과 프로그래머에게 유리한 방식으로 개념을 표현하는 기능을 포함한다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 하여 2세대 언어보다 개선되었다. 3GL은 이전 세대 언어보다 더 추상적이므로 1세대 및 2세대 언어보다 더 높은 수준의 언어로 간주될 수 있다. 1950년대 후반에 처음 소개된 포트란, 알골, 코볼은 초기 3GL의 예이다.오늘날 가장 인기 있는 범용 언어인 C, C++, C#, 자바, BASIC 및 파스칼도 3세대 언어이다. 하지만 이러한 각 언어는 다른 현대적 특징에 따라 다른 범주로 더 세분될 수 있다. 대부분의 3GL은 구조적 프로그래밍을 지원한다. 많은 3GL이 객체 지향 프로그래밍을 지원한다.
3GL을 사용하면 프로그래머가 특정 유형의 컴퓨터와 거의 독립적인 프로그램을 작성할 수 있다. 이러한 언어는 인간의 언어에 더 가깝고 기계어에서 더 멀리 떨어져 있기 때문에 고급 언어로 간주되며, 따라서 컴파일 또는 해석이 필요하다. 반대로, 기계어는 추가적인 번역 없이 물리적 하드웨어에 의해 설계되고 실행되므로 저급 언어로 간주된다.
고급 언어가 저급 언어보다 갖는 주요 장점은 읽고, 쓰고, 유지 관리하기가 더 쉽다는 것이다. 고급 언어로 작성된 프로그램은 컴파일러에 의해 기계어로 변환되거나 인터프리터에 의해 직접 동작으로 변환되어야 한다.
이러한 프로그램은 여러 다른 기계에서 실행될 수 있으므로(이식 가능) 기계 독립적이였다. 그러나 새롭고 더 추상적인 언어가 개발됨에 따라 고급 언어와 저급 언어의 개념은 다소 상대적이 되었다. 초기 "고급" 언어 중 많은 부분이 파이썬, 루비, 공통 리스프와 같은 언어에 비해 상대적으로 저급 언어로 간주된다.
2. 2. 기계 독립성
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 하여 2세대 언어보다 개선되었다. 3GL은 이전 세대 언어보다 더 추상적이므로 1세대 및 2세대 언어보다 더 높은 수준의 언어로 간주될 수 있다. 1950년대 후반에 처음 소개된 포트란, 알골, 코볼은 초기 3GL의 예이다.3GL을 사용하면 프로그래머가 특정 유형의 컴퓨터와 거의 독립적인 프로그램을 작성할 수 있다. 이러한 언어는 인간의 언어에 더 가깝고 기계어에서 더 멀리 떨어져 있기 때문에 고급 언어로 간주되며, 따라서 컴파일 또는 해석이 필요하다.
이러한 프로그램은 여러 다른 기계에서 실행될 수 있으므로(이식 가능) 기계 독립적이었다. 그러나 새롭고 더 추상적인 언어가 개발됨에 따라 고급 언어와 저급 언어의 개념은 다소 상대적이 되었다. 초기 "고급" 언어 중 많은 부분이 파이썬, 루비, 공통 리스프와 같은 언어에 비해 상대적으로 저급 언어로 간주된다.
2. 3. 추상화
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 집계 데이터 유형에 대한 향상된 지원과, 프로그래머에게 유리한 방식으로 개념을 표현하는 기능을 포함한다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 하여 2세대 언어보다 개선되었다. 3GL은 이전 세대 언어보다 더 추상적이므로 1세대 및 2세대 언어보다 더 높은 수준의 언어로 간주될 수 있다. 1950년대 후반에 처음 소개된 포트란, 알골, 코볼은 초기 3GL의 예이다.오늘날 가장 인기 있는 범용 언어인 C, C++, C#, 자바, BASIC, 파스칼도 3세대 언어이다. 하지만 이러한 각 언어는 다른 현대적 특징에 따라 다른 범주로 더 세분될 수 있다. 대부분의 3GL은 구조적 프로그래밍을 지원하며, 많은 3GL이 객체 지향 프로그래밍을 지원한다.
3GL을 사용하면 프로그래머가 특정 유형의 컴퓨터와 거의 독립적인 프로그램을 작성할 수 있다. 이러한 언어는 인간의 언어에 더 가깝고 기계어에서 더 멀리 떨어져 있기 때문에 고급 언어로 간주되며, 따라서 컴파일 또는 해석이 필요하다.
2. 4. 구조적 프로그래밍 및 객체 지향 프로그래밍 지원
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 집계 데이터 유형에 대한 향상된 지원과 프로그래머에게 유리한 방식으로 개념을 표현하는 기능을 포함한다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하도록 하여 2세대 언어보다 개선되었다. 3GL은 이전 세대 언어보다 더 추상적이므로 1세대 및 2세대 언어보다 더 높은 수준의 언어로 간주될 수 있다. 1950년대 후반에 처음 소개된 포트란, 알골, 코볼은 초기 3GL의 예이다.오늘날 가장 인기 있는 범용 언어인 C, C++, C#, 자바, BASIC, 파스칼도 3세대 언어이다. 하지만 이러한 각 언어는 다른 현대적 특징에 따라 다른 범주로 더 세분될 수 있다. 대부분의 3GL은 구조적 프로그래밍을 지원한다. 많은 3GL이 객체 지향 프로그래밍을 지원한다. 이와 같은 특성은 단순히 3GL이 아니라 언어를 설명하는 데 더 자주 사용된다.
3. 현대적 3GL
C, C++, C#, 자바, BASIC, 파스칼 등 오늘날 널리 쓰이는 범용 프로그래밍 언어들도 3세대 언어에 속한다. 하지만 이 언어들은 다른 현대적 특징에 따라 다른 범주로 더 세분화될 수 있다. 대부분의 3GL은 구조적 프로그래밍을 지원하며, 많은 3GL이 객체 지향 프로그래밍을 지원한다. 이러한 특징들은 3GL보다는 해당 언어를 설명하는 데 더 자주 사용된다.
3GL을 사용하면 프로그래머는 특정 유형의 컴퓨터와 거의 독립적인 프로그램을 작성할 수 있다. 이러한 언어는 기계어보다는 인간의 언어에 더 가깝기 때문에 고급 언어로 간주되며, 컴파일이나 해석이 필요하다. 반대로 기계어는 추가적인 번역 없이 하드웨어에서 직접 실행되므로 저급 언어로 간주된다.[1] 고급 언어는 저급 언어보다 읽고, 쓰고, 유지보수하기 쉽다는 장점이 있다. 고급 언어로 작성된 프로그램은 컴파일러를 통해 기계어로 변환되거나, 인터프리터를 통해 직접 동작으로 변환된다.
3. 1. 4세대 프로그래밍 언어와의 비교
3세대 프로그래밍 언어(3GL)는 기계 독립적이며 프로그래머 친화적이다. 3세대 언어는 컴퓨터가 중요하지 않은 세부 사항을 처리하여 2세대 언어보다 개선되었다. 1950년대 후반에 처음 소개된 포트란, 알골, 코볼은 초기 3GL의 예이다. 오늘날 가장 인기 있는 범용 언어인 C, C++, C#, 자바, BASIC 및 파스칼도 3세대 언어이다. 대부분의 3GL은 구조적 프로그래밍을 지원하며, 많은 3GL이 객체 지향 프로그래밍을 지원한다.3GL은 인간의 언어에 더 가깝고 기계어에서 더 멀리 떨어져 있기 때문에 고급 언어로 간주되며, 컴파일 또는 해석이 필요하다. 고급 언어가 저급 언어보다 갖는 주요 장점은 읽고, 쓰고, 유지 및 관리하기가 더 쉽다는 것이다.
그러나 새롭고 더 추상적인 언어가 개발됨에 따라 고급 언어와 저급 언어의 개념은 상대적이 되었다. 초기 "고급" 언어 중 많은 부분이 파이썬, 루비, 공통 리스프와 같은 언어에 비해 상대적으로 저급 언어로 간주된다. 이들 언어는 4세대 프로그래밍 언어의 일부 기능을 가지며 1990년대에는 매우 고급 프로그래밍 언어라고 불렸다.
참조
[1]
웹사이트
Computer Hope, Generation languages
http://www.computerh[...]
[2]
간행물
Very High Level Languages Symposium Proceedings
http://www.usenix.or[...]
USENIX
1994-10-26
[3]
웹사이트
Are VHLLs Really High-Level?
http://oreilly.com/n[...]
O'Reilly
1999-12-01
[4]
서적
e비즈니스 시대의 경영정보시스템 P.321
한경사
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com