Hey Shacknews, it's time for Evening Reading. Sorry for the delay in getting the post out the door tonight. Please understand. Let's finally close out our day of posting. Please take a look.
Dev Thoughts with Tim Sweeney
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.— Tim Sweeney (@TimSweeneyEpic) November 16, 2019
Epic Games CEO TIm Sweeney posted some interesting thoughts on programming in a tweet thread. Check out the transcription here:
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.
If you have an imperative program and can’t identify “the thing”, then the thing is the entire state of your program. To translate that to a functional program, you’d need to plumb the thing into and out of every function in your program.
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.
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.
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.
An improved version of ZeRo's Smash Cypher verse
LOL! Here's the original Smash Cypher from 2018, in case you missed it.
I hope they have a new one coming soon!
Destroying Nazi paraphenalia seems like a fun thing to do
Super satisfying...— Chelah Horsdal (@chelahhorsdal) November 16, 2019
Reminder that High Castle proudly destroyed all the swastikas that were produced for the show. pic.twitter.com/ecW445OWhB
This must be one of the perks of working on Man in the High Castle.
Undeniable evidence that Thomas the Tank Engine mixes with literally every rap song
(EXPLICIT LYRICS NOT SAFE FOR WORK)
I rest my case, Shacknews.
In case you missed it at Shacknews:
- World on Fire: The Oral History of Fallout and Fallout 2
- Half-Life: Alyx VR game is Valve's return to the series
- Star Wars Jedi: Fallen Order review - Between light and dark
- Tetris Effect Original Soundtrack finally receives digital and vinyl release
- Pokemon modder is adding cut monsters into Sword & Shield
There you have it, Shacknews. Your Evening Reading for November 18, 2019. Please consider subscribing to Shacknews Mercury to support our site for as little as $1/month. Here is a photo of Lola to brighten your night.
What are you up to tonight? Let us know in the Shacknews Chatty comment thread below.