REST: everything old is new again?

Dave Winer dave@userland.com
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.

Dave


----- Original Message -----
From: "Jeff Bone" <jbone@jump.net>
To: "Dave Winer" <dave@userland.com>
Cc: <FoRK@xent.com>
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
indicating
> a Code Red attempt, and then produces a number that reflects the hourly
average
> 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
in
> some order.  Or, I could wire together grep, wc --- maybe awk --- and
accomplish
> 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
now
> focused on composition of existing pieces rather than stitching together a
bunch
> of fine-grained interfaces.
>
> But that's apples and oranges, I'll admit.  So let's make the analogy a
bit
> better.  Let's say that I have a libgrep, libwc, libawk --- whatever.  Now
my
> choice is:  stitch together those libraries in a C program, or again
trivially
> 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
it
> and how to wire things up makes a VAST amount of difference in the amount
and
> 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
by
> analogy would disdain using higher-level languages vs. assembly, since
that's
> another example of "just pushing a bunch of sand from one pile to
another."
>
> Moving sand between piles can be important;  you want to make sure that
the
> piles are *appropriately* distributed for what you want to accomplish.
>
> jb
>
>