5 ms·
By dynamic I think he just means that annotations are a really hacky way to do things. You use annotations in place of java code, and while you can tweak java c
by lmartel 13y ago
By dynamic I think he just means that annotations are a really hacky way to do things. You use annotations in place of java code, and while you can tweak java code you can't tweak what an annotation does or how it does it.
- mbell 13y ago> By dynamic I think he just means that annotations are a really hacky way to do things. Why? > You use annotations in place of java code, and while you can tweak java code you can't tweak what an annotation does or how it does it. Why can't you tweak an annotation? Annotations are built into the language, the entire point of them is to allow code to detect their presence in the bytecode and thus react at runtime. e.g. wrap a method marked as @Transactional in a database transaction.
- lmartel 13y agoYou're right--instead of "can't" I should have said that a lot fewer Java developers are willing to mess with them, vs. changing code. Edit: and they're hacky because they're magical--it's entirely not obvious what they're doing.
- mhixson 13y agoThis is sort of getting off topic, but... I agree that annotations are magical. The good news is that they announce magic is happening. When I see unfamiliar annotations in Java code I know to look at their javadocs. I like that kind of magic much more than magic by convention (e.g. the location of the given file on disk).