Java 5의 Generic을 C++의 Template처럼 쓰고 싶은 사람이 많은 듯하지만 아무리 봐도 객체의 compile-time type safety 이상도 이하도 아니다. 08.12.20 04:07
java generic metaprogramming
11 개의 댓글이 있습니다.
Template Metaprogramming 같은 컴파일 타임 메타프로그래밍들은 Java와는 어울리지 않는다는 생각이 들어요.
(더 우아한 컴파일 타임 메타프로그래밍 방식은 D나 Haskell—정확히는 그 구현인 GHC—에서 볼 수 있어요.)
홍민희 저도 generic programming의 관점에서는 java의 것이 더 좋다고 생각하고 template 방식의 metaprogramming을 굳이 쓰고 싶지 않지만 어떻게든 (제한적인 것을 알면서도) C++방식으로 쓰려는 사람들이 좀 있어서요. D나 Haskell...ㅎㅎ 꼭 한번 보도록 하겠습니다.
vm에 generic기능이 없고 컴파일러에서만 어떻게 해볼라카니. 뭐 더도 말고 덜도 말고 Safety하게만 하거라에 충실한듯 합니다.
C++도 컴파일 단계에서하지 바이너리에 차이가 생기지 않아.
게다가 제너릭 문법은 필요 이상으로 혼란을 주고 있지요. Java theory and practice: Generics gotchas , c#처럼 vm단계에서 지원하면 깔끔할텐데 말이죠.
답글을 달고보니 다 알고있을만한 내용들이네요-_-;
좋은 글 감사합니다. 잘 볼께요. 정말 문법이 외계스럽죠. ^^
VM 의 일관성 유지를 위한 애처로운 몸부림이죠 ㅎㅎ
VM에서 지웠했다면 성능과 호환성에 문제가 되었겠지만 리플렉션까지 가능해서 보다 다양한 응용이 가능했을 듯 해요.
말씀하신 내용에 공감하고, 아시모프님의 링크같이 애매한 부분이 있지만서도, generic 이 주는 편리함 + 안정감은 상당하지 않나요? 심플한 코딩 ( get/put/iteration) 할 때는 참 유용해요.
Template Metaprogramming 같은 컴파일 타임 메타프로그래밍들은 Java와는 어울리지 않는다는 생각이 들어요.
08.12.20 09:37(더 우아한 컴파일 타임 메타프로그래밍 방식은 D나 Haskell—정확히는 그 구현인 GHC—에서 볼 수 있어요.)
08.12.20 09:38홍민희 저도 generic programming의 관점에서는 java의 것이 더 좋다고 생각하고 template 방식의 metaprogramming을 굳이 쓰고 싶지 않지만 어떻게든 (제한적인 것을 알면서도) C++방식으로 쓰려는 사람들이 좀 있어서요. D나 Haskell...ㅎㅎ 꼭 한번 보도록 하겠습니다.
08.12.20 12:04vm에 generic기능이 없고 컴파일러에서만 어떻게 해볼라카니. 뭐 더도 말고 덜도 말고 Safety하게만 하거라에 충실한듯 합니다.
08.12.20 12:28C++도 컴파일 단계에서하지 바이너리에 차이가 생기지 않아.
08.12.20 13:25게다가 제너릭 문법은 필요 이상으로 혼란을 주고 있지요. Java theory and practice: Generics gotchas , c#처럼 vm단계에서 지원하면 깔끔할텐데 말이죠.
08.12.20 22:29답글을 달고보니 다 알고있을만한 내용들이네요-_-;
08.12.20 23:05좋은 글 감사합니다. 잘 볼께요. 정말 문법이 외계스럽죠. ^^
08.12.20 23:22VM 의 일관성 유지를 위한 애처로운 몸부림이죠 ㅎㅎ
08.12.20 23:56VM에서 지웠했다면 성능과 호환성에 문제가 되었겠지만 리플렉션까지 가능해서 보다 다양한 응용이 가능했을 듯 해요.
08.12.21 00:02말씀하신 내용에 공감하고, 아시모프님의 링크같이 애매한 부분이 있지만서도, generic 이 주는 편리함 + 안정감은 상당하지 않나요? 심플한 코딩 ( get/put/iteration) 할 때는 참 유용해요.
08.12.22 13:23