Our experience of using Java is disappointing: as a programming language (irrespective of its implementations and libraries), Java itself leaves much to be desired, This paper discusses a few serious problems with Java's design, which leads us to suggest that the language definition should have been an integral part of the design process rather than, as appears, a retrospective commentary. Copyright (C) 1999 John Whey & Sons, Ltd.