The Artima Developer Community
Sponsored Link

News & Ideas Forum (Closed for new topic posts)
Objects are for People

3 replies on 1 page. Most recent reply: Mar 5, 2002 4:44 PM by Bill Venners

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 3 replies on 1 page
Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Objects are for People Posted: Mar 4, 2002 7:52 PM
Reply to this message Reply
Advertisement
"The point of objects is not to help computers run software, but to help people develop software. Computers are just as happy running assembly language programs as object-oriented programs. But people are more productive (and with luck, happier) writing object-oriented programs. The main aim of advances in software technology, from machine language to assembly to procedural languages to object-oriented languages, has been to help programmers do their jobs. In particular, objects help programmers manage the challenges of software complexity and change," says this guideline from API Design:

http://www.artima.com/apidesign/object.html


Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Re: Objects are for People Posted: Mar 4, 2002 8:14 PM
Reply to this message Reply
This week I think I'll post a link to each of the guidelines that I have written so far in API Design, because I'd like to start getting some feedback on them.

This first guideline kind of captures the thrust of the whole book, which is that good design is mostly about making things easier for people to understand and use and change. It is also about performance, of course, and I am going to try and capture how you balance the various goals of good design. But my main sense is that API design is to a great extent user interface design, where objects are the machines being used and programmers are the users.

So please feel free to post comments in this topic about Guideline 1 of API Design. Eventually I'll have a link on each page of the book to the relevant discussion forum topic. I'll be putting those topics in the Cool Stuff Forum because I want them to show up on the Artima.com home page as I complete each guideline.

Matt Gerrans

Posts: 1153
Nickname: matt
Registered: Feb, 2002

Re: Objects are for People Posted: Mar 5, 2002 2:34 PM
Reply to this message Reply
I think this meshes with my long-time belief that aesthetics in design and code are important too. If something is nice to look at (for example, having aligned curly braces :-), then it is much easier for humans (or even computer programmers) to work with. The computer doesn't care one bit, as long as it compiles, of course.

This same theme works its way up through to API design. If you see an ugly, bulky API (such as the Windows programming API!), you are inclined to dislike it and seek another, even if that one gets the job done. Of course, you often don't have a choice and have to take what you can get. I think over the last few years, API designs in general have been improving. This is probably do to competition in the market. Something that "just works" is no longer enough and that is good to see.

Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Re: Objects are for People Posted: Mar 5, 2002 4:44 PM
Reply to this message Reply
Hey I just got a good comment about guideline 1. I had lunch today with Gary Cornell, who coauthored Core Java and more recently started APress. I handed him a printout of my chapter one, and he glanced at page two and said, "That's wrong!" And it turned out he was right. I say:

Moore's law says that computer hardware doubles in capability and halves in price every 18 months.

To which Gary said, that's a 4 times improvement every 18 months. Actually all Moore said was that the number of transisters per square piece of real estate doubles every year (back in the 60s), and every 18 months (nowadays). He never said anything about price, but basically what I'd heard over the years was that a particular amount of processing power halves in price every 18 months. That's another way to say that for a particular amount of money, I get twice as much processing power now than I got 18 months ago.

So I've dropped "and halves in price" from my source in FrameMaker. Next time a do a build, that will be fixed on the web site.

Flat View: This topic has 3 replies on 1 page
Topic: See Objects as Bundles of Behavior Previous Topic   Next Topic Topic: To Be Effective

Sponsored Links



Google
  Web Artima.com   

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