(The JavaTM platform is an unconditional success story. It is used to develop applications for small mobile devices in large enterprises. This is proof of its thoughtful design and continuous development. However, despite the lack of explicit support for building modular systems that go beyond ordinary object-oriented data encapsulation, Java succeeded.)