10년하고도 4년 전부터 리액티브
, 이터러블
등을 기반으로 한 다양한 함수형 언어가 생겨나며, 여타 언어들에는 RxSwift
와 같은 라이브러리들이 나타나며
현업에 가장 많이 사용되는 Java
, Swift
, Kotlin
등에 람다가 적용되며
스트림 혹은 이터러블이라는 이름으로 언어에 FP가 도입되기 시작하였습니다.
컴퓨터 사양이 업그레이드 되가는 과정 속에서, 조금은 느리더라도 유지보수하기 편한 코드들이 선호되어 왔으며, 이러한 기술들은 자연스레 실무에서 사용되고 있습니다.
이러한 함수형/이터러블
프로그래밍이 선호되는 것은 유지보수
가 편하기 때문이라 생각됩니다.
함수형 프로그래밍은 문제를 작게만들며, 조합성을 높이는데 좋은 도구이며
대부분의 언어에서 적용이 되가는 과정속에 해당 방법은 초언어적 해결책이 되었습니다.
그 중 제가 주로 사용하는 JS는 이터러블/이터레이터/제너레이터/심볼 등을 기반으로
뛰어난 프로토콜을 지니고 있으며, 이를 사용하라고 유혹합니다.
ES
의 가장 큰 분기점인 ES6+
, 즉 모던 JS의 진짜 매력은 이 이터러블 프로토콜
이 아닐까 싶습니다.
이터러블 프로토콜은 생산성을 높이며, 오류를 줄이고 유지보수가 용이한 우아한 코드를 작성하는 좋은 도구이죠
i++
j++
if
for
break
등의 상태 변경에 의존한 코드는 오류가 생기기 쉽습니다.아 물론 JavaScript는 런타임 언어로 타입이 유동적이기에 런타임 도중에만 버그를 알 수 있기에
개발 도중에서도 알 수 있도록, 정적 타입을 추가한 확장형 언어
TypeScript
를 기반으로 한 언어를 중점으로 다루기 때문입니다 ㅎ...
해당 문서에 따르자면 네가지의 차별점이 있습니다.
자 아무튼 다음편부터는 여러가지 사례들을 들고와보도록 하겠습니다.