The Artima Developer Community
Sponsored Link

Agile Buzz Forum
16 Rules to Live By

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
16 Rules to Live By Posted: Sep 8, 2006 11:43 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: 16 Rules to Live By
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Travis Griggs - Blog

Advertisement

Reading through James's Blog, I was grateful for his overview of the CosmoCows presentation at ESUG.

What I especially liked is the part at the bottom where Design Principles of Smalltalk, laid out years ago (1981) by Dan Ingalls are quoted. There are three. But wait, I thought there were five.

I don't know where I got the five from, but that's what I remembered. So I went and hunted down the paper and found it here: Design Principles Behind Smalltalk. I am so thankful that Dwight Huges keeps an archive of some of these seminal papers online.

The eye opener for me, was that there are not five, but 16 such "principles" quoted in the paper. They are:

  1. Personal Mastery: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual.
  2. Good Design:Good Design: A system should be built with a minimum set of unchangeable parts; those parts should be as general as possible; and all parts of the system should be held in a uniform framework.
  3. Purpose of Language: To provide a framework for communication.
  4. Scope: The design of a language for using computers must deal with internal models, external media, and the interaction between these in both the human and the computer.
  5. Objects: A computer language should support the concept of "object" and provide a uniform means for referring to the objects in its universe.
  6. Storage Management: To be truly "object-oriented", a computer system must provide automatic storage management.
  7. Messages: Computing should be viewed as an intrinsic capability of objects that can be uniformly invoked by sending messages.
  8. Uniform Metaphor: A language should be designed around a powerful metaphor that can be uniformly applied in all areas.
  9. Modularity: No component in a complex system should depend on the internal details of any other component.
  10. Classification: A language must provide a means for classifying similar objects, and for adding new classes of objects on equal footing with the kernel classes of the system.
  11. Polymorphism: A program should specify only the behavior of objects, not their representation.
  12. Factoring: Each independent component in a system would appear in only one place.
  13. Leverage: When a system is well factored, great leverage is available to users and implementers alike.
  14. Virtual Machine: A virtual machine specification establishes a framework for the application of technology.
  15. Reactive Principle: Every component accessible to the user should be able to present itself in a meaningful way for observation and manipulation.
  16. Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.
If you've never read the paper, or if it's been a while since you read it, you owe it to yourself to check it out (once again). If only more of the world paid attention to themes such as this. I find it amusing/ironic, that even as early as 1981, there was a feeling of "we're not getting anywhere fast!"

Read: 16 Rules to Live By

Topic: Mondrian Previous Topic   Next Topic Topic: Tuesday Evening at ESUG

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use