Obliq - Obliq

Obliq
Paradygmaty Wieloparadygmat : imperatyw , strukturalny , modułowy , obiektowy , prototypowy , równoległy
Rodzina Wirth Oberon
Zaprojektowany przez Krishna Bharat
Marc H. Brown
Luca Cardelli
Po raz pierwszy pojawiły się 1993 ; 28 lat temu ( 1993 )
Dyscyplina pisania Silny , dynamiczny
Zakres leksykalny czysty
Język implementacji Moduł-3
Platforma IA-32
Strona internetowa www .cc .gatech .edu /gvu /people /Phd /Krishna /VO /VOHome .html
Główne wdrożenia
Obliq, wizualny Obliq
Wpływem
Modula-3 , Self , Oberon

Obliq jest interpretowanym , zorientowanym obiektowo językiem programowania zaprojektowanym w celu uproszczenia i ułatwienia programowania rozproszonych i lokalnie wielowątkowych obliczeń, zapewniając jednocześnie bezpieczeństwo programu i system typów niejawnych . Interpreter jest napisany w Modula-3 i zapewnia Obliq pełny dostęp do możliwości obiektów sieciowych Modula-3 . Rodzaj wnioskowania algorytm rekordu konkatenacji, podtypy i rekurencyjnych typów został opracowany dla Obliq. Ponadto udowodniono, że jest NP-zupełny, a jego najniższa złożoność to Ο ( n 3 ) lub jeśli w innych modelach aż do pewnych warunków aż do Ο ( n 2 ), a jej najbardziej znana implementacja przebiega w Ο ( n 5 ) . Składnia Obliqa jest bardzo podobna do Modula-3, największą różnicą jest to, że Obliq nie potrzebuje jawnie wpisanych zmiennych (tzn. zmienna może przechowywać dowolny typ danych dozwolony przez moduł sprawdzania typu, a jeśli nie akceptuje jednego, tj. danego wyrażenia zostanie wyświetlony błąd wykonania), chociaż jawne deklaracje typu są dozwolone i ignorowane przez interpreter. Podstawowe typy danych w tym języku obejmują wartości logiczne , liczby całkowite , liczby rzeczywiste , znaki , łańcuchy i tablice . Obliq obsługuje zwykły zestaw sekwencyjnych struktur kontrolnych (formularze warunkowe, iteracyjne i obsługi wyjątków) oraz specjalne formularze kontrolne dla współbieżności (muteksy i instrukcje strzeżone). Co więcej, obiekty Obliq mogą być klonowane i bezpiecznie kopiowane zdalnie przez dowolną maszynę w rozproszonym obiekcie sieciowym i można to zrobić bezpiecznie i transparentnie .

Duża biblioteka standardowa Obliq zapewnia silne wsparcie dla operacji matematycznych, wejścia/wyjścia (I/O), trwałości , kontroli wątków, grafiki i animacji. Przetwarzanie rozproszone opiera się na obiektach: obiekty posiadają stan, który jest lokalny dla jednego procesu . Zakres obiektów i innych zmiennych ma charakter czysto leksykalny . Obiekty mogą wywoływać metody innych obiektów, nawet jeśli te obiekty znajdują się na innym komputerze w sieci. Obiekty Obliq to po prostu kolekcje nazwanych pól (podobne do slotów w Self i Smalltalk ) i obsługujące dziedziczenie przez delegację (jak Self).

Typowe zastosowania Obliq obejmują programowanie w sieciach, animację 3D i przetwarzanie rozproszone, jak ma to miejsce w sieci lokalnej (LAN), takiej jak Ethernet . Obliq jest dołączony bezpłatnie do dystrybucji Modula-3 firmy Digital Equipment Corporation (DEC), ale inne bezpłatne wersje istnieją gdzie indziej, w tym prekompilowane pliki binarne dla kilku systemów operacyjnych .

Projekty z wykorzystaniem Obliq

  • The Collaborative Aktywni Podręczniki (CAT), opracowany przy użyciu apletów Obliq i animację algorytm Zeus systemu (napisany w Modula-3 ).
  • Aplety Obliq (Oblets) specjalna przeglądarka internetowa (napisana w Modula-3 ) Aplikacje wbudowane w stronę internetową Obliq.

Bibliografia

Zewnętrzne linki