프로그래밍언어론 3화를 듣고 배운내용
프로그래밍 패러다임
프로그램을 작성하는 전형적인 방식
특정 언어에 종속적 X
프로그래머가 추구하는 프로그램 작성 방식
프로그래밍 패러다임 변화
- 명령형 프로그래밍 패러다임: 연산을 순서로 결정
- 절차형 프로그래밍 패러다임: 데이터 처리 방식 자체를 잘 정리(컴포넌트 방식인가?)
- 함수형 프로그래밍 패러다임: 값만 집중하자. 값을 넣고, 값만 받고
- 논리 프로그래밍 패러다임: 조건이 참 or 거짓, 규칙을 보자. 크게 보면 선언적 프로그래밍이다.
- 객체지향 프로그래밍 패러다임: 같은 데이터에 다른 처리 절차를 여러개 명시
프로그래밍 패러다임의 양립성
=> 언어들에서 프로그래밍 패러다임은 양립할 수 있다.
변화의 배경
응용 도메인의 변화
요구사항의 변화
계산 분야 => 다양한 응용 분야
구성방식의 변화
명령어 나열 => 존재하는 모듈의 조합
계산 모델의 변화
튜링기계 모델 => 새로운 방식의 계산 모델
명령형 프로그래밍
프로그램: 일련의 명령어 나열
장점: 프로그램을 쉽게 이해 가능
단점: 프로그램이 복잡한 경우 효과적 X
명령형은 순서대로 가다가 점프 시키는 명령어로 점프시킨다
예) BASIC의 GOTO
절차형 프로그래밍
프로그램: 서브루틴이라는 절차의 집합
장점: 재귀호출을 사용해 프로시저를 간단히 정의
구조화 프로그래밍
- goto 없이 프로그램을 작성
- 블록과 서브루틴 이용
- 구조화된 제어문 사용
객체지향 프로그래밍
프로그램: 서로 통신할 수 있는 객체(object)의 집합
GUI 개발에 큰 획
프로그램 재사용 편의로 S/W 생산성에 크게 기여
객체의 개념
- 상태를 유지하며 외부의 요청에 반응하는 데이터
- 상태 - 필드(멤버 변수), 반응 - 메소드(멤버 함수)
- 상태는 외부에 숨기고 메소드는 외부에 공개
함수형 프로그래밍
- 데이터는 값으로, 명령어는 함수로 취급
=> 명령어가 데이터를 바꿀 수 없다 - 대입문과 반복문 없다
- 함수 자체도 값으로 취급 가능
프로그래밍 패러다임 특징
객체지향: 객체사이 통신을 통해 계산 표현
함수형: 함수의 적용을 통해 계산 표현
논리: 논리식의 진위를 증명하는 과정으로 계산 표현
'Computer Science > Programming :: 프로그래밍언어론' 카테고리의 다른 글
프로그래밍언어론 강의 8화 :: 변수 영역, 정적 영역, 동적 영역, 이름 공간 (0) | 2021.10.12 |
---|---|
프로그래밍언어론 강의 7화 :: 변수, 바인딩 (0) | 2021.10.12 |
프로그래밍언어론 강의 6화 :: 언어 구현, 인터프리터, 컴파일러 (0) | 2021.09.28 |
프로그래밍언어론 강의 5화 :: 구문 분석 (0) | 2021.09.11 |
프로그래밍언어론 강의 4화 :: 구문론과 의미론 (0) | 2021.09.09 |