← Back to context

Comment by seanalltogether

14 hours ago

> "A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in."

This is a quote from John Carmack and should sit over every developers monitor. At the same time, OS designers should be doing everything in their power to reduce the number of states a developer has to think about.

Like one of the things I hate about frontend development - and admire people who do this professionally - is the stupid and arbitrary rules browsers impose on you.

'You may only play audio if such and such conditions are met. However these are different based on browser and platform. Good luck making a solution fitting all these.'

'The browser might lie about what's the available screen estate is, but only sometimes'

'There is a perfect API for what you wanna do, however it's not in Safari'

And a testament on how obscure and arcane knowledge is on doing things right is that I thought there would be some npm packages that do these things for me, but no - you have to hunt around for solutions and fix things yourself.

And LLMs are completely useless and confidently wrong mostly about everything involving this.

  • Yep fundamentally different from back end because you don't control the client.

    In theory the client can do literally anything (for example, someone could be using an ancient version or have some features voluntarily disabled) and you have to decide which things you're going to handle