REST: everything old is new again?

Dave Winer
Mon, 27 Aug 2001 14:33:35 -0700

I am in favor of higher level abstractions.

I do it all the time, that's what being a programmer is about.

I don't think REST is one.

I think that it's at the same level as RPC.

I also think I've seen what happens when you follow it through to its
logical conclusion.


----- Original Message -----
From: "Jeff Bone" <>
To: "Dave Winer" <>
Cc: <>
Sent: Monday, August 27, 2001 2:15 PM
Subject: Re: REST: everything old is new again?

> Dave Winer wrote:
> > They're just pushing a bunch of sand from one pile to another.
> (...he said disdainfully...)
> While this is true on some level, consider this:  let's say I want to
write a
> little program on UNIX that reads my webserver log, finds all entries
> a Code Red attempt, and then produces a number that reflects the hourly
> number of hits.  (Or a series reflecting trailing average, or whatever.)
> I *could* write a C program to do this which makes a bunch of POSIX calls
> some order.  Or, I could wire together grep, wc --- maybe awk --- and
> the same thing, possibly in a single line.  Now, I'm probably making
mostly the
> same POSIX calls down in the implementation of those tools, but my task is
> focused on composition of existing pieces rather than stitching together a
> of fine-grained interfaces.
> But that's apples and oranges, I'll admit.  So let's make the analogy a
> better.  Let's say that I have a libgrep, libwc, libawk --- whatever.  Now
> choice is:  stitch together those libraries in a C program, or again
> wire up a shell pipeline, probably as a throwaway.
> Any way you slice it, it's clear:  there are higher-order and lower-order
> mechanisms for composing and reusing code.  There's a finite amount of
> complexity in the code that makes up any given piece of useful
software --- a
> fixed amount of sand to distribute...  But the choice of how to distribute
> and how to wire things up makes a VAST amount of difference in the amount
> complexity of the work the programmer must do.
> Dave, your argument --- while literally true --- really provides no
guidance at
> all for anybody who wants to reuse somebody else's stuff.  Your argument
> analogy would disdain using higher-level languages vs. assembly, since
> another example of "just pushing a bunch of sand from one pile to
> Moving sand between piles can be important;  you want to make sure that
> piles are *appropriately* distributed for what you want to accomplish.
> jb