Dylan: A New Language Is Blowin' in the Wind
By Bruce Schneier
Cupertino, Calif. - Programmers will be able to use a new computer language called Dylan to build applications on the Newton Personal Digital Assistants. While this language incorporates numerous advances from the world of academia, many developers wonder how well it will perform in the real world.
Dylan is an object-oriented dynamic language - one that makes it possible to modify programs, at the source-code level, on the fly. (In fact, the name Dylan is short for dynamic language.) It retains much of the basic syntax of LISP, the language from which it is derived, but it offers far more power, its developers say.
According to Apple, Dylan will run efficiently on a variety of hardware platforms, including small machines with limited power and memory capacity. And because Dylan is dynamic, it will allow programmers to prototype designs, reuse pieces of code and rapidly build programs out of those code objects.
In the mid-1980s, Cambridge, Mass.-based Coral Software Inc. created a Mac implementation of Common LISP. It was fast, required only small amounts of memory, incorporated object-oriented technology and was thoroughly integrated with the Mac environment.
Apple acquired Coral in 1989, hired most of the staff and rechristened it the Apple Advanced Technology Group East. The group has since been renamed Apple Computer Cambridge Research and Development.
At its inception, ATG East had two missions. It continued development of Coral's LISP, which eventually led to this year's release of Macintosh Common LISP 2.0. It also began wor ing n a new set of design criteria, which led to Dylan.
"We certainly don't invent new languages lightly, but no existing language met our needs," said Ike Nassi, director of research and technology for Apple Computer Cambridge Research and Development. "We wanted a language that provided the benefits of Smalltalk and Common LISP and that would attract static-language programmers."
While its similarity to LISP will make it easier for LISP programmers to learn Dylan, C and Pascal developers weren't impressed with Dylan's LISP heritage. "The syntax is unreadable," said Howard Shere, president of Green Dragon Creations Inc., a Mac software company based in Lake in the Hills, Ill.
Nassi responded: "We are less concerned about the syntax than the underlying structure. There are other syntaxes that we can apply to Dylan." An ALGOL-like syntax and a Smalltalk-like syntax are possibilities, he said.
Developers said they welcome alternate syntax options but wonder about Apple's support for them. "I don't know whether that is something they intend to deliver or something that we are going to have to do ourselves," said Jeff Alger, a Palo Alto, Calif., consultant and co-author of "Developing Object-Oriented Software for the Macintosh."
Key advantages of Dylan include:
Although Apple CEO John Sculley has talked publicly about Dylan, Apple has made it clear that Dylan is not an announced product. Nor has it announced that Dylan will be the Newton language of choice.
"We wanted to announce things that we thought were reasonably polished," Nassi said.
Even so, Dylan represents the kind of programming language needed to develop a single piece of software for different machines with different hardware requirements, as reportedly will be the case with the variety of intelligent devices expected to use Newton technology.
For Mac developers Dylan means mastering a new language, but most contacted said they are excited at the prospect. "We have to keep defining new languages because concepts keep changing," Shere said. "If you're a good programmer, it's just another language to learn.
Schneier.com is a personal website. Opinions expressed are not necessarily those of Co3 Systems, Inc.