On 05/22/2015 11:11 PM, amber wrote: > «» > > On 22/05/2015 21:40, Tim Daneliuk wrote: >> https://www.tundraware.com/TechnicalNotes/Python-Is-Middleware/ > Quoting that article > «And no, you couldn't get a C based OS to do what TPF does even if you > did have a couple hundred million dollars to redo it, » > > Why couldn't a C based OS do what TPF does? > > My understanding is that if the programming language is Turing-Complete, > it can do anything that any other Turing-Complete language can do. And > that assembler is a Turing-Complete language. > > jonathon > > > >
C could - in principle - do it. As you point out, both are Turing Complete. But, "in principle" is quite different than "in actual fact". At the time that article was written almost 15 years ago, the TPF systems in use were running applications written in hand optimized assembly language on the largest mainframes money could buy. Everything about that environment was optimized for speed - from partially populating disk surfaces to running the thinnest possible operating system executive. (In those days, TPF itself didn't even have memory protection, or at least, it was just being added as an OS feature.) The point is that it would have been nearly impossible technically to rewrite all that in C and expect the same level of minimal path length/ max throughput. Give the sheer transaction load on those machines, this would have been a showstopper. But that was then and this is now. These days, much of that capability HAS been written in higher level languages because of scale-out architectures and messaging/queuing middleware. Instead of one very fast centralized cluster of mainframes, we see thousands of servers spreading the workload and achieving much the same results. This has it's own challenges. Managing a few things is harder than managing thousands of things. -- ---------------------------------------------------------------------------- Tim Daneliuk tun...@tundraware.com PGP Key: http://www.tundraware.com/PGP/ -- https://mail.python.org/mailman/listinfo/python-list