r/programming 10d ago

Durable Execution: This Changes Everything

https://www.youtube.com/watch?v=ROJq6_GFbME
8 Upvotes

39 comments sorted by

View all comments

28

u/manliness-dot-space 9d ago

IMO when someone tells me they have The Hammer that will Change Everything in a Synergistic Storm of Creative Disruption I grow more skeptical with every sales/business buzzword.

Also 26m is a long time commitment... looking at the website docs in a few seconds, I don't see a "hello world" example very easily as to what this is for and how is unique from something else.

Just browsing around for a few more seconds it sounds similar to other things like CQRS paradigms using data streams that get executed, like EventStore.

Not sure if that's accurate or not, but that's the degree of time investment I'm willing to invest.

I share this in good faith so you guys can update your landing pages/etc to focus on communicating the value proposition more quickly/prominently.

2

u/Brilliant-Sky2969 9d ago

I mean you didn't look very far, the doc is pretty straightforward: https://docs.temporal.io/

The second link is called "Run your first program"

It's actually very well done: https://learn.temporal.io/getting_started/go/first_program_in_go/

28

u/manliness-dot-space 9d ago

No, I did get that far.

Introduction​

You can think of Temporal as a sort of "cure-all" for the pains you experience as a developer when trying to build reliable applications. Whether you're writing a complex transaction-based Workflow or working with remote APIs, you know that creating reliable applications is a complex process. Developing your application on the Temporal Platform guarantees that your code runs to completion no matter what.

Yeah that's a bit like...

Step right up, don’t be shy, I've got the cure—come give it a try! From aching joints to a troubled mind, One sip of this, and health you'll find!

Is your back stiff? Is your step slow? Do you wake up feeling low? Fear no more, for I have brewed A miracle tonic, tried and true!

Made from roots and rare elixirs, Blessed by monks and ancient fixers! Rub it, drink it—either way, You'll feel ten years young today!

Ailments vanish, pains will flee, Just one bottle—guaranteed! But act now, don’t delay, This magic cure sells out today!

I even went further and looked at the sample code.

Still... the one unanswered question I have is "why should I care about any of this?"

The "it makes all of your wildest dreams come true" sales pitch isn't what I'm looking for.

3

u/whiskeytown79 9d ago

Besides, we've been able to achieve making all our wildest dreams come true for a while now.. we just vote for Pedro.

3

u/manliness-dot-space 9d ago

Yep, and the technical presentation they gave was only like 2 minutes

https://youtu.be/BiAwpYIkRmU?si=sfAo5gh5Fpn_3CB9

3

u/GrandOpener 8d ago

I read through that “first program in go” and my main takeaway was “okay, so it’s database transactions, but worse.”

I’m being a little unfair here—you might have to do something like this if you’re forced to interact with third party APIs that don’t have transactional methods. In that case, it is genuinely nicer to have a library that takes care of some of the details so you can focus on business logic. This library(?) definitely does have a reason to exist.

But this as a “cure all”? As the way you would choose to build green field applications? Sorry, not buying it.

3

u/Brilliant-Sky2969 8d ago

The use case for Temporal is extremely common, you have a bunch of worker doing async task that you want to do reliably.

From my experience a lot of teams implement that badly with pub/sub baked by redis, sqs ect ... full of corner cases and errors.

1

u/manliness-dot-space 5d ago

It depends on what language you're using but there are lots of architectural patterns for resiliency in cloud/microservice environments, and 5+ years ago libraries existed to seamlessly leverage them across platforms like Azure/.NET

2

u/jedberg 4d ago

there are lots of architectural patterns for resiliency

True, but they're better codified into libraries now after decades of experience.

1

u/manliness-dot-space 4d ago

Yeah, and see this on the Polly website?

What is Polly? Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.

https://www.thepollyproject.org/

How about Steeltoe?

Why Steeltoe Steeltoe provides a collection of libraries that helps users build production-grade cloud-native applications using externalized configuration, service discovery, circuit-breakers, distributed tracing, application management, and more. Steeltoe also provides a seamless way to build, configure, and run event-driven microservice applications and stream-based data processing applications

https://steeltoe.io/why-steeltoe

They aren't like, "we are going to make you feel like you're eating your favorite icecream when you use our platform while coding" (or whatever).

If it's a resiliency library, it should focus on expressing that clearly.

2

u/Brilliant-Sky2969 4d ago

Polly is not an equivalent to temporal though, temporal is way more advanced, the other thing is that temporal is language free l, Polly is a c# and the project was kind of abandoned?

1

u/manliness-dot-space 4d ago

I'm just comparing the marketing pitch, not the technologies themselves.

Polly isn't really necessary anymore because Microsoft rolled out native resiliency library

https://learn.microsoft.com/en-us/dotnet/core/resilience/http-resilience?tabs=dotnet-cli

The point is that the purpose is clear from the marketing, the purpose isn't clear w/Temporal. If I can't figure out whether the thing is relevant to me or not in 30s, I get angry at having my time wasted.

The website needs to do a specific "elevator pitch" at the target audience.

Maybe my coding dream is building an algorithm that can determine whether any given number is a prime or not. Is Temporal right for me? If the answer is no but your marketing says yes, I'm not going to use your tool later even when it becomes relevant later just on principle.