It seems to me that Java was built from the start to be strongly-typed and compilation-centered. This follows in the strong tradition of C++ and C.
In contrast, languages such as Python (over which I am admittedly intruiged, but definitely no expert) are weakly-typed, and scripting-centered. Recently, the Java community has taken steps to move away from those core principles of Java -- in terms of moving away from being compilation centered, we have mechanisms like JSP, whichs seems to be an extremely complex layer on top of classical Java just to achieve that "dynamicness" (can anyone say that the Catalina JSP effort was trivial or obvious)? Now we are groping with limitations in strongly-typed development, coming up with things like the DynaBean. Again, we are introducing layers on top of classical Java in order to achieve development patterns not compatible with Java's original design principles (strong typing). It seems to me that if good patterns in web app design require these language traits, then perhaps the choice of language itself needs to be re-evaluated? Or, on the other hand, perhaps these design patterns need to be re-evaluated (e.g. do we really need a Dynamic Bean?), and instead, come up with new design patterns for web app development which are not only compatible with, but greatly benefit from, the language being strongly-typed. Perhaps I'm over the top here. I'm really just trying to stir up a little discussion. But it seems to me that JSP, and now the DynaBean, represent a whole lot of work to try to hammer a square peg through a round hole. Thoughts and discussion appreciated, Bryan
