I was a little surprised when I started using Lift how heavily it uses reflection (or appears to), it was a little unexpected in a statically-typed functional language. My experience with JSP was similar.
I'm pretty new to web development, so I don't really know how these tools work, but I'm wondering,
What aspects of web development encourage using reflection?
Are there any tools (in statically typed languages) that handle (1) referring to code from a template page (2) object-relational mapping, in a way that does not use reflection?
bar: NodeSeq => NodeSeq
in objectFoo
. How could it find that method if not for reflection? (also, ifbar
doesn't exist this is not found until the page is loaded, so even if it's not reflection it is not static). – Lutes