[개론]
: 일찍이 Fortan, Algol, Lisp와 같은 언어들이 “고급 언어”로 불린 이유가 그들의 문법과 시맨틱이 보다 추상적이였기 때문이다.
[추상의 주요 목표]
: 사람이 이해하고, 프로그래밍하기 쉽게
- 기계 독립적 : 기계의 종류에 구애 받지 않고 동작하는 프로그램 코드 작성 가능
[A name]
: 다른 것을 표현하기 위해 사용되는 기억 문자열(mnemonic character string)
- Name의 종류 : 식별자(함수명등) / 상징(symbols) : ex)’a=b’ ‘a+b’등 / 변수, 상수, 연산자, 타입 등
=> 잠재적으로 복잡한 프로그램을 Name과 연관시키는 프로그래머의 작업 = 추상화
(함수의 동작 방법보다 함수의 목적에 대해 생각할수 있게끔 해주고, 프로그래머가 복잡한 생각대신, 관리가능한 부분에 집중할 수 있게 해준다.)
[추상화의 구분]
: 언어 기능이 특정 컴퓨터 아키텍처의 세부 정보와 분리되는 정도를 참조한다.
- Control 추상화(함수,subroutine, 프로시저) : 임의의 복잡한 코드를 간단한 인터페이스 뒤에 숨긴다.
- Data 추상화(클래스) : 데이터들을 감춤 ( 데이터 + 표현식을 추상화)
'[프로그래밍 언어론]' 카테고리의 다른 글
프로그래밍 언어론 3-2강. 객체 수명과 메모리 관리 (0) | 2019.10.26 |
---|---|
프로그래밍 언어론 3-1강. Binding Time(바인딩 타임) (0) | 2019.10.26 |
프로그래밍 언어론 1-6강. 컴파일 과정 Overview (0) | 2019.10.14 |
프로그래밍 언어론 1-4강. Compilation(편집) vs Interpretation(해석) (0) | 2019.10.14 |
프로그래밍 언어론 1-2강. 프로그래밍 언어의 스펙트럼 (0) | 2019.10.13 |