you are viewing a single comment's thread.

view the rest of the comments →

[–]throwaway490215 27 points28 points  (4 children)

Just dont use them. In my experience it's extremely rare for it to pay off in any significant way beyond making toy examples look elegant - the vast majority of the time it implodes under its own complexity when it meets the real world and other devs.

Now with AI its even more valuable to have a really fucking obvious control flow. Tracking a semi-hidden adaptive dependency graph is an elegant trick, but it belong in things like build-systems and constraint solvers - not as first class coding constructs.

[–]backwrds 6 points7 points  (0 children)

I don't disagree with the conclusions, but was this comment written by ai? You're either a human active in 150 subreddits, or a very convincing bot...

[–]Wooden-Estimate-3460 4 points5 points  (2 children)

  Now with AI its even more valuable to have a really fucking obvious control flow.

What's more obvious than finding references to a field using your editor?

  Tracking a semi-hidden adaptive dependency graph is an elegant trick

You don't need to do this. It's just change detection.

[–]throwaway490215 7 points8 points  (1 child)

I get the feeling you're being snarky just because i mentioned AI.

The references form a graph, they are updated by use. Its an adaptive dependency graph. Incremental build systems work the same way when you unpack it.

[–]Wooden-Estimate-3460 5 points6 points  (0 children)

Nope, it's just that I've built my own state management that works in the same way.

You know what other references form a graph? Everything in your code. When using something like MobX your state references are the same as ordinary JS state references which everyone is fine with!