Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heraclitus Hates State #116

Open
pletcher opened this issue Oct 30, 2014 · 0 comments
Open

Heraclitus Hates State #116

pletcher opened this issue Oct 30, 2014 · 0 comments

Comments

@pletcher
Copy link

I might be a bit late with this proposal -- the talk's still a bit of a WIP, and I'm not sure which event it would best suit -- but I've been thinking pretty constantly about the issues raised below in my work, and I'd love to hear what you all think.


Plato twice refutes the Heraclitean doctrine of flux, which goes something like, “You can’t step twice in the same river,” or put another way, “Everything flows and nothing stays” (Crat. 402a). This doctrine underlies the Flux architecture that Facebook's proposed.

Many see Flux as a refutation of MVC, but I want to complicate this comparison by looking at the dialogue between Flux and MVC alongside the dialogue between Plato and Heraclitus.

The problem with the Heraclitean doctrine, in Plato's view, rests on the consequences it has for knowledge, and we see a similar concern emerge in how the Flux architecture thinks about data’s immutability. State is unfixed, and capital-T Truth lies in what’s available right now — to borrow a phrase from Wittgenstein, “The world is the totality of facts, not of things” (Tractatus 1.1).

We'll ground this discussion of the Flux pattern in three of philosophy’s greatest hits: Plato’s refutations of the Heraclitean doctrine in the Cratylus and the Theaetetus along with the first proposition of Wittgenstein’s Tractatus. By the end of this discussion, we'll all have a more nuanced understanding of the ideas on which Flux is grounded, and practically speaking, we’ll be better equipped to build robust client-facing systems that make sense of seas of data.


Two footnotes: First, I didn't mention React (even though I think it's pretty cool) because I think it muddies the waters when thinking about Flux. Second, I meant "client-facing" fairly broadly, in the sense that I think Flux as a pattern is cutting its teeth in the browser, but it also has merits on the server.

Thanks!

@pletcher pletcher changed the title Heraclitus Hates State, or The State of JavaScript Heraclitus Hates State Oct 30, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant