본문 바로가기

프로그래밍 기록/토이

[Mini Tech Meetup] MTM 2회 Feel Functional / 함수형 느껴보기

대외활동은 아니고 그냥 지인들끼리 하는 세미나

 

 

Mini-Tech-Meetup/mini-tech-meetup

세미나 기록 repository입니다. Contribute to Mini-Tech-Meetup/mini-tech-meetup development by creating an account on GitHub.

github.com

2차 발표는 제가 진행하였습니다.

  • 발표자 : 이원준
  • Date : 2020.09.09
  • Presentation Link : Link
  • Presentation Video : Link

 

제가 진행한 발표니까.. 좀더 정리해보자면,

함수형이 어려운게 아니라
함수형 어려운거다.
FP 는 패러다임이고, FP 언어는 FP를 위한 툴을 제공해주는것이다.
불변/순수함수의 궁국적인 목적은
예측 가능하고, 신뢰할만하고, 테스트가능한 프로그램을 위해서 하는것
Core/ 핵심부분을 보다 순수하게 구현하여 내가 신뢰할만한 Core를 만들자 
문 (statement) 을 사용하면 재할당이 필수 불가결한 상황이 찾아온다.
따라서 FP 는 식(expression) 이라는 Tool을 제공한다.
out 키워드는 순수하지 않음 -> 튜플(tuple)을 쓰자
Map Reduce Filter와 같은 고차함수는 리스트(자료구조)에 대한 신뢰 할만 하고, 선언적이다.
따라서 Index 기반 for 보다 for each 신뢰할 만하다 (비록 내부가 똑같을수도있지만, 상관없다)
Method 는 근본적으로 순수하지 않음
Closure 로 캡쳐해와도, "불변"을 사용하면 신뢰할만함
"스승님. 열심히 수양을 닦으면서 객체야 말로 가난한 사람들의진정한 클로저(Closure) 라는것을 이해하게 되었습니다"
"대체 언제 깨달으려 하느냐? 클로저는 가난한 사람의 객체이니라"
Function도  Control할 수 있다.
Void 대신 Unit 을 사용하면 Control 할 수 있다.
즉 Generic 프로그래밍의 Type 에도 넣을수있음!
함수형 언어 정리, 근본은 불변과 순수함수
728x90