The problem is you get more information in the future, but all this boilerplate is has been written before that information so the first instinct / seemingly least-resistance thing to do is to fit the new information into the old boilerplate / hierarchy.
Lots of people have OO scar tissue from getting weird impedance mismatches on newish OO systems designed this way.
Fundementally this is the benefit of Linux. Google provides a nice fortune 500 solution to everything, but you could layer up and delete most of Google's packages.
It has nothing to do with Linux. Google voluntarily provides a simple UI toggle to disable Play Store restrictions on any Android device when they could easily not have one. Tinder wouldn't even try this if the only way to sideload their app was to "layer up" and deal with rooting or flashing or anything that requires technical knowledge of Linux.
The goal is to decouple the model (content) from the view (the apps that render the content).
For example, in the old way of doing things you might use Wordpress to host your corporate blog. But what if you want to put that content into an email too? Or an app page?
In the headless-CMS world, you write the content and store it in the headless-CMS DB. Then any client that wants to render it (your blog site, your webapp, the backend server that's sending email messages, etc) can pull the latest version of a particular piece of content, and render it.
I might not have been clear; it's for nontechnical people to manage data in a database. For example, writers on a blog site.
Edit: The original version of my comment which this poster was replying to, said something along the lines of "a GUI that lets nontechnical people manage a database", which was ambiguous.
No, the goal is to allow people with a different set of skills (content creators) to create content, even though they don't have database or engineering skills.
I'd used systems like this at every game company I've worked for to allow writers, game designers, and translators work on content without having an engineer in their dev loop.
If you don't want products and services from Microsoft, Walmart and McDonald's, all 3 companies who don't seem to advertise much- do you find yourself buying products from big advertisers?
I don't find these companies low quality, so I'm wondering what would make you avoid them.
I'm not sure where you get the impression that these three companies don't advertise much.
In any case, nobody should have to patronize a company if they don't want to, whatever their motivation. The problem with the big tech companies is that one so frequently doesn't have a choice. I may not want to buy from MS, but some bit of hardware I'd like to use only supports Windows drivers and some bit of paperwork I need to fill out is distributed as a Word doc whose formatting doesn't render correctly outside of MS Office.
In all fairness, one can avoid Walmart and McDonalds if one wants to, but Google and Facebook are as hard to avoid as Microsoft.
Not hard until you want to become involved in an organization that happens to use Facebook as their primary platform for broadcasting information. Or maybe you really would like to see photos of your newborn niece or nephew. Depends on your situation.
The baby pictures are an issue. I had to make it clear that if they didn't text or e-mail me the photos, I would miss them. Also that I didn't want to miss them, but I was OK with it. Finally, I asked them to also add them to a Google Photos shared album for the family.
It's worked out well enough. Eliminating Google sounds too painful to me, so I'm glad my family agreed to share their photos on Google's platform for me.
I absolutely find McDs pretty low quality. I'm not saying they're bad, or people that eat there are. I do shop at Walmart and do use Windows at work.
It just depends on my given needs for a given thing. As to Windows, I'd rather be on linux or mac, but there are a couple things I work on that are core to the business absolutely tethered to windows.
McDonalds spends over 1.5B a year in advertising. Thats the most in advertising spend of any restaurant, with Taco Bell in second at a third of McD, and Dominos, Subway, and Burger King at a fifth.
If by "understand" you mean glue together all of the high-level abstractions of each of those domains, each of which have mountains of tutorials / blog posts / StackOveflow answers, then sure.
This is true, and I don't mean to trivialize the work of today's programmer.
However, I suppose somewhat subjectively in reviewing or writing any of this glue or logic layer code using modern web frameworks I've never had the sort of WOW response that I do when I see what the programmers of yore were coming up with.
I think the real reason for this might be that clever hacks using current technology are looked on with disdain, whereas yesterday's hacks are seen as impressive ways of making the most of limited hardware and tooling.
To me, that's a sign of the engineering discipline having matured (as well as average computational needs not keeping pace with computational power). My first job out of college was at Google, and I remember being somewhat disappointed the first time I was told to replace some elegant, dense logic with something more readable. After years of having to read other people's prematurely optimized or unnecessarily compact code in large engineering systems in complex problem domains, I'm more than bought into the idea that readability is one of the primary goals of good code.
This doesn't preclude compromising readability for hacks when you need to squeeze performance out of some logic (just look at Tensorflow code), but you'd expect a maturing computational environment and engineering culture to reduce the number of clever hacks needed or present.
That can be the difference in how the software is deployed. At Google, most things are horizontally scaled and machines are cheaper than engineers. When I worked on Windows, it was the opposite: I was told to refactor clean multithreaded code to reduce the thread count by one. The rationale was that Windows scales vertically and every developer wasting a thread is how Windows gets slower over time.
Talking sedans? Damn, I can't imagine spending that much on... well, any car, really, but certainly not a normal commuter sedan. Or does that include minivans or trucks or SUVs or "crossovers"?
Where does that leave Amazon? I don't buy anything anymore. Digikey and Walmart online are my prime online stores