Alan Turing, the Inventor of Software 371
Roland Piquepaille writes "BusinessWeek celebrates its anniversary with a series of articles about the great thinkers and innovators from the past 75 years. The series stars with a profile of Alan Turing, "Thinking Up Computers." In case you forgot, Turing is the man who created the concept of a "universal machine" which would perform various and diverse actions when given various sets of instructions. In other words, he laid out in the 1920s the foundations of software. You'll find the introduction of Turing's profile, plus more details, photographs and references in this overview."
story is not quite right.. (Score:5, Informative)
Actually the turing machine served as the basis of the first hardware, not software. Its really the theoretical basis for the entire computing model.
I don't mean to be picky, but I have my Automata Theory final in 5 hours and I just spent all night studying for it..
Re:Turing was also... (Score:5, Informative)
Re:Turing didn't do crap. (Score:2, Informative)
Equivalence to a turing machine is used in lots of CS proofs even today.
The turing test is also still considered one of the fundamental challenges of 'weak' Artificial Intelligence.
Universal machine? yes. Software? nope. (Score:5, Informative)
Re:True? (Score:3, Informative)
http://www.woz.org/letters/general/86.html
Re:True? (Score:5, Informative)
http://www.turing.org.uk/turing/scrapbook/wondr
A lot of thought went into the Apple logo and what it signified. The guys over at Apple were very fond of making statements with imagery, design, and color.
Re:Turing was also... (Score:5, Informative)
AFAIK he was robbed by one of his lovers and when he reported it to the police and they found out the relationship between the two they arrested Turing on charges of Lewd and Immoral Acts. This lead to a persecution that destroyed any chance of his working again, and eventually his life.
Hell of a way to treat a man who saved hundreds, maybe thousands of lives by breaking the Enigma cypher.
Who knows how much more advanced our understanding of AI's might be if it wasn't for institutionalised homophobia?
Re:Turing was also... (Score:5, Informative)
Maybe you' dlike to see somthing like this:
BusinessWeek celebrates its anniversary with a series of articles about the great gay and straight thinkers and innovators from the past 75 years. The series stars with a profile of Alan Turing, "Thinking Up Computers." In case you forgot, Turing is the gay man who created the concept of an "universal machine" which would perform various and diverse actions when given various sets of instructions. In other words, he laid out in the 1920s the foundations of software. You'll find the introduction of Turing's profile, plus more details, photographs and references in this overview."
Alan Turing's being gay was certainly an important part of his life. After all, the persectution he suffered contributed to his death. But to have to label him right off the bat everytime his name is uttered is absurd.
In any case, had you read past the title and ad, you'd have come across the FIRST PARAGRAPH which reads:
The rarefied world of early 20th-century mathematics seems light years away from today's PCs and virtual-reality video games. Yet it was a 1936 paper by Cambridge University mathematician Alan M. Turing that laid the foundation for the electronic wonders now crowding into every corner of modern life. In a short and eventful life, Turing also played a vital role in World War II by helping crack Germany's secret codes -- only to be persecuted later for his homosexuality.
Before whining about gay-bias, RTFA.
Re:Turing was also... (Score:5, Informative)
Turing was gay and mistreated by society (Score:5, Informative)
Re:Killing people the only way to "Innovate"? (Score:3, Informative)
This page [codesandciphers.org.uk] has a description of the machine.
Turing didn't invent the machine. The germans did.
Re:story is not quite right.. (Score:5, Informative)
The machine itself just interpreted the symbols on the tape, but key to Turing's insight was that although he intially said that a Turing machine might compute a single function, he realized that that single function could be a Turing machine itself (hence the "universal machine") and so the instructions could come from the tape.
This itself was fundamental because it meant that machines could compute functions of machine and lead to the Halting Problem: i.e. no machine can compute whether another machine will halt.
If you still have time before your final read http://en.wikipedia.org/wiki/Turing_machine#Unive
John.
not (Score:2, Informative)
Nice try, but Ada Lovelace and Charles Babbage are recognised as the inventors of modern computing and programming. I suggest reading a bit about the architecture of the analytical, difference and related "engines" that he designed: they should remarkable similarity to a von neumann / harvard architecture (i.e. central processing units, memory banks, ALUs, etc).
Not to undervalue Alan Turing's contribution though, but he was really breaking more substantial ground in the theory of computability; which really transcends software, hardware, and the trivial implementation details.
Alan Turing actually fits alongside Newton and Eistein and those others who developed great universal insights.
Turing (Score:5, Informative)
It's a bit sickening that already posts on this thread are making gay-bashing remarks about him. The history of how he was discarded by the British Government, believed to be partly at the instigation of the US government, is a sad story of how intolerance helped the British lose their early lead in computing. If he had been born forty years later, he'd probably be running an equivalent of Apple,Oracle, Sun or Microsoft, and no-one would care about what he did in his spare time.
History of computers. (Score:5, Informative)
History of computers [thefreedictionary.com]
The Bombe (Score:5, Informative)
Of course, the real father of programmable computing was Tommy Flowers [c2.com], who seems to have been largely forgotten.
Dunstan
Almost right (Score:4, Informative)
Actually it was the 30's (especially given that he was born in 1913, so even at the end of the 20's he was still a teenager).
But at that same time in the thirties, the German Conrad Zuse wasn't just 'thinking it up' but doing it. Unfortunately, by being in the wrong country at the wrong time, he still is rarely credited.
What Turing Worked For and Against (Score:5, Informative)
Oh, it was death by a thousand cuts while the nation that owed so much to him mostly looked on and let him be humiliated and kept from his work.
Also keep in mind folks, that Turing, while thought of a theoretician, was arguably even more important as an operations guy. He led the effort to confront Churchill with the initial absurdly low levels of funding at Bletchley Park (the British code-breaking center), he played a key role in getting the staffing figured out and codes to the right places, and so on. IIRC, he was not averse to picking up a soldering iron and stepping into the physical work of *building* the computers.
Of course, this isn't even getting into his late in life interest in things like how to use a computer to replicate patterns in nature like the spots on the side of a cow. Work that was leading him decades ahead of anybody else to the concepts we now know as fractals and chaotic phenomena.
We'll never know what we've lost, but at least we're getting better at admitting who people like him were.
But then, when we've still got stuff like A Beautiful Mind not even mentioning that Nash was mostly gay (the real reason he lost his clearance was not for mental illness but because he was found in bed with a young man) we've clearly got a long way to go.
Rustin
Re:Killing people the only way to "Innovate"? (Score:2, Informative)
Biographies and a correction (Score:2, Informative)
Derek Jacobi starred in a 1986 play about Alan Turing and also the excellent 1996 television adaptation. Videos can be purchased.
The site linked by the slashdot article incorrectly identifies a photograph of an Enigma machine. It shows the cryptographic device manufactured by the Germans to encode and decode messages. This is not a device invented by Turing. He had a key role in the development of the programmable computing systems used by the British to crack intercepted German messages.
Turing more than a genius (Score:5, Informative)
Definitely one of the handful of brightest minds of the 20th Century and one of the people most individually responsible for the victory of the Allies after WWII. His subsequent treatment was vile and deplorable, but hey, how is that new in the military? Check out those prisoners... mmm, mmm, mmm... that's some good stuff. Considering the hypocrisy involved in the British Military going after a homosexual for being a security risk, well, I'll just leave off here.
Turing's work on AI was so revolutionary that the entire field pretty much languished for a couple decades after his death until people finally started to pick up where he left off.
Re:Killing people the only way to "Innovate"? (Score:3, Informative)
Turings universal machine was implemented in the Colossus machine (the worlds first general purpose programmable computer). It was dismanteled and the whole thing classified after the war.
After the war the british sold captured Enigma machines to their colonies but kept it secret that they had broken Enigma. Nice touch.
The initial breaks into Enigma was done by the polish before the german invasion and the british work build upon their work.
Enigma/Bletchley Park (Score:2, Informative)
turing archive (Score:5, Informative)
Re:Universal machine? yes. Software? nope. (Score:3, Informative)
"programming" as such. What Turing created was the concept of algorithm execution, which until then nobody had come up with.
Algorithm execution is where the data and the sequence of instructions for manipulating that data are all part of your input. Jacquard's loom was more along the lines of just the data being in his punched cards, while the sequence of events that occurred was built into the loom, and only dependant upon the punched cards for specific info about position and such.
How about Lady Ada Byron ? (Score:2, Informative)
http://www.agnesscott.edu/lriddle/women/love.ht
"When inspired Ada could be very focused and a mathematical taskmaster. Ada suggested to Babbage writing a plan for how the engine might calculate Bernoulli numbers. This plan, is now regarded as the first "computer program.""
Re:progressing from PDA to TM (Score:5, Informative)
What you have understand is that Turing didn't know about push down automata (PDA) when he developed the Turing machine (TM). Turing formulated the TM as a way to show that our formal axiomatic system for mathematics was undecidable (that is, there are statements whose truth values cannot be determined algorithmically). When he designed it, the states of the machine were compared to human states of mind. Finite automata (FA) and PDAs are things that logicians and theoretical computer scientists have developed over the years as simpler models of computation. By teaching about them in an automata theory class, students are more prepared for the concepts of the TM. If I just plopped the general definition of a TM down in front of a person, they'd probably run screaming from the room or at least be horribly confused until examples of simpler devices were presented. (Also, FAs and PDAs have the nice property of recognizing regular and context-free languages, respectively, which allows a discussion of formal languages and their recognition to progress in a natural manner.)
I guess that my point is that the way we are taught mathematics (and that's what the theory of computation is) does not always coincide with the order in which the ideas were developed, no matter how natural the order they are taught in might seem. (For another example, consider that most calculus texts develop differentiation before integration, which is historically backward. The only text that I know of that presents calculus in the historically-correct order is Tom M. Apostol's Calculus. However, in his Mathematical Analysis, he follows the traditional order of differentiation first.)
Re:Ada Lovelace (Score:5, Informative)
Ada added notes to Babbage's design of a calculation machine when she translated all his writing. In her notes, she wrote down mathematical steps for getting from point A to point B through the machine - basically describing the states that the machine would be in as it ran. Her writing is very similar to modern programming languages, but also very similar to algebra. While she was probably the first to write a series of algebraic expressions specifically for use on a mechanical calculation machine, she wasn't the first to write the expressions in specific order.
In the end, she couldn't actually program because Babbage never built his machine. Instead, he started taking Ada to the racetrack. She became addicted to gambling and alchohol and died rather young. That whole part is usually left out of the "Ada was the first programmer" stories.
Re:The Bombe (Score:2, Informative)
Re:Killing people the only way to "Innovate"? (Score:3, Informative)
Alan invented Enigma, a machine to decode encrypted messages from the Germans
The Germans used the Enigma to encrypt messages and it was a polish mathematician, Marian Rejewski,who worked out the first attack on the Enigma cipher.He actually designed a machine to automate the process of figuring out the scrambler setting,which is known as a Bombe.Turing refined and improved these machines but he wasnt ,by any stretch of imagination,the originator of cracking up Enigma.
Re: His homosexuality lead to his death (Score:3, Informative)
My point here is that simply in and of itself anyones sexuality is pretty irrelivant, but the prejudice surrounding homosexuality directly impacted Turing's life. Because fo that failing to mention that he was gay would be similar to failing to mention that Beethoven was deaf. You'll notice that you don't often see articles about Motzart talking about how he was able to hear either. These facts were important to their lives, in a way that, say, Albert Einstein's hetrosexuality wasn't. Streightness is not mentioned much because it is assumed that a person is streight unless its otherwise specified, and due to its wide acceptance hetrosexuality simply doesn't affect a person much. However other sexual specifics are mentioned when its important (JFK's affairs, St. Francis' chastity, etc).
Re:Remember Lady Ada (Score:2, Informative)
The distinctive characteristic of the Analytical Engine, and that which has rendered it possible to endow mechanism with such extensive faculties as bid fair to make this engine the executive right-hand of abstract algebra, is the introduction into it of the principle which Jacquard devised for regulating, by means of punched cards, the most complicated patterns in the fabrication of brocaded stuffs. It is in this that the distinction between the two engines lies. Nothing of the sort exists in the Difference Engine. We may say most aptly that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.
Lovelace on Jacquard [st-and.ac.uk]
Jacquard loom [rochester.edu]
Jacquard loom output [schoolnet.co.uk]
Re:Ada Lovelace (Score:2, Informative)
The Science Museum in London does have some of the punchcards attributed to Babbage and Lovelace, there are more owned by various trusts.
As for Countess Lovelaces short life, well the excess of her parents probally bore just as much blame as Babbage...
Re:Remember Lady Ada (Score:3, Informative)
Originally there were attempts such as primitive recursive functions, but they were shown to not encompass all that is computable because they wouldn't allow you to "program" certain fuctions, e.g. Ackermann's function.
Then came partial recursive functions and the lambda-calculus. Church formulated his thesis: if something is computable it could be "programmed" in either the lambda-calculus programming language or the partial recursive functions programming language. (note I am trying to dumb this down with modern computer terms) Both computational models or programming languages were equivalent, as an interpreter could be written for one, in the other.
Church's student, Turing, wanted to come up with a more humanistic model of effectively computable. He decided to abstractly and formally define a human mathematician calculating something. Humans do this by using some amount of paper, a writing/erasing tool for creating/destroying symbols on the paper, and a finite set of rules for carrying out the calculation. Thus you have a Turing machine.
Turing went on to show that you could write an interpreter/compiler for the lambda-calculus that ran on a Turing machine. This showed that the Turing machine was just as computationally powerful as the lambda-calculus and therefore general recursive functions. The other direction was also shown to hold: Turing machines could be emulated in the lambda-calculus.
Therefore, Turing re-affirmed in a more humanistic terms that his teacher, Church was right: something is computable if and only if it can be programmed in the lambda-calculus.
These kinds of questions: "what is computable"? Are extremely important in computer science and mathematics. You have to know what you are working with, which involves knowing when it starts and where it ends.
Making computers and software is also an important thing, but Turing et al are famous for the metamathematics questions that they answered... not for computer or software engineering.
Re:As I learned it (Score:3, Informative)
That's a lie. Ada was rich, and to keep her paying for Babbage's project, he had to make her feel like she was accomplishing something. He figured out the Bernoulli program himself, explained it to her, and let her write it out.
Then in the 20th century, that lie was reinvigorated by educators wanting to supply girls with technical role-models.
The 3 Pioneers of Computing were ... mad (Score:4, Informative)
Turing developed a model for computers (the Turing machine). He developed the proof of the Halting problem. That is, given a program and a input to that program, you cannot generally determine if the program will terminate execution.
As you're probably already aware, Turing was arrested and imprisoned for homosexuality. After he was released, he undertook a multi-month project to extract cyanide from the pits of apples. After he had sufficient quantities, he drank it and died (aged early 40s).
Kurt Godel was responsible for developing the mathematical proof of undecidability. Given a system with the capabilities of "simple" arithmetic, he showed that there are propositions (i.e. statements) you can make within the system which can be neither proven nor disproven. This is equivalent to Turing's "halting problem".
Godel was paranoid, and believed that people were trying to poison him. He only ate what his wife cooked. When she died, he stopped eating and starved himself to death.
Emil Post was an American mathematician (Columbia Ph.D., i think) who developed a proof of undecidability many years before Godel. In addition, he developed a model for computation which is similar to Turing's machine (it uses a pre-loaded queue to both hold the input string, and to hold the results of intermediate computations). He developed a proof of undeciability based upon his machine model (the "Post Correspondence Problem").
Post was a manic-depressive for most of his life. He lost an arm in an accident as a child. He had a hard time holding jobs after receiving his Ph.D. due to his depression. In the 50's he was treated for depression using Electro-Shock therapy (for interested readers... for a real shock go look up the 1948 or 1949 Nobel prize for Medicine :-). After one of his "treatments", he suffered a heart attack and died.
So, in conclusion, it's rather interesting to reflect upon the fact that the foundations of computer science comes from three individuals who suffered clear psychological problems. (And they wonder why nerds work in the dark :-)
Re:Universal machine? yes. Software? nope. (Score:5, Informative)
While Jacqard certainly has a major place in the history of computers, his looms can not be said to been computers in the sence we use today as they could "solve" only one problem - how to make fabrik.
No, the true inventor, if such a word can be used, of the true programable, mulitpurpose computer is one of Great Britans great geniuses from the early 1800s - Charles Babbage [wikipedia.org]. In 1835 he presented a design for a programable, mechanical computer - the Analytical engine [wikipedia.org]. It was to be powered by steam, and would been 30 meters long (roughtly 100') and 10 meters wide (roughtly 30'). It would use cards simular to those invented by Jacqard for input, while output was via a mecanical printer (rather simular to the printingpresses employed by newspapers), a curveplotter and a bell. Unlike modern, binary machines it would use base 10 in it's calculations.
Ada Lovelace, as someone else pointed out, was the first programmer for the analytical engine. It would have employed a launguage very simular in most respects to modern assembler, including the possibility to branch and loop.
More on his analytcal engine can be found here [fourmilab.ch].
Halting Problem (Score:2, Informative)
i.e. There are many cases wherein one machine can compute whether another machine will halt.
Re:Troy (Score:2, Informative)
"Jared Leto has recently been cast to play the role of Hephaestion, Alexander the Great's best friend and homosexual lover in Oliver Stone's latest movie, "Alexander". The role was originally offered to Brad Pitt but was turned down due to pressure from his wife, Jennifer Aniston. Alexander is to be played by Colin Farrell."
Mmm...
Re:What Turing Worked For and Against (Score:1, Informative)
The inventor of 'Software' does not go to Turing, Von Neumann, Babbage or Lovelace, it is reasonably well known (and taught on good computer science courses) that Al Alkorim Musa (cant remember the spelling) an Arab from the middle ages who formulated the idea of a 'list of stepwise instructions with iteration, condition, and branched control flow' (as a way of describing complex building plans). The subroutine did not appear until hundreds of years later with electronic computers. Hence the word Algorithm.
Also see Algebra.
Re:progressing from PDA to TM (Score:2, Informative)
Not quite. Kurt Godel demonstrated that mathematics (or any sufficiently powerful "formal system") was either complete (all valid statements are decidable) or inconsistent.
Turing demonstrated that -- assuming you want your system to be consistent -- there is no finite, deterministic method for determining whether a given statement in that system is decidable or not.
I.e., not only is mathematics "sullied" by these undecidable statements, but there is no way to neatly characterize them.
This was the last nail in the coffin of the Hilbert Program [stanford.edu]. (David Hilbert was a leading German mathematician of the early 20th century). Hilbert asserted that mathematics can be characterized as "an inventory of provable formulas", without possibility of inconsistency (i.e., it was not possible for 'A' and 'Not A' to be true at the same time). Godel proved that not all formulas are proveable. Turing destroyed any remaining hope by proving that there was no way cordone off the unprovable formulas.
Re:He was not the inventor of software (Score:2, Informative)
She described the Analytical Engine in the following way [6]:
The distinctive characteristic of the Analytical Engine, and that which has rendered it possible to endow mechanism with such extensive faculties as bid fair to make this engine the executive right-hand of abstract algebra, is the introduction into it of the principle which Jacquard devised for regulating, by means of punched cards, the most complicated patterns in the fabrication of brocaded stuffs. It is in this that the distinction between the two engines lies. Nothing of the sort exists in the Difference Engine. We may say most aptly that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.
She also wrote in the Notes [6]:
Again, [the Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine . . .
Ada Lovelace born 1815; Alan Turing born 1912
The sexy chic wins! Too bad that the Ada programming language was named after her - way to formal, I think she would have liked something kool like perl - a love^^^^necklace of perls
What about Kleene, Post, and Church? (Score:3, Informative)