I watched the first video got 20 minutes and I have to somewhat interject:
Just because a kernel has x lines of code doesn’t mean that all of those lines are executed and therefore are bloat and are unnecessary. And like this person said most of the growth has been features which are optional.
From the little that I know about code and coding and working in a software company selling their own code as a product the Issue is mostly:
Feature in terms of what should it do -> how that is written in language -> reliance on code-language, frameworks and libraries -> usage of the provided software product -> improvements / regression over time because of further growth of the software product.
That being said: There are a lot of variables in how that manifests and how problematic that ultimately becomes. Modularity and compartmentalization can help to make it easier to maintain the code base of components to not regress over time when the usage and or product design changes.
My critic from the 20 minutes I watched is that the problem is not the line of code itself or the growth nor features but the changing product design in a changing market with a lot of competition and literally too much tools to do the job. But there are parts of the software product that needs to be on point with compliances and such that don’t care about your codebase and programming architecture although there can be some negotiation between the two.
the solution would be something like a custom function modules for software product and agile development process for improvement but even than: you own the product but as soon as the user is deploying it, you are under the control of your own architecture and can only improve as much as the codebase allows it.
and good luck trying to convince any CTO, CEO and CFO of not releasing a new major version but building a new codebase from scratch. that will not happen. additionally: if your code is not deployed on hardware products but as usable webapp or in a GUI form as standalone .exe or something, you can’t jump from any version to the next version without migrating all the user data and UI with it, otherwise you won’t have any customers buying your software and you are out of business.
so this whole issue is in my eyes an actual threat that will bite software companies ass in the next 10 years when for some reason the core counts and / or clocks speeds won’t rise so impressive as in the last 10 years.
until then it’s nothing more than people who cry about that 2019 software doesn’t run on 1990 hardware.
to finish I gotta say that I fundamentally agree with the point that modern software is bloat and the bigger and more monolithic software gets the shittier it is. but to yell about the reverse from 30 years ago is just not a realistic approach. at all.