Dylan ™ is a fully buzzword-compliant programming language. It supports:
An advanced object model, including headache-free multiple inheritance
Multiple dispatch, which makes complex object-oriented designs simple (research at Harlequin shows that three quarters of the concepts illustrated in Design Patterns can be implemented more easily in Dylan than in C++ or Java)
A choice between efficient static typing as used in C++ and Eiffel, and convenient dynamic typing, which is commonly associated with scripting and prototyping languages
Convenient goodies to make development easier, including garbage collection, functional access to data members, and runtime safety
High performance (add a type declaration here and there, and speed will match that of a comparable C implementation)
Advanced development tools such as closures, definable language constructs and introspection
Dylan is easy to learn, easy to use, and more powerful than C++ or Java. It tries to balance the best features of traditional compiled languages with advantages of prototyping and scripting languages.
Dylan isn't without some serious shortcomings. It's not widely supported as of the summer of 1998, with only two majors implementations, one of which is still incomplete. Several features of the language could be more elegant, and there's a wickedly intricate set of tradeoffs when implementing shared libraries.