Chapter 1. Introduction

Table of Contents

What is Dylan?
About Gwydion Dylan
Gwydion Dylan Resources

What is Dylan?

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.