|
Home
>
1. intro
>
1.3 how to help newcomers to get the right "mental models?
>
1.3.3 Is Dylan complex?
|
Previous
Next
|
|
|
|
|
|
Stephen Strom
|
When Dylan is called "complex," there doesn't seem to be an appropriate
distinction being made between "complex to implement" and "complex to
use." Dispatching on multiple arguments, for example, seems actually
simpler in concept than a specialized rule like you can only dispatch on one
argument.
Stroustrup has a fairly lengthy discussion of multiple-argument dispatch or
"multi-methods" in his book, _The Design and Evolution of C++_. He
rejected them "with regret," because of difficulty in implementation, not
because of any problems that he felt would arise with use. The recent
adoption of run-time type information, he says later in the book, would make
the implementation of multi-methods more feasible.
|
|
Scott E.
Fahlman
|
Dylan's syntax is more complex than Common Lisp's, but that's because
Dylan's designers thought it would make Dylan easier to learn and more
familiar to programmers who have worked in other programming languages
or who are already comfortable with infix notation for arithmetic.
Dylan's macro system will be more complex than Common Lisp's, but the
goal is to make it easier and safer for average programmers to do simple
things. Lisp macros are very elegant and powerful, but often require very
deep thinking on the part of the programmer to keep all the levels straight
and make everything work reliably.
|
|
|
|
|
|