Being able to test UI behaviour is a huge difference maker. (Also even if you do believe that a singleton is ok in this case, it's clearly no different from a global variable).
> as no widget system except beOS' can be used outside the main thread anyways
Which is a problem in itself.
obviously UI tests are being run today so this is not really an issue, right ?
> (Also even if you do believe that a singleton is ok in this case, it's clearly no different from a global variable).
yes, that's global state all the same
> Which is a problem in itself.
maybe, does not prevent writing a lot of very useful apps.
UI tests are notoriously slow, flaky and generally worse than other kinds of tests. They're absolutely a significant pain point in software development today.
> maybe, does not prevent writing a lot of very useful apps.
People write useful code with global state. People wrote useful code with gotos, with no memory safety... that computers are useful does not mean there isn't plenty of room for improvement.