Not really. Having heterogeneity among operating systems is better than pure homogeneity. Say, if everyone ran Linux, and some massive security flaw was discovered, we would all be screwed at the same time. However, if we ran different stuff, and some massive security hole was found for just one operating system, then only a small portion of the world is vulnerable at once. Besides, more operating systems can lead to more innovation, as long as there is good competition between them.
If the whole world focused and used just 1 OS for every system for a long enough time line, I think it would evolve fast enough to reach a point of perfection, where there are no security holes or flaws of any kind. I do believe that while programming has many ways of doing the same task, there is always an objectively best way to do it. Eventually the best way to do everything an OS needs to do would be found; it would be faster if there was only 1 OS to work with to reach that point.
I do believe that while programming has many ways of doing the same task, there is always an objectively best way to do it.
I’ve been writing code in one form or another for some 30 years now, and my observation so far has been the exact opposite: there are many problems in programming for which there is no one clearly superior solution, even in theory. Just like life in general, programming is full of trade-offs, compromises, and diminishing returns.
where there are no security holes or flaws of any kind
this in itself is straight up impossible to know or prove. when can you say your program has no vulnerabilities? ever hear of zerodays? finding the best way to do everything in software will never be found or stay constant either.
I stepped out of webdev like 5 years ago. Now every time I try to get back into things to work on an open source project or whatever I just give up because I do not understand things.
Everything seems to be based on React which is some kind of magic templating library that does everything? And also dynamically updates thing in response to changes and talks to the server?
I much prefer the days of just using vanilla js to manipulate a DOM and talk to a well defined API.
The thing is, they look like too much for a simple app with near none interactive elements.
But once app starts growing, concepts like reusable components, reactivity and state management become such an important tool.
Imagine tracking shopping cart’s total value. With these frameworks it’s just one store containing total value, exposing the value as reactive state. Once the value changes, all components using directly or indirectly that value update immediately. In vanilla you would have to keep track of every instance where that value is used manually.
Additionally, if you decide keeping total value of cart in frontend is stupid (because it is), you just modify your store to provide only readonly value, and create setters that require you to pass item or item id. Then that setter would hit up backend keeping your cart’s total value, add an item, and backend would return new total, which would now be set as that store’s new total value.
These frameworks are kind of SOLID principles applied to chaotic world of user interfaces.
programmer_humor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.