1. PL/I
- 65년 프로그램언어의 양분화 현상(과학용/비지니스용)
- 서로의 다른 면을 바라 보고 프로그램이 모든 컴퓨터에서 하나의 언어로 하는 것을 목표로 개발
- 특징
ⓐ 동시에 실행하는 테스크 생성 허용
ⓑ 예외 탐지 가능(최초)
ⓒ 재귀함수의 사용이 허용됨
ⓓ 다차원 배열에서의 특정원서 지정이 가능해짐
ⓔ 포인터 사용 가능
- 과학용언어와 비지니스언어의 합침으로인해 복잡해지고, 잘못된 디자인도 발생됨.
> 대중성이 떨어짐
2. Dynamic Language 부류의 탄생
- static language(ex:c언어)와 반대대는 것으로 변수의 type이 지속적인 변화가 가능
- 수행 속도가 느림
- Dynamic Language의 시초
ⓐ APL : 구문예 → X[ㅁX+,=''';] / 막강한 operator제공 But, 가독성 문제가 심함.
ⓑ SNOBOL : String사용에 주를 둔 언어
3. SIMULA 67
- 데이터 추상화의 탄생(class의 탄생 : 사용자가 사용할 데이터를 생성)
- 크루틴 : 호출과 피호출이 모두 가능한 형태
> 서브 프로그램으로 보기 힘든 특징
4. Pascal
- ALGOL68의 영향을 받아 탄생한 언어
- 컴퓨터 공학을 공부하는 학생을 위한 교육용 언어로 규모가 작고 단순하다.
5. C언어
- 시스템 프로그램을 위한 언어로 실행의 효율성에 중점을 둠
- 강력한 오퍼레이터제공 / 타입체킹을 하지 않는 단점을 가짐
- 유닉스의 보편화로 대중화가 됨
- 영향받은 언어에서 효율을 떨어 뜨리는 것을 모두 제외 / 유연성을 향상
6. prolog
- 로직 프로세싱 언어(논리 언어)
- 지능형 데이터베이스 시스템과 비슷한 형태
- 논리를 주고, 명제를 주면 알고 싶은 것을 알 수 있음
- 현존하는 유일한 논리 언어
7. Ada
- 역사상 가장 공이 들어간 언어로 미국 국방부 (DoD)에서 만듬
> 국방부에 납품하는 언어/프로그램의 통일화를 위해 연구함
- 특징
ⓐ package로 데이터 추상화 제공
ⓑ 예외 처리 가능
ⓒ generic package > 일반적으로 하는 일이 같으면 역할 통일
> c++의 템플릿 기능에 영향을 줌
ⓓ 동시 수행 수단 제공
ⓔ 언어의 특징과 공학적 특징을 두루 가춘 언어로 대중성을 얻었다.
> 완벽에 가까운 언어
8. small talk
- 객체지향을 완벽 지원해주는 처음으로 나온 언어
> 스몰톡 이외에는 객체 지향을 모두 지원해주지 않는다.
ex) 데이터 추상화 방법이 객체 지향 이외에도 존재 / c++은 구조체와 클래스로 데이터 추상화를 구현한다.
- 상속 지원
9. C++
- C와 SIMULA의 영향을 받음
> 그냥 C+SIMULA라고 생각하면 됨
- c의 대중성에 의해 C++도 많이 사용 됬다.
10. JAVA
- c++을 단순화 하면서 포인터 사용을 금지시함
- 쓰레드 제공
- 65년 프로그램언어의 양분화 현상(과학용/비지니스용)
- 서로의 다른 면을 바라 보고 프로그램이 모든 컴퓨터에서 하나의 언어로 하는 것을 목표로 개발
- 특징
ⓐ 동시에 실행하는 테스크 생성 허용
ⓑ 예외 탐지 가능(최초)
ⓒ 재귀함수의 사용이 허용됨
ⓓ 다차원 배열에서의 특정원서 지정이 가능해짐
ⓔ 포인터 사용 가능
- 과학용언어와 비지니스언어의 합침으로인해 복잡해지고, 잘못된 디자인도 발생됨.
> 대중성이 떨어짐
2. Dynamic Language 부류의 탄생
- static language(ex:c언어)와 반대대는 것으로 변수의 type이 지속적인 변화가 가능
- 수행 속도가 느림
- Dynamic Language의 시초
ⓐ APL : 구문예 → X[ㅁX+,=''';] / 막강한 operator제공 But, 가독성 문제가 심함.
ⓑ SNOBOL : String사용에 주를 둔 언어
3. SIMULA 67
- 데이터 추상화의 탄생(class의 탄생 : 사용자가 사용할 데이터를 생성)
- 크루틴 : 호출과 피호출이 모두 가능한 형태
> 서브 프로그램으로 보기 힘든 특징
4. Pascal
- ALGOL68의 영향을 받아 탄생한 언어
- 컴퓨터 공학을 공부하는 학생을 위한 교육용 언어로 규모가 작고 단순하다.
5. C언어
- 시스템 프로그램을 위한 언어로 실행의 효율성에 중점을 둠
- 강력한 오퍼레이터제공 / 타입체킹을 하지 않는 단점을 가짐
- 유닉스의 보편화로 대중화가 됨
- 영향받은 언어에서 효율을 떨어 뜨리는 것을 모두 제외 / 유연성을 향상
6. prolog
- 로직 프로세싱 언어(논리 언어)
- 지능형 데이터베이스 시스템과 비슷한 형태
- 논리를 주고, 명제를 주면 알고 싶은 것을 알 수 있음
- 현존하는 유일한 논리 언어
7. Ada
- 역사상 가장 공이 들어간 언어로 미국 국방부 (DoD)에서 만듬
> 국방부에 납품하는 언어/프로그램의 통일화를 위해 연구함
- 특징
ⓐ package로 데이터 추상화 제공
ⓑ 예외 처리 가능
ⓒ generic package > 일반적으로 하는 일이 같으면 역할 통일
> c++의 템플릿 기능에 영향을 줌
ⓓ 동시 수행 수단 제공
ⓔ 언어의 특징과 공학적 특징을 두루 가춘 언어로 대중성을 얻었다.
> 완벽에 가까운 언어
8. small talk
- 객체지향을 완벽 지원해주는 처음으로 나온 언어
> 스몰톡 이외에는 객체 지향을 모두 지원해주지 않는다.
ex) 데이터 추상화 방법이 객체 지향 이외에도 존재 / c++은 구조체와 클래스로 데이터 추상화를 구현한다.
- 상속 지원
9. C++
- C와 SIMULA의 영향을 받음
> 그냥 C+SIMULA라고 생각하면 됨
- c의 대중성에 의해 C++도 많이 사용 됬다.
10. JAVA
- c++을 단순화 하면서 포인터 사용을 금지시함
- 쓰레드 제공