Obliq
Website: www.cc.gatech.edu/gvu/people/Phd/Krishna/VO/VOHome.html
Proiectat de: Krishna BharatMarc H. BrownLuca Cardelli
Paradigme de programare: Multi-paradigm — imperative, structured, modular, object-oriented, prototype-based, parallel
OBLIQ este un limbaj de programare interpretat, orientat pe obiecte, conceput pentru a face distribuit și multithreaded local, calculând mai simplu și mai ușor de programat, oferind în același timp siguranță pentru program și un sistem de tip implicit.
Interpretul este scris în Modula-3 și oferă OBLIQ acces complet la abilitățile obiectelor de rețea Modula-3.
Un algoritm de inferență de tip pentru concatenare record, subtipare și tipuri recursive a fost dezvoltat pentru OBLIQ.
În plus, s-a dovedit a fi completă de NP și cea mai mică complexitate a acestuia de a fi (N3) sau dacă, în alte modele, până la anumite condiții până la (N2), iar cea mai cunoscută implementare se desfășoară în ο (N5).
Sintaxa lui Obliq este foarte asemănătoare cu Modula-3, cea mai mare diferență fiind faptul că OBLIQ nu are nevoie de variabile tipate explicite (adică, o variabilă poate deține orice tip de date permis de către verificatorul de tip și dacă nu acceptă una, adică o expresie dată Eroarea de execuție se va afișa) Deși declarațiile de tip explicite sunt permise și ignorate de către interpret.
Tipurile de date de bază din limbă includ booleane, numere întregi, realitate, caractere, șiruri și tablouri.
OBLIQ acceptă setul obișnuit de structuri de control secvențiale (formulare condiționate, iterație și de manipulare a excepțiilor) și formulare de control speciale pentru concordanță (mutexe și declarații păzite).
În plus, obiectele OLIQ pot fi clonate și copiate în siguranță de la distanță de către orice mașină dintr -un obiect de rețea distribuit și poate fi realizată în siguranță și transparent.
Marea bibliotecă standard a OBLIQ oferă un suport puternic pentru operațiuni matematice, intrare/ieșire (I/O), persistență, Controlul firului, grafică și animație.
Calculul distribuit este bazat pe obiecte: obiectele dețin o stare, care este locală pentru un singur proces.
Domeniul de aplicare al obiectelor și altor variabile este pur lexical.
Obiectele pot apela metode ale altor obiecte, chiar dacă acele obiecte sunt pe o altă mașină din rețea.
Obiectele obliq sunt pur și simplu colecții de câmpuri numite (similare cu sloturile în sine și în SmallTalk) și la moștenirea de susținere prin delegare (ca Self).
Utilizările comune ale OBLIQ implică programarea pe rețele, animație 3D și calcul distribuit, așa cum se întâmplă pe o rețea locală de zonă (LAN), cum ar fi Ethernet.
OBLIQ este inclus gratuit cu distribuția Modula-3 a Corporației Digital Equipment (DEC), dar există și alte versiuni gratuite în altă parte, inclusiv binare precompilate pentru mai multe sisteme de operare.