There are really only two types of computations: calculating stuff about an unchanging thing, and calculating a new version of a thing that is changing over time. Recognizing this simplified debate about functional versus imperative programming.
-
-
This transformation is doable, but the problem is that references inside the original imperative program have to be turned into some sort of representation of the entire path from the top level state object to the thing the reference can be modified.
Show this thread -
Hence I think the sweet spot for large-scale programming is an imperative language with a pure functional subset, not a functional language with imperative plumbing like Haskell monads. Then the beast that needs to be tamed is data races in the shared state concurrency model.
Show this thread -
In an engine, “the thing” is the scene graph. The simulation updates it once per frame based on object interactions. Then perhaps there are several much smaller independent things, like the state of the input system, the network replication system, and so on.
Show this thread
End of conversation
New conversation -
-
-
I think there's a lot of denial about this among functional language advocates, though. Many would claim that you somehow get to a simpler, cleaner program by doing this, and of course it totally doesn't run any slower, and if you don't believe these things, it's because you just
-
don't understand the magic of functional programming. When I think the reality is, look, certain jobs are just about mutating state, and if you pretend they aren't, then you actually just obfuscating the program.
- 5 more replies
New conversation -
-
This Tweet is unavailable.
-
-
South African servers.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Okay this is a little to much for my brain but when will there be duos comp again ??
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
I get it.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
But if you can identify the outline of the "thing", your program is broken from the start anyway, no ? All engineering goes toward having a local identified "thing".
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.