본문 바로가기
#컴퓨터 과학 [Computer Science]/운영체제 (Operating System)

[OS - 🍎 macOS] 명령형 프로그래밍 언어 (Imperative Language)와 함수형 프로그래밍 언어 (Functional Language)

by cy_mos 2022. 1. 4.
반응형
카테고리 (Category) 작성 날짜 (Write Date) 최근 수정 날자 (Recent Write Date) 작성자 (Writer)
Operating System 2022.01.04. 22:07 2022.01.04. 22:07 Dev.Yang

 

🛠 명령형 프로그래밍 언어 (Imperatvie Language)

명령형 언어 (Imperative Language)는 부수 효과 (Side Effect)를 기반으로 작동하는 방식으로 상태를 변경시키는 연산들을 적절한 순서로 나열하여 프로그래밍 작업을 수행합니다. 대부분의 객체지향언어들이 메시지에 의한 객체의 상태 변경에 집중하기에 명령형 언어로 분류할 수 있습니다.

 

아래는 네이버 지식백과에서 정의하고 있는 명령형 언어 (Imperative Language) 내용입니다.

이 언어는 기존의 폰 노이만 방식의 컴퓨터 구조에 적합하며 현재 실용되는 대부분의 언어로, 어느 수식의 값을 변수에 지정함으로써 기억 장치의 내용을 바꾸는 작용을 처리의 기본으로 하는 프로그래밍 언어이다. 단점은 이론적인 정확성의 증명이 쉽지 않고 부작용이 생길 수도 있다는 것이다.

[네이버 지식백과] 명령형 언어 [imperative language] (컴퓨터인터넷IT용어대사전, 2011. 1. 20., 전산용어사전편찬위원회)

🛠 함수형 프로그래밍 언어 (Funcational Language)

부수 효과 (Side Effect)가 존재하지 않는 수학적인 함수에 기반하여 작동하는 방식의 프로그래밍 언어입니다.

 

아래는 네이버 지식백과에서 정의하고 있는 함수형 언어 (Funcational Language) 내용입니다.

데이터에 대한 함수의 적용을 바탕으로 처리를 기술하는 프로그램 작성 언어. 주요한 것으로는 리스프(LISP)가 있다. 기존의 실행문형 언어 또는 절차형 언어에서는 대입 등의 처리에 의해서 같은 데이터가 차례로 변경되어 가기 때문에, 데이터를 참조하는 타이밍에 따라서 데이터의 값이 변하고 프로그램 작성자에게도 부담이 컸다. 함수형 언어에서는 함수의 입력이 되는 데이터와 출력이 되는 데이터는 서로 다른 데이터이며, 절차형 언어에서와 같은 데이터의 예기치 못한 변경(부작용)을 고려할 필요 없이 프로그램을 작성할 수 있다.

[네이버 지식백과] 함수형 프로그램 작성 언어 [functional programming language, 函數型-作成言語] (IT용어사전, 한국정보통신기술협회)

🛠 함수형 프로그래밍 언어와 명령형 프로그래밍 언어의 차이점

  • 함수형 언어는 수학적인 함수를 기반으로 작성되었기 때문에 참조 투명성의 장점을 극대화할 수 있습니다.
  • 부수 효과 (Side Effect)가 발생하는 명령형 프로그래밍과 달리 함수형 언어는 부수 효과 (Side Effect)가 존재하지 않아 프로그램의 실행 결과를 예측하기 수월합니다. 그로인하여 함수형 언어는 병렬 처리 작업에 특화되어 있습니다.

 

※ 참조 투명성 - 어떠 한 표현식 α 가 있는 경우 α의 값으로 α가 나타나는 모든 위치에 대하여 교체를 하여도 결과가 달라지지 않아야 한다는 특성


🚀 REFERENCE  

 

참조 투명성 - 위키백과, 우리 모두의 백과사전

참조 투명성와 참조 투명도는 컴퓨터 프로그램의 일부 속성이다.  프로그램 동작의 변경없이 관련 값을 대체할 수 있다면 표현식을 참조 상 투명하다고 할 수 있다. 그 결과, 참조 상 투명한

ko.wikipedia.org

 

오브젝트 - YES24

역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를

www.yes24.com

 

명령형 언어

이 언어는 기존의 폰 노이만 방식의 컴퓨터 구조에 적합하며 현재 실용되는 대부분의 언어로, 어느 수식의 값을 변수에 지정함으로써 기억 장치의 내용을 바꾸는 작용을 처리의 기본으로 하는

terms.naver.com

반응형

댓글