5 ms·
The fundamental ideas underlying the architecture may not be radically different (I mean apart from things like gpu, threading, etc), but certainly our knowledg
by foxes 5y ago
The fundamental ideas underlying the architecture may not be radically different (I mean apart from things like gpu, threading, etc), but certainly our knowledge of programming, and programming languages have changed.
Why is write once run anywhere such a bad idea? Most high end applications are pretty declarative - "this is how the program behaves", and then you run it on a platform that someone else should worry about how it actually manages the state/how the computer does the actual computation with hardware.
Web seems like one answer to this. You can serve macOS, linux, windows, and then someone else worries about implementing the browser on those platforms. Seems like it has come true.
What about unity? You can pretty much just click a button and then you build versions for all the different platforms, there shouldn't be specific code in your unity project.
I feel there's plenty of other examples.
- otterley 5y agoIt's not a bad idea if you don't care about security, performance, native look-and-feel, or battery life. Most users care about these things. They do not care about developer productivity.
- foxes 5y agoI don't see why these are orthogonal objectives. You still have to write efficient declarative code. If I say spawn 10 billion divs as part of the spec then clearly that's an issue. Funny, a lot of developers complain about things like rust and Haskell being too slow to get stuff done in. I agree, the user and those things should be the priority. Developer time should not be the main priority. But I would say the majority of developers do not even optimise for those things (php, c, every language without typing, strict memory models etc).
- otterley 5y agoThese factors only relate to performance. There are still native look and feel, battery life, privacy, and security issues to be addressed.
- bradknowles 5y ago> Why is write once run anywhere such a bad idea? Hint: look up “lowest common denominator”. Because that’s all you’ll get, you follow that model to the conclusion. You won’t be able to write anything or do anything that is not supported on every single platform. You wanna use that nifty new graphics card? Too bad it’s only available on the latest platforms. You wanna use that nifty new machine learning module? Too bad that it can’t run on anything with less than 64GB of RAM and a Tensorflow Engine. And so on. If airplanes could only fly as fast and as high as the slowest and lowest flying airplane, then you wouldn’t get very far. If two wheeled vehicles could only run as fast as the slowest two wheeled vehicle, you wouldn’t get anywhere at any kind of reasonable speed. You create the worst “tragedy of the commons” when you go for that model. And you make everyone else live with your decision.
- foxes 5y agoI feel that is already the situation with software? Plenty of state of the art machine learning is hopelessly out of reach of individuals, you need racks of gpus and trivia knowledge to know how to actually train something (what random parameters after months of searching worked). Plenty of games require better hardware, and people accept this. My m1 MacBook is not going to run the latest game at 4k, 120hz.
- rejhgadellaa 5y agoIt's kind of funny because iOS is currently the “lowest common denominator” - by far - when it comes to the web. And boy does it set the bar. Safari/WebKit is hopelessly behind and suffers from bugs and quirks that makes it very hard to build a decent experience using the web. Browser choice could help raise that bar.