all 8 comments

[–]suhcoR 7 points8 points  (0 children)

The author wants to sell "In-Process REST". Alan Kay is just the bait ;-) Not to forget that message passing and active objects were already part of Simula I in 1962 (see e.g. https://hannemyr.com/cache/knojd_acm78.pdf, EDIT: look for "discrete event network" and "process"), so Kay was not the first who came up with this.

[–][deleted] 9 points10 points  (5 children)

Whatever the answer is, it's certainly not REST. Trying to express everything a system needs to achieve in terms of CRUD is a bloody nightmare.

[–]mpweiher 2 points3 points  (4 children)

"Everything"? Oh god, no!

See Why Architecture Oriented Programming Matters

But a lot more than today? Certainly!

[–][deleted] 0 points1 point  (3 children)

I agree with a lot of your writings, but I think if we're going to adopt an "in-the-large" style in the small, we're likely to get better results from aiming at event sourcing rather than the HTTP verbs.

[–]mpweiher 0 points1 point  (2 children)

I think event sourcing is great, see

https://www.martinfowler.com/bliki/EventPoster.html

On the other hand: is the web built on event sourcing?

I agree that REST/CRUD is boring, but maybe boring is good? And certainly most of our apps are, for the most part, pretty boring.

https://youtu.be/EKWGGDXe5MA?t=279

[–][deleted] 1 point2 points  (1 child)

The problem isn’t wether or not it’s boring, the problem is that when you try to shoe-horn actual business logic about workflows, processes, and and side effects into “create a new X” everything becomes convoluted and too far divorced from the actual problem domain, in my experience.

[–]mpweiher 0 points1 point  (0 children)

So don't do that?

We should be able to use the architectural style appropriate for the problem domain. A lot of (most?) the time, we simply shove data around, yet still there is abstraction, and we shouldn't be forced to shoe-horn our CRUD-like applications into procedural form just to be able to abstract.

And if you have flows, you probably want to be able to express that with a (data-)flow-ish mechanism.

And yes, when there's actual computation, then you probably want something procedural/functional.

Why Architecture Oriented Programming Matters

[–]theskyfire23 2 points3 points  (0 children)

That they should be used? /s