The Design is the Implementation

By danShumway - 2 days ago

Showing first level comment(s)

I'm working towards a similar system-oriented design but for a web app builder, and I'm starting to believe that this principle is actually one of the key missing features of the normal software development practice. It's closely related to the idea that the data representation of a UI should match the shape of the UI (a list should be represented by an array, a tree by a tree, and so on), but more philosophical and with more far-reaching effects.

The closer I get to following this principle in my designs, the more practical and reusable the implementations become, alongside the major benefit that it's easy to reason intuitively about the behaviours that will arise from their interactions.

When you build software you can go down two routes - you can find the "correct" implementation that matches your design's intent, and not have to deal with many (if any) edge cases and escape hatches. Or, more commonly, you can find a close-but-not-quite-right implementation and spend way too much time coding explicit edge case handling that ends up acting like a translation layer between the theoretical best implementation and your chosen implementation anyway.

beaconstudios - a day ago

Did anyone else catch how time travel work from a player perspective in a multiplayer arena shooter?

Do you suddenly jump back 1 minute because somebody else pressed a button?

Neither the article nor the game website gives any kind of idea about how this game plays or why time travel is even a useful mechanic.

wodenokoto - a day ago

Is this playable yet? The website and this article don't actually have a 'play now' or 'buy it here' link, and it's not clear whether it exists or is still in development.

Cthulhu_ - a day ago