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
- ^ 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ý