bunta의 보조기억장치

[프로그래밍 언어론] 3-1 프로그래밍 패러다임 본문

Study/필기

[프로그래밍 언어론] 3-1 프로그래밍 패러다임

bunta 2022. 10. 4. 22:43
반응형

패러다임이란 무엇인가?

→ 한 시대의  견해나 사고를 규정하는 양식, 규범 체제 등을 통칭하는 말

→ 토머스 쿤은 과학 분야의 발전에 따라 이전의 믿음과 체계가 흔들리고

      새로운 체계로 대체되는 과정에 주목

→ 패러다임 전환

     ex) 천동설 → 지동설

            저축이 미덕 → 소비가 미덕

→ 패러다임이 바뀌는 것을 패러다임 전환, 패러다임 시프트라고 함


프로그래밍 패러다임

→ 프로그램을 작성하는 전형적인 방식

→ 특정 언어에 종속되지 않고 프로그래머가 추구하는 프로그램 작성 방식에 따라 달라짐

     즉 A언어를 사용하더라도 B언어나 C언어에서 작성하는 방식으로 작성할 수 있다는 뜻


프로그래밍 패러다임의 변화

명령형 프로그래밍 패러다임

→ 주어진 데이터에 어떤 연산을 어떤 순서로 처리할지 결정하는 것이 중요

→ CPU의 작업 순서에 맞게 프로그래밍하는 방식

 

절차형 프로그래밍 패러다임

→ 복잡한 데이터 처리를 위해 데이터 처리 방식 자체를 잘 정리하는 것이 중요

→ 같은 기능을 하는 절차를 잘 정리하여 재사용성을 높이는 것이 목적

 

함수형 프로그래밍 패러다임

→ 데이터가 저장된 메모리를 관리하는 것이 어려운 문제로 대두

→ 저장된 위치보다는 값을 중심으로 프로그래밍하는 방식

→ 함수란 어떤 값을 입력 받으면 지정된 연산을 하고 연산의 결과값을 되돌려주는 것

 

논리 프로그래밍 패러다임

→ 선언적 프로그래밍 패러다임의 한 종류

→ 계산 절차를 문제의 조건을 명시하는 규칙으로 생각하여 처리

→ 참과 거짓을 중심으로 프로그래밍하는 방식

→ 예를 들어 A, B, C가 참이고 D, E, F가 거짓일 때 A, D, B, E, C, F 처럼 순서를 뒤섞어서 처리하더라도

    A, B, C가 참이고 D, E, F가 거짓임은 변하지 않음. 즉, 본질적인 규칙은 변하지 않음

 

객체지향 프로그래밍 패러다임

→ 같은 데이터에 대해 다른 처리 절차를 여러 개 명시해야 하는 경우가 흔히 발생함

→ 특정 절차를 가져다 쓰기만 하는 것이 아닌 객체를 만들어 두고 다른 객체와의 연관성이 있는지

     객체 내에서 어떤 작업이 가능한지 등 모두 객체를 중심으로 작성하는 방식


프로그래밍 패더라임 변화의 배경

응용 도메인의 변화

→ 요구사항의 변화

→ 계산 분야에서 다양한 응용 분야로 넓어짐

 

프로그램 구성 방식의 변화

→ 명령어를 나열만 하는 방식에서 존재하는 모듈을 조합하여 개발하는 방식으로 변화

 

계산 모델의 변화

→ 튜링기계 모델에서 새로운 방식의 계산 모델로 변화

 

 

 

한국방송통신대학 [프로그래밍 언어론] 강의 필기입니다.

 

반응형
Comments