The Future: Test-Oriented LanguagesJust as many design patterns add multiple classes to a program (such as visitors, decorators, and such) that serve no purpose other than to add extensibility to the program, it is acceptable to develop new patterns to facilitate testing. Indeed, many of the features of object-oriented languages are included to facilitate extensibility; why shouldn't future versions of such languages (or entirely new languages) include features to facilitate testing? In the case of the Java language, this is already beginning to happen. Future versions are scheduled to include much more powerful type systems, assertions, and the like. Just as object-oriented languages have increased the degree to which we can reuse and extend existing code, future, test-oriented designs and features will help to increase the robustness of our code, both old and new. |