본문 바로가기
공부/프로그래밍 언어론

[프로그래밍 언어론] 2. 언어의 기능

by 맑은청이 2021. 4. 12.
728x90
반응형

 

작성된 결과 프로그램, 

프로그램을 돌리는 프로세서

하드웨어 프로세서 위에서 돌아가는 소프트웨어을 프로세스라고 한다. 

 

명령어 패러다임

- 명령어 하나하나를 통해 실행

절차형 패러다임

- 명령어 여러개를 묻음 

함수형 패러다임

논리형 패러다임

 

 


오늘 배울 거

- 프로그램 언어의 기능

- 평가 기준

- 구현 방식 

맥북 

프롬프트 : 검은 화면

커서 : 아래의 반짝이는 ] 

 

#) 맥킨토시는 사과 품종이다!!! 

 

 

 

 

 


1. 프로그램의 역할

1) 사람이 원하는대로 수행 되어야함

2) 다른 사람이 작성한 프로그램을 읽을 수 있도록 하는 것 (알고리즘 전달) 

ex) FORTRAN, LISP, COBOL -> 수행하기 언어. 소유주가 있는 언어들이라 유출할 수가 없었음 그래서 나온게 ALGOL(국제위원회) 

 

 

 언어 카테고리

세계에는 수많은 언어가 존재

구분할 수 있어야 함

- Problem Domain 에 따라

- Programming Paradigm 에 따라

- Computational Model 에 따라 

    Imperative(폰 노이만) 명령형 60% 배우고

    Functional() 함수형 30%

    Logic(deductive logic) 논리 10%

    

 

어느 스토리지든지 버스를 사용할 수 있음 

 

 

 

언어는 우리에게 뭘 주고 우리는 뭘 줘야 하는지

프로그래머는 쉽게 읽을 수 있는 걸 제공해야함 

어셈블리어는 기계의존성이 있음 이는 저급 언어 

기계에 독립적이면 고급언어라고 함 

추상화 수준이 달라지는 것 

 

뭐가 좋은 프로그램언어 인가

Expressiveness

Writability + Readability 

Executability 

세 가지를 다 지원 해야함 

 

Language Evaluation Criteria

가로 축은 요구사항 

세로 축은 특성 및 평가기준

 

요약 

PL의 역할 

man-machine interface

man-man interface 

 

왜 배우냐?

현명한 problem solver, language chooser, learner,user,designer, manager가 되기 위해

 

너무 많은 언어가 있는데..

paradigms 로 Categorize 해야 

abstraction level 봐야

 

프로그램 언어의 요구 사항 

기본 요구 사항 : expressiveness, maintainability, executability

언어 평가 기준 : writability(작성력), readability(가독성), efficiency(효율성), reliability(강건성), portability(이식성) 

 

 

728x90
반응형