https://medium.com/@rinae/번역-두려움-믿음-그리고-자바스크립트-언제-타입-시스템과-함수형-프로그래밍이-먹히지-않는가-dde33972301f

타입스크립트와 함수형프로그래밍에 대한 자료들을 찾다가 발견한 글인데 자바스크립트 전반에 대한 깊은 통찰력을 볼 수 있었다.


글의 내용을 요약하자면,

  1. 자바스크립트는 태생 자체가 동적이라 모든 경우에 대하여(특별히 고급진 함수형프로그래밍) 타입스크립트로 완벽하게 타입시스템을 입힐 수 없다.
  2. immutable.js 를 사용하더라도 모든 경우에 불변성을 보장받을 수 없다.
  3. 함수형프로그래밍을 사용하더라도 불변성은 규약에 따른 신뢰에 불과하다.
  4. 결국 어느 그 무엇도 자바스크립트를 완벽히 통제하여 코드와 도구를 이용한 신뢰를 담보할 수는 없다. 자바스크립트로 변환되는 다른 언어를 사용하는 것은 좋은 시도가 될 수 있지만 거기에도 여전히 또 다른 문제들이 남아 있다. 다양한 솔루션들의 장점들을 적절한 적절히 취합하여 사용하는 것이 최선이다.


한가지 아쉬운 점은 그런 두려움을 통제하는 방법으로 테스트코드를 작성하는 멋진 방법이 또 있는데.. 이에 대한 언급은 없었다.


역시.. 어디에도 정답은 없다.