작성된 결과 프로그램,
프로그램을 돌리는 프로세서
하드웨어 프로세서 위에서 돌아가는 소프트웨어을 프로세스라고 한다.
명령어 패러다임
- 명령어 하나하나를 통해 실행
절차형 패러다임
- 명령어 여러개를 묻음
함수형 패러다임
논리형 패러다임
오늘 배울 거
- 프로그램 언어의 기능
- 평가 기준
- 구현 방식
프롬프트 : 검은 화면
커서 : 아래의 반짝이는 ]
#) 맥킨토시는 사과 품종이다!!!
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(이식성)
'공부 > 프로그래밍 언어론' 카테고리의 다른 글
[프로그래밍 언어론 과제] 7. Prolog 로 팩토리얼 구현 (0) | 2021.05.21 |
---|---|
[프로그래밍 언어론] 10. 구문론2 (0) | 2021.04.14 |
[프로그래밍 언어론] 10. 구문론 (1) | 2021.04.13 |
[프로그래밍 언어론] 6. 프로그래밍 언어의 발전 3 (0) | 2021.04.13 |
[프로그래밍 언어론] 4. 프로그래밍 언어의 발전 1 (0) | 2021.04.12 |