프로그래밍[Univ]/프로그래밍 언어론

[프로그래밍 언어론] 언어 설계 / 개발 디자인의 영향을 미치는 것

Cloud Travel 2011. 9. 14. 17:40
1. 컴퓨터의 구조

 - 폰 노이만 구조 : 현재 대부분의 컴퓨터의 구조로 CPU와 Memory로 이뤄진 것
 - 폰 노이만이 컴퓨터를 생각했던 과정과 생성물
  ⓐ 수학적 반복계산을 담당할 무언가(CPU)와 중간에 값을 저장할 공간(Memory)가 필요...
  ⓑ 메모리의 주소를 알아야 하는가?? 
   > 변수의 탄생
  ⓒ 메모리의 내용을 변환할 수 있는가??
   > 어사인먼트(assignment)의 탄생
  ⓓ 반복적인 연산이 가능한가??
   > 레퍼티션(Repetition) / 반복연산의 탄생
 - 즉, 컴퓨터의 구조가 폰 노이만의 구조를 따른다면 프로그램언어에는
   변수, 어사인먼트, 레퍼티션이 존재해야한다!!
 - 폰 노이만 구조를 기반으로 설계된 언어를 "명령형 언어(imperative language)"라고한다.


2. 프로그램 설계 경향

 - 프로그램은 그 시대의 프로그램 설계 경향을 따르기 마련이다.
 - 각 해당 연도별 특성
  ⓐ 1950년대 : 하드웨어의 불안함에의해 하드웨어가 잘 돌아가야 한다는 것에 중점을 둔 언어가 많다.
                     하드웨어(기계)에 입장에서 언어가 설계되었다.
       ex) 어샘블리
  ⓑ 1960년대 후반 : 하드웨어가 안정화가 되감. 이에 따라 프로그램 설계의 핵심이 사람으로 변경됨.
                            사람이 생각하는 슈도코드가 실현 가능한 프로그램언어 개발
       ex) 알골68
  ⓒ 1970년대 후반 : 사람위주로 생각하다보니 데이터의 양이 방대해짐.
                            이에 따라 프로그램 설계의 핵심이 데이터로변경됨.
                            추상적인 데이터 양식을 제공
       ex) C-struct / Java - class
  ⓓ 1980년대 : 객체 지향을 지원해주는 언어의 탄생
 - 이러한 시대에 따른 프로그램 설계의 경향을 토대로 언어의 탄생 년도로 그 언어의 특성이 유추가 가능함