펑터를 지하철 노선으로 설명해도 좋을거 같다. 서울의 지하철 노선도를 외우고 있는거랑 서울의 지리에 대해 빠삭한 거랑은 거리가 멀다. 그리고 지하철만으로 서울의 모든 곳을 구석구석 돌아다닐수 없다. 중간에 내려서 걷거나 버스를 타야 한다. 하지만 효율적인 경로를 찾는데 큰 도움이 된다는 사실은 부정할수 없다.

F : 지하철 노선도 -> 서울에서 F는 지하철 노선도를 참고해 현실에서 실제로 지하철을 타는 행위가 된다. 우리는 서울의 지하를 돌아다니고 싶어서 지하철을 타는게 아니다. 서울을 돌아다니고 싶은데 여기에 지하철의 도움을 빌리는거다.

프로그래밍도 어떤 경로를 찾는것으로 이해할 수 있다. f : a -> b란 함수를 구현하는 것은 a에서 출발해서 b에 도착하는 길을 찾는 것이다(도착만 한다고 장땡이 아니란 점에서(=타입만 맞는 쓸모없는 함수를 구현하기) 위에서 든 지하철 비유랑 갈라지기 시작한다).그런데 함수(경로)는 무수히 많고 그중에 내가 원하는걸 하나 찾아내는건 어려운 일이다. 이때 좀더 단순한 이해하기 쉬운 지도와(다른 카테고리), 그 지도를 따라서 움직이는 방법(펑터)를 알고있으면 도움이 된다. 펑터 F : C -> DD라는 넓은 영토를 돌아다닐때 C라는 지도의 도움을 받는 방법으로 볼수있다.

1

If you have a fediverse account, you can quote this note from your own instance. Search https://hackers.pub/ap/notes/01978633-932f-721b-83f4-7bbe5d756971 on your instance and quote it. (Note that quoting is not supported in Mastodon.)