Guice的创作者之一Kevin Bourrillion,就类型安全主题写了一篇出色的文章。
目前在Java世界中正在发生一场变革,这使Java在某些方面走向了动态语言倡导者可能期望的完全相反的方向。借助泛型和注解等语言创新,我们现在可以用类型安全的方式表达更多内容,并从静态代码分析中获得更多好处。
在JDK5之前的日子,我们通过拥抱XML来处理各种任务,并说服自己这是好事:我们声称使我们的系统更“可配置”。但,当然,我们现在已经意识到XML只是代码 - 或者更准确地说,代码只是文本。我们还意识到,通过使太多事物“可配置”,我们只是使我们的系统更容易被破坏,更难以以有意义的方式改变。我们对“配置”的痴迷使我们的重构工具受到了损害。
现在的挑战是将动态行为与这种新的、类型安全的新表达方式结合起来,证明可以通过静态分析来理解的系统不必过于“静态”;我们不必为了精确性而付出紧密耦合和冗余的代价。