Laning a Zierlerův systém - Laning and Zierler system

The Laning a Zierlerův systém (někdy jeho uživateli nazývaný „George“) byl jedním z prvních fungujících algebraických překladače, to znamená systém schopný přijímat matematické vzorce v algebraická notace a produkovat ekvivalent strojový kód (termín kompilátor ještě nebyl vynalezen a systém byl označován jako "an." interpretační Program byl implementován v roce 1952[1] pro MIT VICHŘICE podle J. Halcombe Laning a Neal Zierler. Předchází mu UNIVAC A-2, IBM Speedcoding a řada systémů, které byly navrženy, ale nikdy nebyly implementovány.

Popis

Systém přijímal vzorce ve víceméně algebraické notaci. Respektovala standardní pravidla pro přednost operátora, povolené vnořené závorky a k označení byly použity horní indexy exponenty. Byl to mezi prvními programovacími systémy, které to povolily symbolická proměnná názvy a přidělit úložiště automaticky.

Systém také automatizoval následující úkoly: plovoucí bod výpočet, vazba na podprogramy pro základní funkce analýzy (sinus atd.) a tisku a polí a indexování.

Systém přijal vstup děrovaná páska produkoval a Friden Flexowriter. The znaková sada součástí instalace Whirlwind “velká písmena "(horní index) číslice a pomlčka, které byly použity k označení indexů pole, funkčních kódů a (celočíselných) exponentů. Stejně jako ostatní programovací zápisy své doby systém akceptoval pouze jednopísmenné názvy proměnných a multiplikace byla indikována juxtapozicí operandů. K dispozici byla vyvýšená tečka, která explicitně označuje násobení (znak byl vytvořen odříznutím spodní poloviny dvojtečky!) Systém také zahrnoval podporu řešení lineárních diferenciálních rovnic pomocí Metoda Runge – Kutta.

Systém byl popsán v 18stránkovém stroji psaném manuálu, který byl napsán pro lidi obeznámené s matematikou, ale s počítači neznámými. Neobsahuje téměř nic v úvodu do počítačového hardwaru.

Ukázkový program

Vyhodnocuje se následující příklad převzatý ze strany 11 příručky k systému pro za použití Taylor série expanze. Implementace není nijak zvlášť efektivní a systém již obsahuje ve své knihovně podprogramů, ale příklad slouží k obohacení syntaxe systému. Všimněte si, že rozdělení v systému je vyhodnoceno po násobení:

 1 X = 0,   z = 1 - X2/2 + X4/2·3·4 - X6/2·3·4·5·6     + X8/2·3·4·5·6·7·8 - X10/2·3·4·5·6·7·8·9·10,
   TISK X, z.   E = X - 1,05, CP 1, STOP

Aplikace

Pro systém bylo napsáno několik aplikací. Jedna zdokumentovaná aplikace, jejímž autorem byli Laning a Zierler, se týkala problému v letectví. Problém vyžadoval vyjádření sedmi systémů diferenciálních rovnic a byl dán Whirlwindu, protože byl pro MIT příliš velký Diferenciální analyzátor zvládnout. Autoři s využitím funkce Runge-Kutta svého programovacího systému vytvořili program s 97 výroky za dvě a půl hodiny. Program byl úspěšně spuštěn poprvé.

Vliv na FORTRAN

Některé zdroje uvádějí, že inspirací byl systém Laning a Zierler FORTRAN. John Backus sám přiznal, že přispěl k této mylné představě:

Vliv systému Laning a Zierler na vývoj FORTRANU je otázka, která byla z mé strany zmatená mnoha nesprávnostmi. Po mnoho let jsem věřil, že jsme dostali nápad na použití algebraické notace ve FORTRANU z ukázky systému Laning a Zierler na MIT. (Backus) [1]

Po přezkoumání dokumentace z té doby se Backus dozvěděl, že projekt FORTRAN „je v plném proudu“, když dostal se svým týmem příležitost vidět práci Laninga a Zierlera:

Když jsme poprvé slyšeli o jejich průkopnické práci, už jsme uvažovali o algebraických vstupech podstatně sofistikovanějších než Laningův a Zierlerův systém ... demonstrace jejich systému. (Backus, op cit)

Viz také

Poznámky

  1. ^ J. W. Backus, Historie FORTRANU I, II a III. Sborník První konference ACM SIGPLAN o historii programovacích jazyků

Reference

  • Backus, J. W. Historie FORTRANU I, II a III. Sborník První konference ACM SIGPLAN o historii programovacích jazyků (k dispozici online ).
  • Laning, J.H. a N. Zierler. Program pro překlad matematických rovnic pro Whirlwind I. Engineering Memorandum E-364, Instrumentation Laboratory, Massachusetts Institute of Technology. (Dostupný online ).
  • Sammet, Jean E., "Programovací jazyky: historie a základy", Prentice-Hall, 1969
  • "Počáteční vývoj programovacích jazyků" v roce 2006 Historie výpočetní techniky ve dvacátém století, New York, Academic Press, 1980. ISBN  0-12-491650-3
Charakteristický