Wisdom from the past in Software Development

There are many classic books about software development that have been published in the last 50 years. Some of these like "The Mythical Man-Month" are almost completly applicable to today; others are a bit more dated. In the older knowledge, like that of Robert Glass, and Capers Jones, there are aspects of eternal truth in their books; for example the Capers Jones idea was that languages had an intrinsic measurable power to them, measured by means of brevity. the shorter the program, the more powerful the language. Elm, Red and several other new languages by this measure are examples of extremely powerful languages. However, Robert Glass points out in his book that 40 to 80% of all cost of software is in maintenance of existing code. And in this area, these very brief languages may not excel. The higher the power level of a language, the more difficult it can be to read, because more is happening under the hood. All evidence shows that the industry selected for highest number of billable hours, which steered them towards COBOL, then Java, its successor language. I think that we in the new language community should acknowledge that inertia is the most powerful force in the universe, and that the mainstream programmers will never adopt an efficient, compact notation to replace Java because it would mean the loss of too many billable hours. It would be like asking lawyers to adopt standardized forms for court cases, and end the practice of making custom documents for routine items. In the legal world, the bulk of costs of a lawsuit are done during discovery phase, and in actuality most cases are settled very near the court date, which means discovery costs were wasted. If lawyers stopped doing this their incomes would plummet.

The next generation powerful, but simple languages, will forever be a relatively small proportion of the usage space. It doesn't mean it isn't worth building these tools; definitely it is worth doing, but let's not be overly optimistic that programmers industry-wide are willing to see their incomes drop. Just as in law, there is a relatively fixed number of disputes happening per year, and there is also a relatively fixed amount of software to be built. It isn't infinite. Once one company builds a great self-driving car software suite, there won't be need for 100 others. Once you have built a bug-free stack for 5G cellular radio, it will last 10 to 20 years. There is a lot of inertia out there, and inferior technologies like object oriented programming, which is one of the greatest boondoggles ever foisted upon the business community has only been admitted as a boondoggle by a minority of programmers such as myself. Now that there is a mainstream alternative to OOP, in the name of Functional programming, finally people can admit OOP is crap. But until they had a replacement they didn't want to get in trouble for continuing to use such a failing technology. 

By failing technology i mean, chronic project overruns, and horribly buggy software. We can, and will, do better.