http://morris.xsdeny.net/works/side-effect.txt

'functional will save you from side-effect'

프로그래밍을 하다보면 많은 side-effect에 접하게 됩니다.이 글에서는 절차언어의 대표적인 c와 함수언어의 ML에 대해서 얘기를 할 것 입니다. c는 작고 간단하면서도 편리한 기능을 많이 제공해줍니다.

int i = 0;
printf("%d %d", ++i, i++);

를 x86에서 vc, bc, gcc등으로 돌릴 경우 값을 예측하실 수 있습니까? 실제로 돌려보시기 바랍니다. 이런 실행도중에 값을 바꾸는 것은 매우 ugly한 부분으로 원치않은 side-effect를 발생시키게 됩니다. functional langauge에서는 수학에 가깝게 표현하려 하기때문에 실행 도중에 값을 치환하는 행위나 값 자체를 무분별하게 바꾸는 행위를 ugly한 부분으로 보고 제거 하려고 노력하고 있으며 실제로 그런 부분을 모두 제거한 haskell이라는 언어도 이미 나와있고 pure functional language라는 이름으로 호평을 얻고 있습니다.

Thread

마소6월호인가 이광근 교수님이 쓴 '값중심으 … 있어 이거 함 바바 cacm9월호 에도 이 비슷한글 나와. –병든닥