Talking generic, there are programming languages who make more or less use of annotations and decorators.Be it to add type information to variables in  a dynamically typed language or to add metadata to methods and classes in a framework context. The purpose of them is always to in some way extend the language in it's abilities or to make it more flexible in a certain way.Now this all seems nice right? Using a dynamically typed language and want to add some type information to your variables? - Just use them decorators. Need to make that class to be managed remotely by an app-server? Tell it by adding an annotation.Those things look like symptoms to me. Symptoms being caused by an underlying design problem. Or am I massively wrong about that?
Are decorators/annotations the result of bad design decisions?
design;language design;annotations