> I believe that the core of the problem with the C language is that is > based upon abstracting the PDP-11 instruction set. CPUs, such as Intel/AMD > x64 are vastly more complex so "optimising" C compilers are trying to make > something simple take advantage of something far more complex. Perhaps we > should call them "complexifying" compilers. > > Generally, model-to-model transformations (which is effectively what > compilers do under the covers) are easier to define when we transform from > a higher level of abstraction to a lower level of abstraction. As folks in > the MBSE field explain it, trying to put a pig together from sausages. > I wonder if the hardware world suffers from some of the same complexity problems the software world does. Is it possible to build much simpler hardware as well or are there real physical properties that force them to be as complex as they are now?