Interesant, istoria meta-calculelor nu este rea de zeci de ani.
Sau, poate, conduc înapoi?
Apariția metodelor și înțelegerea importanței fundamentale a sarcinii de transformare profundă a programelor - în special de specializare. Indiferent unul de celălalt, Valentin Tučin a venit la aceste idei. André Yershov. Yoshihiko futamura (Yoshihi ko Futamura).
Specializarea programelor este generarea conform programului f (x, y) cu programul cunoscut fx. astfel încât fx (y) = f (x, y). Specializatorul Spec este un program care emite fx = Spec (f, x) în raport cu f și x.
Turchin în 1972-77 a dezvoltat baza metodei de supercompilare. bazându-se pe înțelegerea necesității unei "tranziții de metastaze la scară largă (IMM) asupra algoritmilor, programelor", după elaborarea conceptului de IMM, prezentat în cartea "Fenomenul științei" (scrisă în 1970). Scopul acestui IMM a fost descris metaforic astfel: "Trebuie să facem programele ca obiect natural de prelucrare ca cifrele de pe Fortran". Turchin a arătat cum supercompilația poate rezolva 1) o problemă inversă (dată de un program și rezultatul său, găsiți un argument), 2) automatizarea construcției de compilatoare de la interpreți. El a observat că dubla auto-aplicare (adică MSP) a unui supercompiler (ca specializator) oferă un compilator de compilatoare (Futamura și Ershov s-au oprit într-o singură auto-aplicare).
Andrei Ershov a descoperit (în cursul lucrărilor echipei sale despre compilatorul multilingv "Alpha") că un număr mare de sarcini diferite par a fi reduse la construirea unei așa-numite expansiuni de program generatoare.
Extensia generatoare a programului f (x, y) este programul f ge (x), care pentru acest x generează programul fx. astfel încât fx (y) = f (x, y), adică, f (x, y) = f ge (x) (y).
Exemplu: Un compilator este o extensie generatoare a interpretului. Ershov a elaborat o metodă numită calcule mixte pentru generarea automată a generațiilor de extensii: Gen (f) = f ge. Relația cu specializarea: Gen (f) = Spec (Spec, f); aici există o singură aplicare de sine a specialistului.
Apariția supercompilatoarelor experimentale și specializatorilor. Apariția comunității științifice mondiale Evaluarea parțială și manipularea programelor bazate pe semantică (PEPM), care includea supercompilarea.
Elaborarea detaliilor teoriei supercompilării și trecerea la practică.
La începutul anilor '90, a existat o nevoie de sistematizare și de "aranjare a lucrurilor în ordine" în bazele supercompilării. Grație muncii lui Serghei Abramov, Robert Gluck (Robert Glck) și Andrei Klimov supercompilation a fost structurat astfel încât să fie capabil să utilizeze metode de soluții de bază pentru sarcini mai simple și, treptat, se adaugă tehnici pentru sarcini mai complexe. Acest lucru a permis dezvoltarea de supercompilatoare pentru limbi practice complexe, cum ar fi Java.
În același timp, Turchin și Andrei Nemytykh a continuat să se dezvolte „avansate» (avansat) metode supercompilation în procesul de punere în aplicare a noului supercompiler pentru Refal-5, care ar putea fi utilizate în unele probleme practice.
"Înverșunarea" teoriei și a metodelor. Utilizarea supercompilatoarelor în practică. În special, vor începe lucrările de calcul al limbajului Java (și al supercompilării și al calculelor parțiale), care se desfășoară încă de la sfârșitul anilor 90, iar aplicațiile practice vor începe.
Revoluția informatică și a informațiilor din anii '90 a creat o nevoie reală de metode profunde de optimizare a programelor și a pregătit condițiile și mijloacele tehnice pentru a le folosi în practică. Supercompilarea va avea un impact revoluționar asupra metodelor de programare, oferind instrumente pentru dezvoltarea ulterioară a "programării componentelor", a programării declarative, a dezvoltării unei varietăți de limbi de specialitate și așa mai departe.
Și în clasa a X-a am avut un minunat coleg de clasă Oyshpits Svetlana Mikhailovna. Datorită eforturilor depuse, am vizitat adesea Galeria Tretyakov, Muzeul Pușkin și alte locuri de dezvoltare culturală.
Clasa noastră, Kisa, Svetlana Mikhailovna Oishpits, a fost foarte îndrăgită să-și bată pointerul, spunând: "Bovine, în care stabilă ai crescut?"