Time to dredge up Out of the Tar Pit again? It’s t...
# thinking-together
a
Time to dredge up Out of the Tar Pit again? It’s the only thing I’ve ever seen in ~25 years that looks like it might actually simplify real-world apps
I’m trying not to be the greybeard who pours cold water over everything, but… gestures vaguely at decades of failure to create declarative systems
🤣 1
🤨 1
j
So I loved out of the tar pit when I first read it. On revisits, I'm not so sure about the promise. I've worked on a number of different systems that you could call a realization of the kind of functional relational programming talked about in Out of the Tar Pit and it definitely didn't seem to be that much better. The system I worked on most recently was in clojure, with a datalog database for the relational part. Without going into details, the system has not been a success. Trying to achieve our goals, with reasonable performance was hard. The mapping between the inner frp world and the world around us was messy and lossy. I think there are many great insights in that paper. But having lived in the clojure space for a while, (a space I love) I've cooled on the paper a bit.
😭 1
2
a
Thinking about this some more overnight, I think the addition of first-class state machines into the model will really help
j
Hahaha. Yep. We had those too :)
On paper it seems so good. We had lots of really smart talented people building these parts. But honestly, it just wasn't that great. Definitely not orders of magnitude better. Probably quite a bit worse
a
Layering violations are often necessary at scale, and when use cases get complex
a
I think there's potential but it needs a more comprehensive approach by baking the principles into compiler infrastructure and data stores
j
Every PL paradigm is better as a library/module used to code the part(s) of your program that it makes easy than as an ideology or all encompassing model.
a
kalix.io has some grail-like properties
j
@Alex Cruise have you used it? if so, can you say something about it that's more informative than their horrible enterprise marketing website?
a
I’ve been keeping an eye on its predecessors, “cloudstate” and “akka serverless”
👍 1
Making event sourcing relatively easy, while also supporting CRUD, is nice… Having everything be based on protobuf is annoying but IDLs that anyone is willing to actually use aren’t exactly thick on the ground
If you can confine your app’s needs for statefulness to one of those two models, and everything imperative you need to build is stateless, that can be a big win
I wonder how Kalix specifically will handle very heavy load, but the Akka folks have been at it for a long time, and done some very large-scale testing
(not to mention being used in prod in many, may large-scale deployments)
Don’t get me wrong, I think actors generally, and Akka specifically, are amazing, but they’ve very low-level and require significant brain rewiring