아는 애가 함수형이 그렇게 좋다고 써보라는데
본인쟝 빡대가리라 새로 뭐 배우기 벅차서 찍먹해보려고
구글링 해보니까 모나드 란 말이 자주 나오더라
그래서 걔한테 모나드가 머냐 물어봣는데
모나드가 뭔지 물어보는건 모나딕? 하지 않다고 그러는데 먼소린지 모르겟음
대충 사이드이펙트가 없고? 근데 함수형? 모나드? 로 해서 어떤게 특별히 좋아지는거야? 좀 똑똑해보이는 사람들은 함수형 이랑 모나드가 그렇게 좋다는데 나도 알려주라
본인쟝 빡대가리라 새로 뭐 배우기 벅차서 찍먹해보려고
구글링 해보니까 모나드 란 말이 자주 나오더라
그래서 걔한테 모나드가 머냐 물어봣는데
모나드가 뭔지 물어보는건 모나딕? 하지 않다고 그러는데 먼소린지 모르겟음
대충 사이드이펙트가 없고? 근데 함수형? 모나드? 로 해서 어떤게 특별히 좋아지는거야? 좀 똑똑해보이는 사람들은 함수형 이랑 모나드가 그렇게 좋다는데 나도 알려주라
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
- dc App
닌 이거 다읽고 링크 올리는거임?
알려줘도 지랄이노
그 친구보고 백준문제 함수형으로 풀라하면 한달쯤 하다가 cpp 찬양하기 시작함
모나딕 이런건 알 필요가 없고, 펑터와 모나드를 알면됨. 더 간단하게 설명하자면, 펑터란 map 함수이며 자기가 감싸고 있는 A 타입을 B 리턴해주는 함수를 매개변수로 취하는 함수고, map(A -> B):F[B] 모나드는 flatmap를 말하며, 자기가 감싸고 있는 A를 F[B]로 리턴해주는 함수를 매개변수로 취하는 함수라고 생각하면 된다. flatmap(A->F[B]):F[B] map의 쓰임은 단순 감싼 형태를 변화시킬 때 사용하고, flatmap은 다른 모나드 타입들과 연계할 때 쓰임. 이정도만 알아도 쓰는데 문제 없다. 나머지는 이론 공부
함수형 초반에는 그냥 이런 고차함수들 쓰는 방법을 알고 쓰면서 감각을 익히는게 중요함. 범주론 모나딕 어플리케이티브 어쩌구 나오는데, 이런 수학적 이론들은 나중에 관심 생기면 공부하고 그 전에 이런 고차함수들 직접 구현해보는게 좋음. 우리가 자료구조 배울 때 수학적으로 접근하면서 안 배우잖아. List, Set, Map 등등이 어떤식으로 작동하는지 알고, 또한 그것을 쓰는 방법을 먼저 배우지. 그 다음에 그것이 익숙해지면 직접 코드로 작성도 해보고 말이야. 그거랑 비슷하게 하면 함수형 언어도 크게 어려 울 것 없다고 생각함.
물론 난 고수가 아니지만 그래도 댓글 한번 달아 본거고, 함수형 고수가 와서 반박글 달면 그게 맞음.
오홍 이거 얘기가 간결하고 좋네
빅빡고수들 많노 고맙다 이기
저건 이론적인 얘기라서 실제론 몰라도 상관없긴 한데, 대충 설명함. 원래 순수한 함수형은 그 어떠한 side-effect가 없어야 함. 이 말은 x + 1을 계산하는 함수는 x + 1만 계산하고 그 값만 리턴해야하며, 그 외에 다른 작업은 하면 안된다는 것. 그런데 실제로 프로그래밍을 하면 순수한 함수형이더라도 이러한 side-effect가 없는 코드를 작성하는게 매우 힘들거나 불가능한 경우가 많음. 그래서 side-effect를 담당해줄 파트를 리턴값이랑 같이 첨부하는데 이 개념을 Monad라고 함.