NELIAC

NELIAC

The Navy Electronics Laboratory International ALGOL Compiler or NELIAC is a dialect and compiler implementation of the ALGOL 58 programming language developed by the Naval Electronics Laboratory in 1958.

It was designed for numeric and logical computations and was the first language to provide a bootstrap implementation.

Contents

Origin

NELIAC was the brainchild of Harry Huskey — then Chairman of the ACM and a well known computer scientist, and supported by Maury Halstead, the head of the computational center at NEL. The earliest version was implemented on the prototype USQ-17 computer (called the Countess) at the laboratory. It was the world's first self-compiling compiler. This means that the compiler was first coded in simplified form in assembly language "the bootstrap", and then re-written in its own language, compiled by this "bootstrap" compiler, and re-compiled by itself, making the "bootstrap" obsolete.

It is called a variant of ALGOL 58 because of similarities to that language, but, shortly after the ALGOL committee produced other versions of ALGOL, and NELIAC and ALGOL parted ways.

Use

The compiler was used on the Countess to produce a version for the CDC 1604, and later self-compiled on that machine. Many other versions were produced for commercial computer products like the UNIVAC 1107, UNIVAC 490 and UNIVAC 418 including versions for IBM 704 and 709. The production version of NELIAC was a second generation system (for the USQ-20, a modernized and militarized version of the USQ-17), compiled by the first version, but including full decoding of algorithmic expressions and, later, an input-output system missing on all other versions.

The decompiler was a curiosity. The first version ran on the Countess, but it was later ported to the CDC 1604 and to other computers and received some notice in University circles. But, it turned out that there were few programs worthy of decompilation available at the time.

NELIAC was never intended to be a commercial product. Its primary advantage over other compilers of the day was its portability to other computers and its one-pass architecture which made possible such rapid compile times that it compiled 60 to 120 times faster than other high level languages. The JOVIAL compiler had 14 passes, for example. The simplicity of the language and its extremely fast compile times permitted much faster development cycles than other contemporaneous compilers. It was an in-house NEL effort to make possible a more cost-effective solution to the problem of computer system development.

NELIAC was used to implement an experimental anti-submarine shipboard system, and was also used for the development of the National Emergency Command Post Afloat (NECPA) project which developed a strategic command and control system installed on aircraft carriers and cruisers. Perhaps the most successful NELIAC application was control of the U.S. Navy automated High Frequency Direction Finding network (Classic Bullseye) which went into production in 1968 and lasted until the early 1990s.

In addition, NEL developed NELOS, a batch operating system which provided input-output for magnetic tapes, printers, and telecom equipment, provided sequenced compiling of jobs, and a symbol library permitting linking of very large computer applications and executing them on-line. These included suites of information management programs, including databases, free form queries with a precursor of IBM's GIS, and reporting applications. NECPA and NELOS went to sea in 1966.

NELIAC's end

But, NELIAC programs were not so portable because the language permitted manipulation of binary characters which were dependent on word lengths. In addition the NELIAC language had no input-output schemes. These were the "Achilles heels" of NELIAC.

Many other well-known computer experts like Niklaus Wirth made contributions to the project, but ultimately NELIAC fell out of favor after the Navy Department standardized on compilers with commercial support.

See also

References

  • "Neliac - A Dialect of Algol", H.D. Huskey et al., CACM 3(8):463-468 (Aug 1960).
  • "Machine Independent Computer Programming" Maurice Halstead

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • NELIAC — Navy Electronics Laboratory International Algebraic/ALGOL Compiler …   Acronyms

  • NELIAC — Navy Electronics Laboratory International Algebraic/ALGOL Compiler …   Acronyms von A bis Z

  • Naval Electronics Laboratory — The U.S. Navy Electronics Laboratory ( NEL ) was created in 1945, with the consolidation of the Navy Radio and Sound Lab and its wartime partner, the University of California Division of War Research. NEL’s charter was “ to effectuate the… …   Wikipedia

  • Navy Electronics Laboratory — The U.S. Navy Electronics Laboratory (NEL) was created in 1945, with the consolidation of the Navy Radio and Sound Lab and its wartime partner, the University of California Division of War Research. NEL’s charter was “to effectuate the solution… …   Wikipedia

  • ALGOL — This article is about the programming language family. For other uses, see Algol (disambiguation). ALGOL Paradigm(s) procedural, imperative, structured Appeared in 1958 Designed by Bauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis …   Wikipedia

  • ALGOL 58 — Infobox programming language name = ALGOL 58 paradigm = procedural, imperative, structured year = 1958 designer = Friedrich L. Bauer, Hermann Bottenbruch, Heinz Rutishauser, Klaus Samelson, John Backus, Charles Katz, Alan Perlis, Joseph Henry… …   Wikipedia

  • ALGO — is an algebraic programming language developed between 1959 and 1961 for the Bendix G 15 computer.ALGO was one of several programming languages inspired by the Preliminary Report on the International Algorithmic Language written in Zürich in 1958 …   Wikipedia

  • Bootstrapping (compilers) — This article is about bootstrapping compilers. For the general concept, see Bootstrapping. In computer science, bootstrapping is the process of writing a compiler (or assembler) in the target programming language which it is intended to compile.… …   Wikipedia

  • ALGOL — (eine Abkürzung für „Algorithmic Language“), meist Algol geschrieben, ist der Name einer Familie von Programmiersprachen, die ab Ende der 1950er Jahre bis in die 1980er Jahre Verwendung fanden. Trotz etlicher Gemeinsamkeiten in Struktur, Syntax… …   Deutsch Wikipedia

  • Algol (Programmiersprache) — ALGOL (eine Abkürzung für „Algorithmic Language“), meist Algol geschrieben, ist der Name einer Familie von Programmiersprachen, die ab Ende der 1950er Jahre bis in die 1980er Jahre Verwendung fanden. Trotz etlicher Gemeinsamkeiten in Struktur,… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”