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 |
Dyscyplina pisania | Silny , dynamiczny |
Zakres | leksykalny czysty |
Język implementacji | Moduł-3 |
Platforma | IA-32 |
Strona internetowa | www |
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
- Oficjalna strona internetowa
- Obliq w Curlie
- Luca Cardelli „s Obliq Skrócona strona (archiwizowane na 2008-10-17)