**Summary Note** - [[04:59]] 순수 함수 ... arg로 주어지는 값 외에는 그 어떤 값에도 관심이 없다 - [[05:42]] 원본을 수정하지 않는다 (불변성의 원칙) - [[06:28]] 참조투명성(Referential transparency) - [[07:05]] 고차함수 ... 다른 함수를 arg로 받거나 반환값으로 내놓는다 - [[07:31]] 콜백함수 (소환되는 함수) callback function
영상에서는 그냥 단순한 기능으로 예시를 보여드린겁니다. 진짜로 더하기나 곱하기에 쓰인다고 생각해버리시면 곤란해요 😅😅 실제로 사용될 기능들은 보다 크고 복잡한 기능이고 그 기능들이 각기 다른 곳에 여러 조합으로 사용될 수 있다고 생각해보시면 바로 이해가 되실 것입니다. 🙂
일단 어떤 언어인지부터 말씀주시면 좋겠는데, 😅 함수가 일급객체인 언어에서라면 '그렇게 볼 수도 있겠네' 입니다. 중요한 건 그런 시각에 대해 저 같은 특정 개인이 어떻게 생각하느냐가 아니라, 그것이 말하는 바와 추구하는 바가 무엇인지를 아는거예요. 용도나 상황에 따라 그것이 적합한가가 달라질 수 있기 때문입니다.
아하 ㅎㅎ 제 질문의 요는 함수를 일급시민요소로 받아들이지 않는 언어의 경우라도 동일한 효과를 객체로 표현하거나 반대로 객체를 유려하게 표현하는 문법이 없어도 함수로 객체의 행위를 효과적으로 만들어 내거나 하는 부분에 있어 특정 언어를 떠나 함수와 객체가 서로 해결할 수 있는 힘이 동등하다 는 주장에 대한 의견입니다. 예로 자바는 람다 이전에도 익명 객체로 함수적인 방식을 사용했었고 자바스크립트는 클래스 문법이 없던 시절에도 함수를 통해 객체지향적 표현에 무리가 없었던 등을 보며 주장을 할 수 있을 듯 해요
그렇군요. 말씀주신 바에 대해 제 의견을 말씀드리자면 객체와 함수의 기능 및 역할의 범위를 어디까지 보느냐에 따라 그럴 수도 있다고 생각합니다. 개발자의 편의까지 포함시킨다면 얘기가 달라지겠죠. (솔직히 그 가부를 논하는 건 제가 생각에는 그냥 예송논쟁인 것 같습니다.)
🎟 얄코 강의 선착순 반값쿠폰 (매주 갱신)
bit.ly/yalco-fcfs-coupon
예제코드 확인 : yalco.notion.site/Functional-Programming-f836af36dfb340a1bee40d9eff989816?pvs=4
얄코 강좌들 보기:
www.yalco.kr/#lectures
얄코 책 보기:
www.yalco.kr/#books
**Summary Note**
- [[04:59]] 순수 함수 ... arg로 주어지는 값 외에는 그 어떤 값에도 관심이 없다
- [[05:42]] 원본을 수정하지 않는다 (불변성의 원칙)
- [[06:28]] 참조투명성(Referential transparency)
- [[07:05]] 고차함수 ... 다른 함수를 arg로 받거나 반환값으로 내놓는다
- [[07:31]] 콜백함수 (소환되는 함수) callback function
함수형은 모나드까지 써서 어떤 경우에도 부수효과 배제하고 계속 조합가능한 형태로 함수를 만드는 게 핵심인데.. 모나드라는 도대체 감도 안오는 용어 때문에 좌절을 많이 하는 것 같네요. 그 문턱만 넘으면 되는데..
아마 다다다음 영상주제가 모나드가 될 거예요. 다음주중 올려보겠습니다.
모나드를 이해한 사람은 설명할수없다는 밈도 있어요 ㅋㅋ
정확히 이해하려면 카테고리 이론까지 가야하나요?
모나드 방금 올렸습니다 😀
요즘 다시 많이 올라와서 좋아요
감사합니다 ㅎㅎ 열심히 올리겠습니다!
최근에 Lambda Calculus에 관심이 생겼는데 재미있는 주제인것 같네요
훌륭하십니다.❤
감사합니다!
매번 헷갈리는 개념이었는데 쉽게 잘 설명해주셔서 명확히 이해가 되었습니다! :)
감사합니다!
좋은 영상 감사합니다
영상을 보고 궁금한 점이 있는데 마지막 고차함수 부분에서 2를 곱하고 2를 더하는 함수의 경우,
하나의 함수에 해당 내용을 넣는게 보기도 편하고 함수를 추적하기 좋아보이는데
저렇게 두 개의 함수로 나눠서 하는 장점이나 이유가 있을까요 ?
영상에서는 그냥 단순한 기능으로 예시를 보여드린겁니다.
진짜로 더하기나 곱하기에 쓰인다고 생각해버리시면 곤란해요 😅😅
실제로 사용될 기능들은 보다 크고 복잡한 기능이고
그 기능들이 각기 다른 곳에 여러 조합으로 사용될 수 있다고 생각해보시면 바로 이해가 되실 것입니다. 🙂
함수와 객체는 서로 동형적이라는 주장은 어떻게 생각하시나요?
일단 어떤 언어인지부터 말씀주시면 좋겠는데, 😅 함수가 일급객체인 언어에서라면 '그렇게 볼 수도 있겠네' 입니다. 중요한 건 그런 시각에 대해 저 같은 특정 개인이 어떻게 생각하느냐가 아니라, 그것이 말하는 바와 추구하는 바가 무엇인지를 아는거예요. 용도나 상황에 따라 그것이 적합한가가 달라질 수 있기 때문입니다.
아하 ㅎㅎ 제 질문의 요는 함수를 일급시민요소로 받아들이지 않는 언어의 경우라도 동일한 효과를 객체로 표현하거나 반대로 객체를 유려하게 표현하는 문법이 없어도 함수로 객체의 행위를 효과적으로 만들어 내거나 하는 부분에 있어 특정 언어를 떠나 함수와 객체가 서로 해결할 수 있는 힘이 동등하다 는 주장에 대한 의견입니다.
예로 자바는 람다 이전에도 익명 객체로 함수적인 방식을 사용했었고 자바스크립트는 클래스 문법이 없던 시절에도 함수를 통해 객체지향적 표현에 무리가 없었던 등을 보며 주장을 할 수 있을 듯 해요
그렇군요. 말씀주신 바에 대해 제 의견을 말씀드리자면 객체와 함수의 기능 및 역할의 범위를 어디까지 보느냐에 따라 그럴 수도 있다고 생각합니다. 개발자의 편의까지 포함시킨다면 얘기가 달라지겠죠. (솔직히 그 가부를 논하는 건 제가 생각에는 그냥 예송논쟁인 것 같습니다.)
웹rtc듣고 이후영상은 제분야가아니라서 좀 쉬다가 혼공얄코 보고잇는데 cpu를 그 푸드트럭에 비유하신게 참 기가막힌것같습니다. 냉장고는 보조기억장치, 탁자는 메모리. 아주 굳입니다 얄코님ㅎㅎ
고민한 내용이 도움되어드려 기쁩니다! 감사합니다!!!
amazing
요즘 다 함수형이던데 코드가
그래서 입문자분들은 더더욱 배워놓으셔야 합니다. 🙂
함수형업는 일부언어들쓸때 아주골아픔
자바만 안쓰면 됨
1빠