Earlier quoted context omitted.
> 2 hours is pushing it for pretty much anything. bf could, lambda calculus as well, or potentially cellular automata. Also implementing IO is still important, as the apps depend on it. What I am saying in my case is that the hardware manufacturer should expose the basic hardware features as functions (so immutable, there is nothing to update here) and you would then be able to implement whatever your app is written…
> bf could, lambda calculus as well, or potentially cellular automata Good luck turning those into silicon with any kind of performance. > Why would strings be slower? These would be part of the static binary. These calls being hint and not necessarily standardized is an important part. Because string comparisons are slow. Non-standardized hints are not a basis upon which software can be built. What you've described…
It doesn't have to be the hardware ISA, nothing would prevent the hardware manufacturer from including a compiler.
> Because string comparisons are slow. Non-standardized hints are not a basis upon which software can be built.
The comparison will only happen once, I do not think that we should argue about 2-3 string comparisons heating our CPUs. And you can definitely build software this way, you just need to work on the way the user map its hardware to the software.
> I can write a library that implements all the APIs needed to run discord on older versions of Android
But the hardware is there, the problem is that the mapping must be done through low level code.
> Your OS can't design a GUI for you, unless you're assuming the OS is also an artificial general intelligence.
I am not speaking about AI, but I do believe that our OSs could help us draw an interface from data. There are many UI creation tool, but they aren't meant to be real-time.
> GUI apps are complex to make because their behavior is complex.
They are complex to write, but very simple to describe (if you accept to give up on some details). I could describe my HN page layout to you way faster using english than html/css. GUI apps are complex because we are trying to map them to weird standards. Good luck implementing a CSS parser.
> You can totally port discord to an arduino! Get it to boot linux, run a web browser and open discordapp.com.
You can theoretically do it yes, in the same way developers could in theory port their apps to every single platform current and future. But in practice it isn't the case, and my calculator app will likely stop working in 5 years because of some weird API change.
> I think the core issue you're trying to address is fragmentation. Unfortunately it's a natural result of people interacting with one another, not something you can fix with good design or software. It ends up leading to a lot of wasted work, but it's also a massive drive to innovate.
I believe otherwise, instead of fighting against new platforms by exposing restrictive standards, I want to embrace the different platforms by allowing developers to write what they app should do instead of how. If your apps want to draw pixels, they should just draw pixel. How the windows must open is completely irrelevant and the OS/user should be able to figure that out.