댓글로 제네릭= FP다라고 하는데
OOP와 FP가 직교지만 배타적인 개념이 아니듯이
제네릭또한 상호 보완적이지만 FP가 아니다
어째서 다른가?
함수형 프로그래밍은 기본적으로 I/O를 입력->출력 맵핑 처리다.
보통 우리가 흔히쓰는 I/O는
프로그램 바깥 상태에 따라 출력이 따라지지만
함수형은 기본적으로 동일,입력 동일 처리가 맞음. I/O는 따지고보면 인풋 아웃풋인데, 항상 인풋이 같다고 동일한 상태를 보장하진 않음
근데 함수는 걍 존나 똑같은 입력 똑같은 처리를 기본 베이스로 하는거
모나드, 액터 모델 이런것들이 그걸 뒤받침하기 위한 결과물이라고 볼수있지
그래서 함수형을 정의내릴때
순수함수,고차함수,데이터 불변성,함수 조합,재귀를 예시로 듬
그럼 제네릭은 무엇인가?
템플릿화다. 템플릿 화란 무엇인가? 재사용 가능한 알고리즘 구조, 데이터 구조의 재작성이다.
따라서
타입 추상화,재사용성, 컴파일 타임 안전성이 주요목적이다.
제네릭은 타입 독립적이 목표고
FP는 사이드 이펙트가 없는 걸 목표로 한다
목표점이 다르고, 프로그래밍의 예측가능성을 주안으로 둔 함수형
타입에 초점을 둔 제네릭.
둘은 상호보완적이지만 엄연히 다르고, 제네릭 프로그래밍처럼 오히려 타입 추상화가 될 경우 반대로 말하자면
예측 가능성이 낮아진다. 그렇기때문에 목적이 다르다고 할 수 있다.
니말대로라면 람다도 fp가 아닌거야 개념자체가 c++개발자가 ml보고 넣은건데 쓰는 사람이 아니네 마네 판단하니?
람다는 FP에 자주 쓰이지만 람다식은 반드시 함수형 프로그래밍에만 쓰이는게 아니고, 단순히 익명함수를 정의하는 방법일뿐임..
c++ 특성이랑 어우러져서 다른 사이드이펙이 발생한다 치더라도 제너릭 자체가 파라미터 다형성을 위한 구현으로 생겨난 결과물이야 fp 사람들리 좋다좋다해도 인정안하는 이유가 있었구만
프로그래밍언어론에서 기본지식이고 전공책사볼거 아니면 위키피디아라도 좀 뒤져봐라
아니라니까 아오ㅠ 갑갑하네 . 제네릭이 FP라는게 아니라 엄연히 제네릭 프로그래밍을 만든 양반이 다르게 말었다고 이야기함
https://gall.dcinside.com/board/view/?id=programming&no=2791540&page=1
나말고도
다른 사람이 그렇다고 한 이야기들도 가져옴. 퀄컴 수석 엔지니어가 한 말임.
투표거부는 무한 경쟁사회를 만들고 투표범죄는 제한적 경쟁사회를 만든다 무한경쟁은 균형잡힌 평등사회를 만들고 제한경쟁은 불평등한 사회를 만든다 부조리한 사회를 발견하거나, 그것으로 인한 피해를 경험하면 즉시 투표거부해라. 사회운동은 개인이 감당할수 없는 자원을 요구하지만, 투표거부는 생활습관이다 댓글 노동자 여러분! 투표거부합시다! 지/총/대선 할것없이 투표율 40%대를 완성하여 직접민주제를 위한 투표거부 협의체를 조직하고 정권인수에 착수하자! 다 집어치고 투표거부해라
투표안하나? 씨발들아
투표하는건 아동학대랑 비슷한거임.....투표하면 안되는거라고
ESFP ENFP ISFP INFP
예측가능성이 정확히 뭘 말하는지는 모르겠다만 코드를 제네릭하게 만들면 할 수 있는 동작이 줄어들기 때문에 예측하기 쉬워짐
이건 너 말이 맞는듯. 좀 오해의 소지가 있네. 목적성의 차이때문에 엄연히 다르게 구분지어졌다라고 할려고하는데 예시를 잘못든듯
책펴서 다시보니 니 말이 맞다
댓글 달아서 알려줘서 고맙다
댓글 달려고 했는데 지웠네. 타입이 런타임에 결정되는지 컴파일 타임에 결정되는지는 정적/동적 타이핑의 차이이지 제네릭과는 별개임. 굳이 따지면 ML 계열 언어나, C++ template 등등 제네릭으로 유명한 언어는 정적인 접근이 더 많음.
ㅇㅇ 뭔가 좀 헷갈려서 다시 봤는데, 목적성은 제대로 이해했었는데, 내가 좀 잘못이해한 부분이 있었음. 여튼 고맙다.