It was well known that C was obsolete in the 90's. It could have been replaced with region inference a la ML Kit, Cyclone, etc. By 2000 computers were fast enough such that 90% of applications could just be written in a memory-safe garbage collected language[1]. Now what about that other 10%? Glad you asked.
What we need now (2010) is a return garbage collected languages with hardware support. Manual memory management is a complete waste of time and is a large source of program defects. Analog computing can be used to implement O(1), deterministic, garbage collection, suitable for even hard real time applications. Imagine a pipe from your water heater to a hot water tap on your kitchen sink. Here's a quick experiment: Have someone go to the water heater in your basement and listen while you turn on the hot water tap. Did you notice it *instantly* turns on?
Now here's one way O(1), deterministic GC can be implemented in hardware. There are millions of tiny water pipes. Each time you have an allocation, a water pipe goes from it to the code using it. If a structure has the pointer to the allocation, a water pipe goes from it to the allocation. When someone (code or a struct) is done using an allocation, it closes its end of the pipe.
All water in the system is in constant flow. When all ends of an allocation's pipe are closed, water overflows from that pipe, and it knows it's time to free it.
Q.E.D.
The CPU will have to be cubic shape to fit this system. Water doesn't have to be used, of course. There are plenty of other industrial chemicals to choose from.
This of course raises several questions, but the system is in development and I'm technically breaking NDA by posting this, but I need you all to be ready for it when it comes. This is the future.
[1]. for people who are new to programming, this may be confusing; lots of simple software that does nothing but display text on the screen is slow; this is due to lack of programmer skill, not the "slowness" of GC