Wikiwand AI

Talk:History of computing hardware/Archive 3

From Wikipedia, the free encyclopedia

Archive 1Archive 2Archive 3Archive 4

Was the Harvard Mark I "Turing Complete"? -- Revisited

We currently label the Mk I as NOT Turing complete - presumably because of a lack of jump instructions. There was some discussion of this on this talk page back in 2008.

It must be noted that:

  • Turing completeness says that a machine is considered to be Turing complete if it can emulate a Turing complete machine.
  • One instruction set computer points out that a machine that implements nothing more than the 'SUBLEQ' instruction is Turing complete.
  • Harvard Mark I says that the Mk I could run from a looped paper tape - so even without a formal jump instruction, it could run the same set of instructions over and over indefinitely.
  • The following program demonstrates that it is possible to emulate a SUBLEQ machine with code inside a single 'while(1)' loop - which the Harvard Mark I could have implemented via paper tape looping:
// Initialization:
typedef unsigned char byte ;
int lut [ 256 ] =
   {
     1, 1, 1, 1, 1, 1, 1, ....  // 128 ones.
     0, 0, 0, 0, 0, 0, 0, ....  // 128 zeroes.
   } ;
byte mem [...whatever...] = { ...whatever... } ;  // The initial state of memory in the SUBLEQ machine
int PC = 0 ; // The SUBLEQ machine's program counter.
// Runtime:
while ( 1 )  // (Implemented via a paper tape loop)
{
  // Read instruction operands from the program counter location.
  int a = mem[PC++] ;
  int b = mem[PC++] ;
  int c = mem[PC++] ;
  // Perform subtraction:
  mem[b] -= mem[a] ;
  // Use lookup table to extract sign of mem[b] so that:
  // c is multiplied by 1 and added to the program counter if mem[b]<=0
  // c is multiplied by 0 and added to the program counter if mem[b]>0.
  PC += lut[mem[b]+128] * c ;
}

Ergo, the Harvard Mark I was indeed Turing Complete. This is rather important IMHO. SteveBaker (talk) 15:26, 3 May 2012 (UTC)

Why is 'Turing completeness' important? It is not synonymous with 'general purpose' - and that certainly would not be claimed for the Harvard Mark I. --TedColes (talk) 15:43, 3 May 2012 (UTC)
It's important because the Church-Turing thesis says that all computers that are turing complete are equivalent (given enough time and memory). If the Mk I is Turing complete - then (with enough time and memory) it could emulate any modern computer - so we'd have to say that it should be considered to be "general purpose". Turing completeness is what truly separates the modern concept of the word "computer" from some mere calculator or sequencer. SteveBaker (talk) 16:52, 3 May 2012 (UTC)
It seems that you are correct. However, we have a problem. Here in Wikipedia, we can't publish original research. What we need is a reliable source that claims this (or the contrary). ---- CharlesGillingham (talk) 20:02, 3 May 2012 (UTC)
I'm painfully aware that this discovery is my own WP:OR - and therefore problematic without reliable sources. However, the entire section History_of_computing_hardware#Early_computer_characteristics has not one single reference - so why should this article have an unreferenced falsehood rather than an unreferenced truth? We do state as a fact that the Mk I is not Turing complete - and that is stated without references. Per WP:V we can only do that if this statement is uncontroversial. Well, following my reasoning, it most certainly is controversial because both you and I agree that it's untrue. Hence until/unless we can find a WP:RS we have three alternatives:
  1. Leave the article as it is - with an unreferenced, controversial (and seemingly false) statement.
  2. Change the article to say that the Mk I is indeed Turing complete - leaving an unreferenced (but evidently true and hopefully uncontroversial) statement.
  3. Remove that table (or at least the "Turing complete" column or the "Mk I" row) on the grounds that it is "is likely to be challenged" and has no WP:RS to back it up (per WP:V).
I don't think (1) is acceptable - so we either need to change the (unreferenced) "No" to an equally unreferenced "Yes" - or nuke the table (per WP:V) on the grounds that it's both un-sourced and controversial. Ideally of course we should find a reliable source - but until we do, the article shouldn't contain an unreferenced statement that we now know to be false.
SteveBaker (talk) 12:46, 7 May 2012 (UTC)
Turing completeness is clearly controversial, so I would favour removing that column form the table. The nuclear option of deleting the whole table seems extreem, particularly as the transcluded form has been removed from a whole host of articles. As regards the lack of references, readers can look to the articles about the individual machines. --TedColes (talk) 17:04, 7 May 2012 (UTC)

I think the Turing completeness column is useful to our readers as a rough guide to how the technology evolved. The controversial entries should have a footnote that says later researchers have attempted to show the machines in question were Turing complete but those capabilities were not envisioned when the machines were developed and used. --agr (talk) 10:39, 9 May 2012 (UTC)

Only if all the entries can be verified from independant sources, and not original research, should this column be retained.--TedColes (talk) 11:38, 9 May 2012 (UTC)
This table only useful as a "rough guide" if it actually contains true facts. Before I edited it, the article said that the Mk I is definitely not Turing complete - which was clearly false. That's not a "useful rough guide" - it's a misleading untruth!
The historical matter of whether the machine's developers were trying to make the machine Turing complete is moot because the Church-Turing thesis wasn't widely accepted or its implications understood until Kleene's paper was published in the early 1950's...six or more years after the Harvard Mk I entered service. Before Church-Turing, it really didn't seem to matter a damn whether a machine was Turing complete or not because nobody knew that Turing-completeness was the key to making a fully general-purpose computer. They couldn't have known how important that is - and therefore were unlikely to build specific features into their machines to ensure that it crossed that threshold. It's not like researchers were pushing steadily towards Turing-completeness - so the column of Yes's and No's doesn't really exhibit a trend in the design of early computers.
Neither I, nor WP:V have any problem with putting unsourced material into the encyclopedia provided that it's not controversial. You don't need to find sources for "The sky is blue", "2+2=4" or "My laptop is Turing complete". But as soon as a statement becomes controversial, you either have to find references for it or remove it. Personally, I'm 100% convinced that the Harvard Mk I was Turing complete - and IMHO our article wasn't just controversial, it was downright wrong. But my argument alone should suffice to convince everyone that the statement that the Mk I is not Turing complete is at the very least controversial. So no matter what, the article can't say that.
The decision then comes down to either:
  • If everyone accepts my argument (above) - then a "Yes" next to the Harvard Mk I isn't controversial - and we can change the article to say that without a reference (although that would still be nice to have)
...OR...
  • One or more people here disagree with (or don't understand) my argument - so the table is controversial whether it says "Yes" or "No". Since it's unreferenced material - it must be deleted in order to resolve the controversy.
SteveBaker (talk) 13:21, 9 May 2012 (UTC)
If we don't know we should just put in a dash, we don't have to say yes or no. I know some people just can't stand uncertainty so will argue forever about grey things like that and personally I'm no fan of the Turning column so I wouldn't miss it. The real point is that people couldn't be bothered with anything like that, Zuse for instance wanted to produce programmable scientific calculators that individual engineers or small groups could use, for that price was a main constraint. Colossus was built to crack codes. Universality just wasn't one of the things the early pioneers were interested in. You compare them against the Manchester Baby which was easily universal but totally impractical and built just to test out some ideas especially the Williams tube memory. Universality doesn't require much as can be seen from the game of Life, I think the Baby can be celebrated as the first computer with a modern structure having a stored program rather than all the configuring of ENIAC which was an automated bunch of electronic tabulators in effect. If anything I'd put down the main innovation in them or what they were for rather than the Turing completeness column. Perhaps change the 'Programming' column to 'Description' and add under the Baby for instance "Testbed for Williams tube memory. First stored program computer." Dmcq (talk) 16:53, 9 May 2012 (UTC)

Flamm citations

To anon 86.177.118.203: I patched in a phrase in the new footnote 1 which I hope matches your intent. Please feel free to alter my patch to your contribution. --Ancheta Wis   (talk | contribs) 03:25, 25 January 2013 (UTC)

In the same light, I propose to use 'accelerated' rather than 'underpinned' in your contribution because the article makes it clear that there were funding sources other than military contract, in both US and Germany. I do not deny that IC-based computers in military systems (1958-1960s) were materially funded by US (& likely USSR) contracts. --Ancheta Wis   (talk | contribs) 04:06, 25 January 2013 (UTC)

Sorry, going to be a pain! With regard to the USSR, I feel the word underpinned to describe government involvement is already an understatement; I feel underpinned is also the appropriate term to use for development elsewhere. Also the sources say that the investment from the private sector pales into insignificance when compared the resources ploughed in from government. Just so it's not my word (all quotes below are from reviews of Flamm's studies): "As Flamm points out, one of the crucial features of the computer was the role played by government and universities in the early stages of research and development when a great deal of 'Knightian' uncertainty (as opposed to risk) deterred private companies from significant commitment. ... [In Japan,] the Ministry of International Trade and Industry was crucial". An "insignificant" commitment from the private sector, according to the sources cited, for early stages of computer development and the computer market. According to Flamm, who, at least in my understanding, is my understanding of what we must accurately represent, governments more than "accelerated" the development and commercial viability—it wouldn't have happened without them. "the U.S. government, especially its military arm, has played a crucial role at critical times in bringing the computer out of the experimental stage to its present strong position in the marketplace". Again: "the government's multifaceted involvement ... [included that of] research sponsor, principal customer, and regulator of computing technology". And again: "government support is crucial because of the financial disincentives for private investors to be involved in long-term Research and Development". So I'm cheering for a slightly more emphatic term than accelerate, at least for early development and the creation of a viable market!
86.177.118.203 (talk) 00:06, 26 January 2013 (UTC)
I appreciate your response, and have reverted my wording. Thank you for your precis of the Flamm works.
Computing, IC engineering, Arpanet, Quantum cryptography, and so forth, would look very different with different/ alternative funding histories. And these topics are germane to the article. -Ancheta Wis   (talk | contribs) 00:47, 26 January 2013 (UTC)

categories


What category (or categories) is appropriate for machines that use integrated circuits, but don't put the entire processor on a single chip? In other words, what category covers what History of computing hardware (1960s–present) calls "Third generation" computers?

In other words, what category goes in the blank of the following?:

--DavidCary (talk) 14:55, 23 August 2013 (UTC)

Perhaps category: minicomputers ? --DavidCary (talk) 14:55, 23 August 2013 (UTC)

The category: minicomputers covers a many of them, but it doesn't cover other multi-chip processors such as the Apollo Guidance Computer, the Cray-1, the first hardware prototype of the Motorola 6800, etc.

Should we start a new category, perhaps category: integrated circuit processors? --DavidCary (talk) 14:55, 23 August 2013 (UTC)

Archimedes' method

Archimedes' method of performing calculations was the use of mechanical balance (think see-saw) of countable items versus the object being measured. This method was used for estimating the number of grains of sand in the universe, etc. (see the the sand reckoner).

Thus Archimedes' method of calculation was very concrete, as befits his status as engineer, inventor, and physicist. For this reason I propose to add his method to history of computing rather than to this article. I am pretty sure there is already a main article about this. --Ancheta Wis   (talk | contribs) 02:19, 30 September 2013 (UTC)

That sounds reasonable to me. Bubba73 You talkin' to me? 02:28, 30 September 2013 (UTC)
Done. --Ancheta Wis   (talk | contribs) 02:40, 30 September 2013 (UTC)

Claim that Zuse is commonly known as the "inventor of computer" is wrong.

The lede previously claimed that Zuse was commonly known as *the* "inventor of the computer" and the only citations given are to discussions in blogs. Published histories of computing have variously proposed that the "inventor of the computer" is Babbage (who designed the first programmable computer), Aiken (for the Harvard Mark1 which was a highly influential electromechanical computer designed and built around the time of Zuse's Z3), Atanasoff (for the first electronic digital computer), Eckert and von Neumann (for the stored program concept), and several other milestones. Zuse's Z3 could certainly could support the claim of his being the creator of the first working electromechanical programmable computer, but this does not imply that he is commonly known as the inventor of the computer. Wikipedia articles should not be used to push non-mainstream views.

For now I have moved this claim down to section on Zuse's computer for now, but I think that either a separate section discussing the complex issue of who was *the* inventor of the computer should be added, or this claim should be removed (in any case, the claim needs reputable citations, not just blogs). 198.255.141.250 (talk) 16:33, 22 December 2013 (UTC)

changes

Hi, the article is rather chaotic and unorganized. It's very difficult for a casual reader to make sense of the important developments and stages. There's is also lots of important information that is missing.Noodleki (talk) 19:19, 7 January 2014 (UTC)

Noodleki, Thank you for responding! Now, using the WP:BRD protocol, I propose reverting myself, and adding inline tags to indicate what ought to be worked out?
To all editors, comments on my proposal? In other words, start with Noodleki's changes, and tag Noodleki's edits with concerns.
  1. For example, I think it is POV to call the earliest known computing devices primitive.
  2. The invention of zero isn't even marked in the article, and zero was momentous, in my opinion.
  3. The recognition that the carry operation was a form of branching...
  4. The upcoming quantum computers are only briefly mentioned, etc., etc.
  5. Software is only tangentially mentioned. ...
  6. Or ... some other proposal ...
  7. Such as agreeing on an outline of the changes? --Ancheta Wis   (talk | contribs) 20:35, 7 January 2014 (UTC)

Hi, I understood from the above that you would revert. I think your suggestions equally apply to the version as it stands, although I think software wouldn't necessarily come under this article's purview. Thanks.Noodleki (talk) 21:20, 8 January 2014 (UTC)

Noodleki, you are welcome to interpolate inline tags, or other comment on the talk page. Regarding your vision of the article, I would be interested in exactly what missing items you are noting. The development of the hardware follows the published history, for example. A retrospective view necessarily distorts what actually happened. If we were to follow Babbage's dream, for example, we would have seen steam-powered computation. But that is not the way computation actually developed. --Ancheta Wis   (talk | contribs) 01:02, 9 January 2014 (UTC)
I'm afraid I don't understand what you mean about inline tags. You said above that you propose to revert yourself, but you don't seem to be doing this. The changes in the article are layout improvement and better organization of material, and more information on key developments such as Babbage and Colossus.Noodleki (talk) 11:31, 9 January 2014 (UTC)
The WP:BRD protocol requires a discussion - the reverter should explain the reasons behind his/her revert, which is something you aren't doing. Your suggestions apply equally to the article as it stands, and I've already explained the basis for my changes. You also agreed earlier to revert it yourself, and I don't understand why you are not doing this.Noodleki (talk) 11:33, 12 January 2014 (UTC)

Noodleki, I am waiting for the other editors to respond. Your changes for Babbage fit nicely in the nineteenth c. and I suggest that you add them to that section. However I do not agree with your characterization of 'chaotic' and suggest to you that there is a logical flow in the article already. It goes a bit far to place as much emphasis on Babbage as your version, as his design required repeatable manufacturing tolerances beyond the capacities of the nineteenth c. It took another century. __Ancheta Wis   (talk | contribs) 12:00, 12 January 2014 (UTC)

I think Babbage is underemphasized. After all, he was the first to describe a proper computer. '1801: punched card technology 1880s: punched card data storage' is a very strange set of sections and there is far too much emphasis on Hollerith, who's invention was a simple calculating device, similar to Pascal's invention. The article also lacks a 'flow' - it's very disjointed and doesn't explain clearly the important stages. The layout could be greatly improved, the intro shortened, the last section removed as there is a dedicated article for it already. There is also little information on analog computers. All these deficiencies were removed with my edit.Noodleki (talk) 15:06, 12 January 2014 (UTC)
Babbage's work is one stage in the history of computing hardware. There is more to computing than Babbage. You are welcome to flesh out Babbage's role, but he is not center stage today. The current article states clearly that the pace of development is unabated. --Ancheta Wis   (talk | contribs) 04:42, 14 January 2014 (UTC)
Here is an example of an inline tag.[discuss] --Ancheta Wis   (talk | contribs) 04:55, 14 January 2014 (UTC)
As an example of the pace of computing hardware development, there are multiple streams of development for qubits which are in progress right now. There is no clear winner for implementation, philosophical explanation, or technological exploitation yet. But large amounts of money are being risked right now, as in the Babbage case. IBM is taking yet another path, to make things even more interesting. __Ancheta Wis   (talk | contribs) 12:57, 14 January 2014 (UTC)
I'm not suggesting Babbage is 'center-stage'. I don't know why you bring up qubits - that could go in the Post-1960 article. Anyway, you still haven't provided an explanation for your revert, and you haven't reversed it, despite saying you would. So, I will provisionally put those changes back in, and you can point out problems that you might have with inline citations. ? . Noodleki (talk) 12:04, 16 January 2014 (UTC)

vacuum tube computers

Is there a Wikipedia article dedicated to vacuum tube computers?

I think there's enough material in this article about vacuum tube computers to create an article (WP:SPINOUT) focused on that category of computers.

Usually when there exists both a Wikipedia category about some topic, and also a Wikipedia "List of" article about that same topic, there is usually an WP:EPONYMOUS article dedicated to exactly that topic.

For example, there is both a list of transistorized computers article and a category: transistorized computers, so I am glad to see there is also a transistor computer article.

I see there is both a list of vacuum tube computers article and a category: vacuum tube computers, so I am surprised that there is apparently no article dedicated to vacuum tube computers.

When I click on vacuum tube computers, hoping to find an article dedicated to them, today I find it is a redirect to vacuum tube, which has much less information (mostly in vacuum tube#Use in electronic computers) about such machines than this "History of computing hardware" article.

Is there an article that more specifically discusses vacuum tube computers that vacuum tube computer and vacuum tube computers should redirect to? --DavidCary (talk) 18:37, 28 May 2015 (UTC)

I think that there definitely should be such an article. The only article I only know of (and find) List of vacuum tube computers, which you already know about. Stored-program computer is also relevant, but doesn't have enough information. Bubba73 You talkin' to me? 02:34, 29 May 2015 (UTC)

Wilbur machine

Ars Magna?

The Ishango bone

Stored-program computer & MESM

Zuse

"History is written by the victors" —Anonymous

"magnetic storage" under "stored program"?

Why no mention of Alonzo Church, who predated Turing?

Amateur computing

Importance of NeXT Computer Mention in Article

reference

Too much women bias

Hardwired?

Related Articles

Timelines

Top Qs

Fact Checks