-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from muhandojeon/챕터1/오혜성
[오혜성] 챕터 1: 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다
- Loading branch information
Showing
1 changed file
with
42 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다 | ||
|
||
## 함수형 프로그래밍은 무엇인가요? | ||
|
||
* 수학 함수를 사용하고 부수효과를 피하는 것이 특징인 프로그래밍 패러다임 | ||
* 부수 효과 없이 순수 효과만 사용하는 프로그래밍 스타일 | ||
|
||
* 부수 효과 | ||
+ 함수가 리턴값 이외에 하는 모든 일 | ||
|
||
* 수학 함수 | ||
+ 인자에만 의존하고 부수 효과가 없는 함수 | ||
+ 수학에서의 함수와 같아 수학 함수라고 볼 수 있음 | ||
|
||
### 위 정의의 문제점 | ||
|
||
* 부수 효과는 필요하다 | ||
+ 부수 효과 없는 소프트웨어는 쓸모가 없다 | ||
|
||
* 함수형 프로그래밍은 부수 효과를 잘 다룰 수 있다 | ||
+ 순수 함수만 쓰는 것이 아니다 | ||
|
||
* 실용적이다 | ||
+ 학문적이지만 않다 | ||
|
||
* 함수형 프로그래밍의 진정한 아름다움은 코드 어느 곳에나 적용할 수 있는 유익한 내용이라는 점 | ||
|
||
## 액션, 계산, 데이터 | ||
|
||
* 액션은 부르는 시점에 의존 | ||
+ 실행 시점이나 횟수 또는 둘 다에 의존 | ||
|
||
* 계산은 입력값을 계산해 출력하는 것 | ||
+ 같은 입력값을 가지고 계산하면 항상 같은 결괏값 | ||
|
||
* 데이터는 이벤트에 대한 사실을 기록한 것 | ||
|
||
함수형 프로그래머는 액션보다 계산을, 계산보다 데이터를 좋아함 | ||
|
||
### 구분하면 어떤 장점? | ||
|
||
- 코드의 많은 부분을 액션에서 계산으로 옮기면 액션도 다루기 쉬워진다 |