Now we can hardly imagine, there was a period of time, the use of recursion in programming and even the possibility of practicality is under suspicion. However, this phenomenon is true in 1960 about the programming community. Created Algol 60 the Committee even disagree on this issue. Recursive how to enter programming language is a story of intrigue and misunderstanding. When I read Gauthier van den Hove outstanding master's thesis [11], the first time I know the story. This is the [12] Chapter 3 theme. In the late 1950s, we set up a committee, they are committed to design a generic, machine-independent programming language. At the time, such a language is not a superfluous luxury: programming system programmers use provided by the hardware manufacturer, which not even a unified programming system between different models. Fortran language is the first exception, but it is still 378037 010 Original?CBlack-True Red-White Air Jordan 11 Retro Nike Kids Sneakers Factory Outlet dependent on a single manufacturer at the time. Lisp language herald the arrival of this certain thing: a machine-independent and does not depend on the manufacturer. This is Algol want to do, but then there are more official intervention: under the auspices of UNESCO established IFIP (International Federation for Information Processing) funded Algol. McCarthy just received from his Lisp successful projects, he is keen on recursion as an elegant way to let the computer do the things they do best: each repetition code and make the appropriate changes. In fact, in the beginning of the Lisp language is not iterative, so the only way to add a linear list of all elements is to write a recursive definition of functions. As a member of the Algol Committee, McCarthy proposed to allow recursive become a feature of the new language possibilities. The proposal was pushed aside by more pressing problems. The results in the first few months of 1960, when the report finalized, it did not reach a consensus on a recursive problem. There are plenty of reasons to oppose. It is unclear whether it can achieve: the committee of LeBron James Shoes the German school that experimental research such as Lisp interpreter strange for reliable and efficient compiler, it is not an example of inspired people. But members of the Committee Naur and van Wijngaarden endorsed McCarthy's view, they think recursion is too tempting an opportunity not to be missed. Van Nike Air Jordan 5 Women Wijngaarden has encouraged his partner Edsger W. Dijkstra, who is in favor of recursion, who may provide them with new ideas unpublished achieve recursive. Naur is a member of the Committee shall report the final version of Algol. Twenty years later, Naur think of it, as follows [1]: The last major change in the programming language concept is to allow recursive program Nike Basketball activation. This occurs as follows. [...] About February 10, [...] A. van Wijngaarden I received a phone call the person as well as EW Dijkstra. They pointed out that the lack of a definition of important draft report, meaning the program identifier that is appearing in a statement it appears in the left part different from an assignment statement. They also made it clear that the recursive activation make things complicated, because recursion might indirectly activated by the rules of the program and its parameters described prevented. They suggested adding a sentence in Section 5.4.4 to clarify the matter: 'appears in the program any other program identifier represents the activation procedure.' Although this problem taking into account the subsequent risk of trouble, I was fascinated by the bold and simple this proposal and decided to do so. It was found that this problem does exist in trouble. Some members of the Committee have been cheated to approve the final version of the report, the report contains 314996-330 Nike Air Foamposite One Electrolime Electrolime Black Online an easily overlooked contents of a late join, which attempts to solve the dispute in a direction contrary to expectations on members. Committee members FL Bauer increase by recursive language as 'Amsterdam conspiracy' [1, Appendix 5] to show their protest. Dijkstra clear that in an interview in 2001, this is not the Bauer paranoid part [2]: Recursion is a very important step. It was introduced surreptitiously. ALGOL-60 draft report was released in December last week. We studied it and Nike Zoom Kobe realized that the recursive call, although not illustrated, but has been allowed. I phoned Peter Naur- hit Copenhagen is my first international call, I will never forget the excitement! - And gave him a verbal offer suggestions, and he included this proposal in the report. This suggestion is this, 'appears in the program any other program identifier represents activation procedure.' Is basically this. This sentence was secretly inserted. And everyone, including people who do not see this sentence, can be said to have had to agree to this report. That's how it is explicitly included in the recursive process. Air Max 2011 Dark Black Blue But what is the reason Bauer did not realize while Dijkstra achieved a recursive? In fact, 'recursive' What does it mean? A closer look at Naur and Dijkstra of the above description, the results show Naur say 'recursive program activation', which is the concept of a run-time; and Dijkstra said, 'recursive', which can be interpreted as the source of the property. Here are some clarifications 'recursive' meaning attempt. It might be called when executing a program, which allows the presence of activating a previously recorded calls. It may be named by invoking the formal parameters for the program, either directly or indirectly calls itself. Indirectly by calling the unnamed form of program parameters, directly or indirectly calls itself. Naur Ladies Nike Blazers High Tops Leopard Print YellowB think is the first meaning, and Dijkstra thought might be a second meaning. When the Algol Committee of Bauer faction found them to be victims of a conspiracy Nike Air Max of Amsterdam, remove the offending sentence, which seems to be their preferred version of the definition of Algol's a simple thing. Air Jordan Outlet They find that it does not eliminate the recursion. At least according to the first meaning is not recursive. And this is what they want to get rid of, because they want to activate recording static allocation procedure. Algol-60 report published by a number of efforts to redefine language: SMALGOL [3], ECMA subset [4], and Lebron Slide 2 Elite Nike Blazers SUBSET Algol [5]. These people based on their expectations, to jointly prohibit programs that need to dynamically allocate activation records. All three languages are unanimous deleted Algol-60 report in the last sentence of section 5.4.4. They agreed that this is not enough to eliminate recursion, and in this direction they were different attempts. For example, in the Algol-60 report added last section 4.7.5.6: do not call the program itself, in the implementation of any program statement and to the assignment during arguments, by calling the corresponding parameter name may happen. During expression evaluation, which also occurs in a program inside a statement. As far as I know, Algol-60 report does not this sentence. But the portrait is 2015 Nike Free 5.0 defined as a subset of me to provide them with an alternative expression: Do not write recursive procedure. Do not use a recursive procedure. As Dijkstra has been foreseen, they should join: Do not Nike Air Max 2011 Men try any of the parameters of the program do something sneaky. Thus Algol 60 lost one of its major achievements: to implementers and users in terms of a single file. An effective treatment for recurrent terms of the program is to eliminate nested statement and requested that the program for the first time before the call statement. We look at this, for example, in C, it has been described as 'the glory of assembly language' is more important is to be regarded as Bauer faction focus on the efficiency of the model results. Ironically, this efficiency model designer thinks activating the recording or allow calls itself both in the dynamic allocation procedures have no problem. Without modification, in the statement of claim before the call to eliminate the possibility of mutually recursive. Because it will not bring the issue of dynamic activation record, Ritchie relaxed the rules defined prior to use, allow for redundancy declaration procedure head. In pre-declared redundant expense, programmers can define mutually recursive program in C. Of course, we can not blame Bauer faction, because then people do not have experience in this field. Interestingly, in 1960 the existence of knowledge shows that when someone wants Algol procedures mechanisms attractive, avoiding the need for dynamic allocation of how difficult it is. This procedural mechanism since the 1930s and is well known lambda calculus is similar. According to current standards, Algol-60 report is a compact and files. However, compared with the definition of lambda calculus, which some dwarfs. For example, in [6], lambda calculus is defined as 86 lines, distributed in 10 definitions. Obviously, in this compact definition, lambda calculus does not allow recursive function definitions. However, in 1935, lambda calculus expression has been Air Max 2011 Dark Black Blue found to have at least two versions of the Y combinator. And this combination of sub makes recursive function may be defined in lambda calculus. Once someone has a simple and universal mechanism when the function definition, how difficult it is to avoid recursion, lambda calculus is another example. Similarly, we can not blame Bauer faction did not know these things. In fact, until the 1960s, was published as [7] Such books, using recursive Y combinator only become a household name. It is a safe assumption, Amsterdam conspiracy perpetrators do not know. Why they are so sure they are on the right path? We know that on one of the planners of EW Dijkstra, he published a report of the mathematical center of MR34 'machine-independent programming language design' in October 1961. In this report, Dijkstra was taking into account the relevance of proposed general principles of language design, in my opinion, are still relevant today. A safe assumption is that a year ago, he has been convinced that these principles. Universality of these principles so that he could apply the knowledge to achieve Y combinator, and then gain experience effectively implement dynamic allocation activation record. Most cited in a paper, FP Brooks [9] will have a fanatical follower of the programming system or language with a series of silly but though it may be useful, but not fanatical followers of the project for comparison. He pointed out that the former is created by individuals, which is created by the Commission. His implication is that the Commission must design things go to the next boring category. For completeness conceptual, Brooks pointed out the distinction between the standards. Because the Commission generally considered design something must be no conceptual integrity, Brooks will Algol 60 in the latter category. By Dijkstra, I come out from the second point of view in the past, and found it [10, 4]: then the 1960s with an absolute miracle that ALGOL 60, starting together. This is a miracle, because, on the one hand this programming language has been designed out of a committee, but on the other hand it has the advantage is so prominent, in retrospect, it has been considered to be 'one of the most significant successor progress '(CAR Hoare). Miracle is how it happened? For Algol committee has such a variety of members of the Commission, it is striking beyond the ideal state, and then write a concise, complete documentation, and the integrity of the concept is described in a language, the advantage to get Brooks' highly appreciated. How all this possible? The answer is that there is a gestation period, I guess it started automatically calculate an international seminar in October 1955, held in Darmstadt. Several speakers raised the need for a generic, machine-independent algorithm language. The first successor of the Committee started this job. He contacts and find like-minded people in the United States. This is a European / US Joint Committee, who met in Zurich and agreed to such language standards. Their document production in sufficient detail so that the language standard worthy of being called Algol 58. Publish this report aroused the interest of further development of the language. Peter Naur is one of the new members join the Algol Committee. Algol 58 was the need for further development. Many new ideas have been proposed. In some aspects, the Commission advance beyond the existing most advanced ideas and their own understanding. At the same time, the Commission trouble. Although Naur is a new member, he saw the structure needs to discuss ways and created Algol Bulletin. He started in the form of a unified language definition results. He studied in order to define the syntax Backus formalism and its application in the list of the new language syntax overwhelmed. In order to catch up with the final design report handed over in January 1960 conference held in Paris, he promptly ready for it. He did not have time to prepare for politics. Bauer1978年的回忆 [1, p. 41]: