|
ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics. The contributions of ALGOL 68 to the field of computer science have been deep, wide ranging and enduring, although many of these contributions were only publicly identified when they had reappeared in subsequently developed programming languages. ==Overview== ALGOL 68 features include expression-based syntax, user-declared types and structures/tagged-unions, a reference model of variables and reference parameters, string, array and matrix slicing, and also concurrency. ALGOL 68 was designed by IFIP Working Group 2.1. On December 20, 1968, the language was formally adopted by Working Group 2.1 and subsequently approved for publication by the General Assembly of IFIP. ALGOL 68 was defined using a two-level grammar formalism invented by Adriaan van Wijngaarden. Van Wijngaarden grammars use a context-free grammar to generate an infinite set of productions that will recognize a particular ALGOL 68 program; notably, they are able to express the kind of requirements that in many other programming language standards are labelled "semantics" and have to be expressed in ambiguity-prone natural language prose, and then implemented in compilers as ''ad hoc'' code attached to the formal language parser. ALGOL 68 has been criticized, most prominently by some members of its design committee such as C. A. R. Hoare and Edsger Dijkstra, for abandoning the simplicity of ALGOL 60, becoming a vehicle for complex or overly general ideas, and doing little to make the compiler writer's task easy, in contrast to deliberately simple contemporaries (and competitors) such as C, S-algol and Pascal. In 1970, ALGOL 68-R became the first working compiler for ALGOL 68. In the 1973 revision, certain features – such as proceduring, (gommas ) and formal bounds – were omitted.〔(Revised Report on the Algorithmic Language Algol 68 ). jmvdveer.home.xs4all.nl (1968-12-20). Retrieved on 2013-07-21.〕 C.f. The language of the unrevised report.r0 Though European defence agencies (in Britain Royal Signals and Radar Establishment – RSRE) promoted the use of ALGOL 68 for its expected security advantages, the American side of the NATO alliance decided to develop a different project, the Ada programming language, making its use obligatory for US defense contracts. Steve Bourne, who was on the Algol 68 revision committee, took some of its ideas to his Bourne shell (and thereby, to descendant shells such as Bash) and to C (and thereby to descendants such as C++). The complete history of the project can be found in C.H. Lindsey's ''A History of ALGOL 68''.〔 〕 For a full-length treatment of the language, see (Programming Algol 68 Made Easy ) by Dr. Sian Mountbatten, or (Learning Algol 68 Genie ) by Dr. Marcel van der Veer which includes the Revised Report. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ALGOL 68」の詳細全文を読む スポンサード リンク
|