hn-classics/_stories/1992/15106802.md

312 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
created_at: '2017-08-26T18:53:05.000Z'
title: 'Dylan: A New Language Is Blowin'' in the Wind (1992)'
url: https://www.schneier.com/essays/archives/1992/09/dylan_a_new_language.html
author: e12e
points: 123
story_text:
comment_text:
num_comments: 101
story_id:
story_title:
story_url:
parent_id:
created_at_i: 1503773585
_tags:
- story
- author_e12e
- story_15106802
objectID: '15106802'
year: 1992
---
[Source](https://www.schneier.com/essays/archives/1992/09/dylan_a_new_language.html "Permalink to Essays: Dylan: A New Language Is Blowin' in the Wind - Schneier on Security")
# Essays: Dylan: A New Language Is Blowin' in the Wind - Schneier on Security
# [Schneier on Security][1]
* [Blog][1]
* [Newsletter][2]
* [Books][3]
* [Essays][4]
* [News][5]
* [Talks][6]
* [Academic][7]
* [About Me][8]
### Search
_Powered by [DuckDuckGo][9]_
blog essays whole site
### Subscribe
![Atom Feed][10] ![Facebook][11] ![Twitter][12] ![Kindle][13] ![E-Mail Newsletter \(Crypto-Gram\)][14]
[Essays][4] >
## Dylan: A New Language Is Blowin' in the Wind
* Bruce Schneier
* MacWEEK
* September 14, 1992
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:
* **Complete object orientation.** Unlike many other object-oriented languages, Dylan is object-oriented throughout its design. The programming environment presents debugging information in terms of objects, it treats Dylan programs as object collections, and it includes tools for inspecting and monitoring the performance of individual objects.
Dylan also supports tools - both pre-existing libraries that all applications use and custom-developed libraries - for organizing objects.
All these features integrate to form what Apple calls an "organic whole," meaning that Dylan objects are mutually supportive: The simplest implementation of each depends on the existence of the others.
* **Dynamism.** To achieve this level of integration, Dylan's designers abandoned standard language techniques.
"Traditional static languages discard most of the information about objects during compilation, so programs cannot be easily modified and debugged," Nassi said. Dylan's dynamic nature retains the object-oriented structure of programs from design to the final application.
With a static language, programmers must write a complete program before they can compile and test it. With a dynamic language, the programming process is more interactive. A Dylan programmer will be able to design and test each object on the fly, as well as add and delete components without having to go through tedious recompile cycles.
"I think that C++ is the Cobol of the '90s. People have hammered at the static-language model for years," Alger said. "A dynamic language opens a new set of possibilities."
Shere said: "I like the ability to dynamically redefine classes and methods. Anything I can do with a conventional language before compile time, I could do with Dylan at execution time."
* **Efficiency.** Programmers normally view dynamic languages as slow memory hogs.
According to Apple, Dylan is neither. "We've designed Dylan so a variety of implementation techniques are possible. We can optimize it for each hardware platform," Nassi said.
Nassi downplayed the rumors that programs written in Dylan would somehow consume less battery power than equivalent programs written in C++.
However, he said, "We can develop implementation strategies that could take into account different power-consumption profiles for different machines." For example, on a machine where battery life is critical, such as a PowerBook, Dylan's memory management could use the disk drive less frequently.
"What we have done is engineered Dylan for a wide variety of computers. We have taken into account the needs of both small and large machines," Nassi said.
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.
Categories: [Non-Security Articles][15]
Tags: [MacWEEK][16]
←[ CDDI Breathes Life into FDDI Standard][17] [Does Telecommuting Work? Bosses, Employees Hammer out Terms →][18]
Photo of Bruce Schneier by Per Ervland.
Schneier on Security is a personal website. Opinions expressed are not necessarily those of [IBM Resilient][19].
### About Bruce Schneier
![Bruce Schneier][20]
I've been writing about security issues on my [blog][1] since 2004, and in my monthly [newsletter][2] since 1998. I write [books][3], [articles][4], and [academic papers][7]. Currently, I'm the Chief Technology Officer of [IBM Resilient][19], a fellow at Harvard's [Berkman Center][21], and a board member of [EFF][22].
### Featured Essays
* [The Value of Encryption][23]
* [Data Is a Toxic Asset, So Why Not Throw It Out?][24]
* [How the NSA Threatens National Security][25]
* [Terrorists May Use Google Earth, But Fear Is No Reason to Ban It][26]
* [In Praise of Security Theater][27]
* [Refuse to be Terrorized][28]
* [The Eternal Value of Privacy][29]
* [Terrorists Don't Do Movie Plots][30]
[more essays][4]
### Essay Archives
* [Archives by Year][31]
* [Restaurant Reviews][32]
#### Essay Categories
* [Featured][33]
* [Airline Travel][34]
* [Business of Security][35]
* [Computer and Information Security][36]
* [Cyberwar and Cyberterrorism][37]
* [Disasters][38]
* [Economics of Security][39]
* [Elections][40]
* [ID Cards][41]
* [Identity Theft][42]
* [Internet and Society][43]
* [Laws and Regulations][44]
* [National Security Policy][45]
* [Non-Security Articles][15]
* [Physical Security][46]
* [Privacy and Surveillance][47]
* [Psychology of Security][48]
* [Social Engineering][49]
* [Terrorism][50]
* [Theory of Security][51]
* [Trust][52]
#### Essay Tags
* [Wired][53]
* [CNN][54]
* [Guardian][55]
* [Information Security][56]
* [IEEE Security & Privacy][57]
* [Atlantic][58]
* [MacWEEK][16]
* [Forbes][59]
* [Communications of the ACM][60]
* [Minneapolis Star Tribune][61]
* [Wall Street Journal][62]
* [InternetWeek][63]
* [Washington Post][64]
* [Computerworld][65]
* [Motherboard][66]
* [Network World][67]
* [Sydney Morning Herald][68]
* [CNET News.com][69]
* [New York Daily News][70]
* [New York Times Room for Debate][71]
* [MIT Technology Review][72]
* [Dark Reading][73]
* [Edge][74]
* [eWeek][75]
* [Lawfare][76]
* [Newsday][77]
* [Salon][78]
* [San Francisco Chronicle][79]
* [Testimony][80]
* [Threatpost][81]
[more tags][82]
### Latest Book
![Data and Goliath][83]
[more books][3]
![Support Bloggers' Rights!][84] ![Defend Privacy--Support Epic][85]
![Resilient Systems][86]
* [Blog][1]
* [Newsletter][2]
* [Books][3]
* [Essays][4]
* [News][5]
* [Talks][6]
* [Academic][7]
* [About Me][8]
[1]: https://www.schneier.com/
[2]: https://www.schneier.com/crypto-gram/
[3]: https://www.schneier.com/books/
[4]: https://www.schneier.com/essays/
[5]: https://www.schneier.com/news/
[6]: https://www.schneier.com/talks/
[7]: https://www.schneier.com/academic/
[8]: https://www.schneier.com/blog/about/
[9]: https://duckduckgo.com/
[10]: https://www.schneier.com/images/rss-32px.png
[11]: https://www.schneier.com/images/facebook-32px.png
[12]: https://www.schneier.com/images/twitter-32px.png
[13]: https://www.schneier.com/images/kindle-32px.png
[14]: https://www.schneier.com/images/email-32px.png
[15]: https://www.schneier.com/essays/nonsecurity/
[16]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=MacWEEK&__mode=tag&IncludeBlogs=5&limit=10&page=1
[17]: https://www.schneier.com/essays/archives/1992/09/cddi_breathes_life_i.html
[18]: https://www.schneier.com/essays/archives/1992/10/does_telecommuting_w.html
[19]: https://www.resilientsystems.com/
[20]: https://www.schneier.com/images/bruce-blog3.jpg
[21]: http://berkman.harvard.edu/
[22]: https://www.eff.org/
[23]: https://www.schneier.com/essays/archives/2016/04/the_value_of_encrypt.html
[24]: https://www.schneier.com/essays/archives/2016/03/data_is_a_toxic_asse.html
[25]: https://www.schneier.com/essays/archives/2014/01/how_the_nsa_threaten.html
[26]: https://www.schneier.com/essays/archives/2009/01/terrorists_may_use_g.html
[27]: https://www.schneier.com/essays/archives/2007/01/in_praise_of_securit.html
[28]: https://www.schneier.com/essays/archives/2006/08/refuse_to_be_terrori.html
[29]: https://www.schneier.com/essays/archives/2006/05/the_eternal_value_of.html
[30]: https://www.schneier.com/essays/archives/2005/09/terrorists_dont_do_m.html
[31]: https://www.schneier.com/essays/calendar.html
[32]: https://www.schneier.com/restaurant/
[33]: https://www.schneier.com/essays/featured/
[34]: https://www.schneier.com/essays/airline/
[35]: https://www.schneier.com/essays/business/
[36]: https://www.schneier.com/essays/infosec/
[37]: https://www.schneier.com/essays/cyberwar/
[38]: https://www.schneier.com/essays/disasters/
[39]: https://www.schneier.com/essays/economics/
[40]: https://www.schneier.com/essays/elections/
[41]: https://www.schneier.com/essays/idcards/
[42]: https://www.schneier.com/essays/idtheft/
[43]: https://www.schneier.com/essays/society/
[44]: https://www.schneier.com/essays/laws/
[45]: https://www.schneier.com/essays/national/
[46]: https://www.schneier.com/essays/physical/
[47]: https://www.schneier.com/essays/privacy/
[48]: https://www.schneier.com/essays/psychology/
[49]: https://www.schneier.com/essays/social/
[50]: https://www.schneier.com/essays/terrorism/
[51]: https://www.schneier.com/essays/theory/
[52]: https://www.schneier.com/essays/trust/
[53]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Wired&__mode=tag&IncludeBlogs=5&limit=10&page=1
[54]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=CNN&__mode=tag&IncludeBlogs=5&limit=10&page=1
[55]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Guardian&__mode=tag&IncludeBlogs=5&limit=10&page=1
[56]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Information%20Security&__mode=tag&IncludeBlogs=5&limit=10&page=1
[57]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=IEEE%20Security%20%26%20Privacy&__mode=tag&IncludeBlogs=5&limit=10&page=1
[58]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Atlantic&__mode=tag&IncludeBlogs=5&limit=10&page=1
[59]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Forbes&__mode=tag&IncludeBlogs=5&limit=10&page=1
[60]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Communications%20of%20the%20ACM&__mode=tag&IncludeBlogs=5&limit=10&page=1
[61]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Minneapolis%20Star%20Tribune&__mode=tag&IncludeBlogs=5&limit=10&page=1
[62]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Wall%20Street%20Journal&__mode=tag&IncludeBlogs=5&limit=10&page=1
[63]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=InternetWeek&__mode=tag&IncludeBlogs=5&limit=10&page=1
[64]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Washington%20Post&__mode=tag&IncludeBlogs=5&limit=10&page=1
[65]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Computerworld&__mode=tag&IncludeBlogs=5&limit=10&page=1
[66]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Motherboard&__mode=tag&IncludeBlogs=5&limit=10&page=1
[67]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Network%20World&__mode=tag&IncludeBlogs=5&limit=10&page=1
[68]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Sydney%20Morning%20Herald&__mode=tag&IncludeBlogs=5&limit=10&page=1
[69]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=CNET%20News.com&__mode=tag&IncludeBlogs=5&limit=10&page=1
[70]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=New%20York%20Daily%20News&__mode=tag&IncludeBlogs=5&limit=10&page=1
[71]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=New%20York%20Times%20Room%20for%20Debate&__mode=tag&IncludeBlogs=5&limit=10&page=1
[72]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=MIT%20Technology%20Review&__mode=tag&IncludeBlogs=5&limit=10&page=1
[73]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Dark%20Reading&__mode=tag&IncludeBlogs=5&limit=10&page=1
[74]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Edge&__mode=tag&IncludeBlogs=5&limit=10&page=1
[75]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=eWeek&__mode=tag&IncludeBlogs=5&limit=10&page=1
[76]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Lawfare&__mode=tag&IncludeBlogs=5&limit=10&page=1
[77]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Newsday&__mode=tag&IncludeBlogs=5&limit=10&page=1
[78]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Salon&__mode=tag&IncludeBlogs=5&limit=10&page=1
[79]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=San%20Francisco%20Chronicle&__mode=tag&IncludeBlogs=5&limit=10&page=1
[80]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Testimony&__mode=tag&IncludeBlogs=5&limit=10&page=1
[81]: https://www.schneier.com/cgi-bin/mt/mt-search.cgi?search=Threatpost&__mode=tag&IncludeBlogs=5&limit=10&page=1
[82]: https://www.schneier.com/essays/tags.html
[83]: https://www.schneier.com/images/book-dg-175w.jpg
[84]: https://www.schneier.com/images/eff-150x40.gif
[85]: https://www.schneier.com/images/epic-150w.png
[86]: https://www.schneier.com/images/resilient-logo3-175w.png