나에게 제네릭은 타입 그 이상의 의미가 없던 애들이라 (Java, TS)
실제 런타임에서는 모두 제거되는 정보라 알 수 없는 정보라 알고있었는데...
c++, rust를 보니 그 타입 자체를 사용할 수 있게 되어있네
컴파일러단에서 진짜 '템플릿'이라고 판단해서 미리 정적 코드 생성해놓는 기능이 있나보네
Java는 스펙처럼 Object 타입으로 억지캐스팅해서 써야하는 경우가 있었는데
C++은 컴파일러 믿고 그냥 타입을 런타임 구현체처럼 써도 되네
제네릭 설계와 구현이 꽤 중요하구나
난 불호인데 라이브러리라고 내놓은것들보면 하나같이 빌드한번하기 힘듦
라이브러리 개발자 입장에서는 좀더 안정성 있고 쓸데없는 코드 없이 개발하기 좋을 것 같은데 어떤 빌드 오류가 남?
매니지드 언어의 컴파일러를 보면 컴파일러의 활용을 극한으로 하는데 이게 묘하게 TS의 냄새와 묘하게 비슷하다 이거지.. 마소에서 만들어서 그런가 쩝..