[프로그래밍언어] 함수형 프로그래밍
- 최초 등록일
- 2004.05.17
- 최종 저작일
- 2004.05
- 10페이지/ 한컴오피스
- 가격 1,000원
소개글
수고하세요^^
목차
1. 함수형 프로그래밍의 개요
2. 명령형 언어의 특징
(1) 명령형 프로그램
(2) 명령형 언어의 문제점
3. 함수형 프로그래밍의 본질
(1) 함수
(2) 수학 함수와 프로그래밍 언어 함수
(3) 함수 언어(적용언어)
4. 간단한 순수 함수 언어
(1) 원시 함수
(2) 함수 형식
5. 기존 언어의 함수 기능
(1) Lisp
6. 적용형 언어와 명령형 언어의비교
[Reference]
본문내용
■ 함수형 프로그래밍의 개요
현존하는 대다수의 프로그래밍 언어가 폰 노이만(von Neumann) 기계 구조에 기초하여 설계되었다. 우리가 지금까지 살펴본 모든 언어는 이 구조를 추상화한 것이다. 이러한 추상 개념으로 언어를 설계할 때, 우리는 언어 기능의 유용성과 실행의 효율성간에 균형을 맞추려고 노력한다. 효율은 현재 사용되는 대부분의 언어에 잘 반영되어 있다.
실행효율은 폰 노이만 컴퓨터에서의 성능으로 측정된다. 이에 따라 폰 노이만컴퓨터 구조가 프로그래밍 언어 설계의 기본적인 고려 사항으로 간주되어 명령형 프로그래밍 언어가 발전되었다.
이와 대조적으로 수학적 함수에 기반을 둔 적용형 언어인 함수 프로그래밍 언어가 있다. 함수형 프로그래밍이란 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍 접근 방법을 의미한다. 이 방법은 일반적인 문제 해결에 실질적으로 접근하는 데 도움을 주며 계산적인 측면에 통찰력을 갖도록 한다. 최근 10여년 동안에 학계와 산업 연구 분야에서 함수형 프로그래밍에 관한 흥미로운 연구와 관심이 증가되어 왔다.
함수형 프로그래밍을 지원하는 고급 언어를 함수 프로그래밍 언어(약해서 함수언어)라 하며, 일반적으로 함수 언어가 주목받을 만한 세 가지 중요한 측면이 있는데 그것은 다음과 같다.
ꊱ 함수 프로그램이 기존 명령형 언어로 작성한 프로그램보다 간결하고, 더 추상적이며 이해하기 쉽다는 것이다.
ꊲ 함수 프로그램은 형식적인 분석과 조작이 용이하다.
ꊳ 함수 프로그래밍 언어가 자연스럽게 병렬 컴퓨터에 구현될 수 있다.
이러한 세 가지 특성들은 함수 언어의 수학적 특성에서 유래된 특징이다. 함수 프로그램에서 구축된 블록들은 수학적 함수 개념을 갖는 실제 함수들이다. 즉, 함수(프로그램 블록)들은 함수가 사용된 환경과 관계없이 단지 주어진 입력값들을 출력값들로의 변환을 기술한 것이다.
이러한 개념은 함수 프로그램이 소프트웨어 공학에서 사용되는 일종의 계층 명세로 간주되기 때문에 프로그래밍 측면에서 매력적이다. 또한 함수 프로그램의 형식적인 조작이 기존의 수학적 표기를 상대적으로 쉽게 적용할 수 있게 한다.
참고 자료
․「프로그래밍 언어론」- 원유헌교수(홍익대학교) 정익사