프로그래밍언어

[프로그래밍언어] 프로그래밍언어의 역사

Fortran I : 704를 위해 작성하던 코드 중 거의 절반이 Fortran으로 작성되고 있었다. 인기 많았다.

서브루틴을 위한 개별적 컴파일은 불가

 

Fortran II: 서브루틴들의 독립적인 컴파일 기능. 컴파일과정 상당히 단축해 훨씬 큰 프로그램 개발 가능하게함

실질적인 대규모 프로그래밍이 가능하게 됨

 

Fortran IV: 서브프로그램 이름이 파라미터가 될 수 있었다. 

 

--90이전: 컴파일타임에 변수type과 storage모두 fixed , recursive프로그램(x) 

Fortran 90: Parameter type checking, CASE문

 

Fortran 2003: OOP지원

 

Fortran 2008: 병렬적 프로그래밍-Thread Base(중요) 

-----------

Fortran은 Interpretation->compilation을 한 역할을 했다.

 

 

LISP

AI연구

COMMON LISP과 Scheme등의 변형 존재. 

 

ALGOL 60

더 정교화. (FORTRAN보다 좋지만 IBM지원으로 많이 사용못함)

machine-independent algorithmic language(중요!!). (최초!!!)CFG, BNF 정의. (최초)

C언어의 실질적 아버지

수학표기법(가독성높이기), 알고리즘표현, 머신코드해석

pass by value, pass by name 

stack-dynamic arrays 첨자범위 동적바인딩 및 동적메모리할당 

 

ALGOL 58: 

if, else-if  구문.

 

COBOL:

1960-70년대 모두 사용

time sharing  (중요! 최초) 

 

APL and SNOBOL

dynamic typing and dynamic storage allocation(공통점) 

변수들은 값할당까지 타입이 없다. 값이 할당되었을 때 strorage에 변수가 할당된다. 

 

SIMULA 67

Coroutines, Classes, objects, inheritance, OOP, Data abstraction

 

ALGOL 68

orthogonality 직교성 개념- dynamic arrays 

user-defined 자료구조 (중요!!!) 

Pascal, C, Ada에 큰 영향 

 

C

 

Prolog

 

Ada

Ada 95 : DoD가 C++인기로 더이상 필요없다. (중요)

 

------------

OOP개념:C++

C와 SIMULA67로 발전. 

연관: Objective-C, Hybrid Language 

 

OOP개념:Java

Reliability(신뢰성) 

Simply simplified. (C++보다) 

Reference(O), 포인터X

concurrency(synchronized)지원 

JIT 컴파일러-Portable 

 

 

 

(+) 마크업 Hybrid Languages: XSLT, JSP