5 ms·
Charles Babbage had a working computer long before Turin. If he could have implemented it in transistors or even valves rather than mechanical relays how much f
by SeanDav 14y ago
Charles Babbage had a working computer long before Turin. If he could have implemented it in transistors or even valves rather than mechanical relays how much further would we have been today?
The way I see it, you don't need to understand the theory of computation to solve probably any problem that is solvable via computation. Given, it would be potentially far less efficient but not fundamental.
- jlgreco 14y agoWithout the common mathematical language necessary to reason and talk about computation in the general case, and Babbage-linage programmers would have been at a severe disadvantage. The fact that general purpose computers only got a resurgence decades later, well after the period of time that the hardware and resources would have supported the construction of a general purpose computer, demonstrates the necessity of the concept. Could Babbage have created the analytical machine without the theory of computation? Sure. And Hero of Alexandria built a steam engine. Sometimes, the mere ability to create a device is not sufficient. You need the ability to step back and realize the profound nature of what you have just done, and the ability to create a language with which to communicate this realization to the world. Babbage and Ada only managed but a fraction of that, and I do not believe that completing a physical prototype was some sort of last missing piece in the puzzle. If you want someone other than Turing to point the finger at, then Claude Shannon is next in line waaay before Babbage. (also, it is not my understanding that the analytical engine was to be an electromechanical relay machine. do you have a source for that?)
- mich41 14y agoWithout the common mathematical language necessary to reason and talk about computation in the general case, and Babbage-linage programmers would have been at a severe disadvantage. Not sure about that. The Analytical Engine was capable of arithmetics and conditional branching. Code and input data were to be read from punched cards. Such machine was quite practical and if Babbage managed to build it, it would immediately get used for some number crunching - scientists and businesses would love a calculator which can autonomously eat streams of data and perform boring computations on them. Babbage and Lovelace were aware that AE can be used to process numerically encoded non-numeric data, so it would also find uses in text processing. Sooner or later somebody would invent Fortran and COBOL (after all, early compilers were pretty much string rewriters) and we would be headed to land in same place we actually did. Only CS PhDs would waste their time on attempts to algorithmically solve the halting problem instead of "wasting" it on the P=NP debate.
- jlgreco 14y agoThe 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.
- mich41 14y agoCS is much more than the UTM. 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.
- srl 14y agoBabbage's "computer" was not. Turing's innovation wasn't a device that could perform one or two computations - it was the idea of a device that could be /programmed/ to perform any conceivable computation (resource limits not withstanding).
- jlgreco 14y agoThe Analytical Machine, which was never created, was to be programmable. Frankly though Babbage, and even Ada who wrote programs for it, lacked the framework necessary to truly realize and communicate the profound nature of the machine.