me2day

Java 5의 Generic을 C++의 Template처럼 쓰고 싶은 사람이 많은 듯하지만 아무리 봐도 객체의 compile-time type safety 이상도 이하도 아니다. 08.12.20 04:07

미투 4 rath 선이 백일몽 아시모프

11 개의 댓글이 있습니다.

홍민희 홍민희

Template Metaprogramming 같은 컴파일 타임 메타프로그래밍들은 Java와는 어울리지 않는다는 생각이 들어요.

08.12.20 09:37
홍민희 홍민희

(더 우아한 컴파일 타임 메타프로그래밍 방식은 D나 Haskell—정확히는 그 구현인 GHC—에서 볼 수 있어요.)

08.12.20 09:38
fupfin gEEkInsIdE

홍민희 저도 generic programming의 관점에서는 java의 것이 더 좋다고 생각하고 template 방식의 metaprogramming을 굳이 쓰고 싶지 않지만 어떻게든 (제한적인 것을 알면서도) C++방식으로 쓰려는 사람들이 좀 있어서요. D나 Haskell...ㅎㅎ 꼭 한번 보도록 하겠습니다.

08.12.20 12:04
소내기 소내기

vm에 generic기능이 없고 컴파일러에서만 어떻게 해볼라카니. 뭐 더도 말고 덜도 말고 Safety하게만 하거라에 충실한듯 합니다.

08.12.20 12:28
fupfin gEEkInsIdE

C++도 컴파일 단계에서하지 바이너리에 차이가 생기지 않아.

08.12.20 13:25
아시모프 아시모프

게다가 제너릭 문법은 필요 이상으로 혼란을 주고 있지요. Java theory and practice: Generics gotchas , c#처럼 vm단계에서 지원하면 깔끔할텐데 말이죠.

08.12.20 22:29
아시모프 아시모프

답글을 달고보니 다 알고있을만한 내용들이네요-_-;

08.12.20 23:05
fupfin gEEkInsIdE

좋은 글 감사합니다. 잘 볼께요. 정말 문법이 외계스럽죠. ^^

08.12.20 23:22
짹

VM 의 일관성 유지를 위한 애처로운 몸부림이죠 ㅎㅎ

08.12.20 23:56
fupfin gEEkInsIdE

VM에서 지웠했다면 성능과 호환성에 문제가 되었겠지만 리플렉션까지 가능해서 보다 다양한 응용이 가능했을 듯 해요.

08.12.21 00:02
오리왕 오리대마왕

말씀하신 내용에 공감하고, 아시모프님의 링크같이 애매한 부분이 있지만서도, generic 이 주는 편리함 + 안정감은 상당하지 않나요? 심플한 코딩 ( get/put/iteration) 할 때는 참 유용해요.

08.12.22 13:23