|
|
|
|
|
by jlgreco
4838 days ago
|
|
The machine would have been capable (it would have been Turing complete after all) and they had some ideas of what it could be used for, but I think you are forgetting that you are standing on the shoulders of giants. Those hypothetical programmers would have lacked any common mathematical language with which to talk about computation and thus, lacked an abstract model of computation entirely. They would have been able to program particular machines to some degree but, unless someone was spurred on to replicate the work that Church/Turing/etc decades earlier (in fact, their work would undoubtedly be pre-performed out of necessity), they would lack a solid abstract model of what computation is and what is necessary for it. Until that theoretical work would be done, all of those programmers would just be taking wild stabs in the dark with ad hoc methods and superstition spawning intuition. Engineers without Newtonian physics, no common language beyond punchcards and common english. They could build great bridges sure, but lacking any semblance of a formal notion of computation they would be crippled compared to what they could be. They would be at a distinct disadvantage. Hell, half the reason they couldn't build the thing is because they lacked the theoretical background that would have put it within their grasp. With no switching theory, without the insight of Shannon, the machine was to be an unwieldy system of gears. It is hard for the modern mind to fully internalize just how much framework they were lacking. The extent to which the standard HN "formal CS educations are worthless" battle cry is true is only the extent to which we benefit from those who came before us. |
|
UTM is a dumb and completely impractical model of computation. Thanks to its simplicity it is a handy tool in (un)decidability proofs and some very general computational complexity reasonings.
And that's all. Numeric computations happened on real machines. Graph processing happened on real machines. Text processing happened on real machines. Structured programming, procedures, programming languages, compilers - all happened on real computers.
Using (or even thinking about using) the UTM for any practical application would be a huge PITA and nobody ever does it. We only know that it's "possible" and hence if we want to prove something general about all possible computation, it suffices to do some magic with the UTM.