Loglan'82: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
Linia 1: Linia 1:
 
Język programowania obiektowego i rozproszonego ma wiele cech, które czynią z niego narzędzie lepsze od innych:
 
Język programowania obiektowego i rozproszonego ma wiele cech, które czynią z niego narzędzie lepsze od innych:
 
* ma unikalny, tani i bezpieczny system zarządzania obiektami, por.
 
* ma unikalny, tani i bezpieczny system zarządzania obiektami, por.
* oprócz modułów klas oferuje moduły współprogramów (coroutine) i wątków (process),
+
* oprócz modułów klas oferuje moduły współprogramów ('''coroutine''') i wątków ('''process'''),
 
* loglanowskie maszyny wirtualne mogą się łączyć (przez sieć) w wirtualny, wieloprocesorowy komputer loglanowski by wspólnie wykonywać programy,  
 
* loglanowskie maszyny wirtualne mogą się łączyć (przez sieć) w wirtualny, wieloprocesorowy komputer loglanowski by wspólnie wykonywać programy,  
* obiekty wątków mogą być alokowane na różnych węzłach sieci połączonych maszyn wirtualnych, bądź na tym samym komputerze. Oznacza to, że Loglan ma jeden model obliczeń współbieżnych i rozproszonych (mniej uczenia się).
+
* obiekty wątków mogą być alokowane na różnych węzłach sieci połączonych maszyn wirtualnych, bądź na tym samym komputerze. Oznacza to, że Loglan ma ''jeden model'' obliczeń współbieżnych i rozproszonych (mniej uczenia się).
* Loglan'82 oferuje własny, oryginalny i w pełni obiektowy protokół komunikacji pomiędzy obiektami watków tzw. obce wołanie metod (''ang.'' alien call).
+
* Loglan'82 oferuje własny, oryginalny i w pełni obiektowy protokół komunikacji pomiędzy obiektami wątków tzw. obce wołanie metod (''ang.'' alien call).
* Każdy wątek może stworzyć swój system współprogramów i zarządzać nim.   
+
* Każdy wątek może stworzyć swój system współprogramów i zarządzać nim.  
 +
 
 +
   
 
Mamy nadzieję, że informacje zawarte na tych stronach okażą się  interesujące dla:   
 
Mamy nadzieję, że informacje zawarte na tych stronach okażą się  interesujące dla:   
 
* '''Ambitnych programistów''' -- język Loglan'82 oferuje garść konstrukcji i rozwiązań nieznanych w innych językach programowania :
 
* '''Ambitnych programistów''' -- język Loglan'82 oferuje garść konstrukcji i rozwiązań nieznanych w innych językach programowania :

Wersja z 13:49, 9 mar 2013

Język programowania obiektowego i rozproszonego ma wiele cech, które czynią z niego narzędzie lepsze od innych:

  • ma unikalny, tani i bezpieczny system zarządzania obiektami, por.
  • oprócz modułów klas oferuje moduły współprogramów (coroutine) i wątków (process),
  • loglanowskie maszyny wirtualne mogą się łączyć (przez sieć) w wirtualny, wieloprocesorowy komputer loglanowski by wspólnie wykonywać programy,
  • obiekty wątków mogą być alokowane na różnych węzłach sieci połączonych maszyn wirtualnych, bądź na tym samym komputerze. Oznacza to, że Loglan ma jeden model obliczeń współbieżnych i rozproszonych (mniej uczenia się).
  • Loglan'82 oferuje własny, oryginalny i w pełni obiektowy protokół komunikacji pomiędzy obiektami wątków tzw. obce wołanie metod (ang. alien call).
  • Każdy wątek może stworzyć swój system współprogramów i zarządzać nim.


Mamy nadzieję, że informacje zawarte na tych stronach okażą się interesujące dla:

  • Ambitnych programistów -- język Loglan'82 oferuje garść konstrukcji i rozwiązań nieznanych w innych językach programowania :
  • Jeśli chcesz świadomie zarządzać pamięcią obiektów i uniknąć przy tym niebezpiecznego zjawiska wiszacych referencji to spróbuj instrukcji kill( ),
  • Jeśli oprogramowanie, które tworzysz ma służyć obliczeniom współbieżnym, lub rozproszonym lub jakiejś ich kombinacji to wybierz Loglan'82 z jego jednym modelem obejmującym wszystkie te rozdaje obliczeń, zredukuje to znacznie koszty opanowania programowania współbieżnego i/lub rozproszonego,
  • Na pewno warto zapoznać sie z protokołem obcego wołania metod wątku A podczas wykonywania instrukcji wątku B, jest to oryginalny wynalazek znany jak dotąd tylko w Loglanie,
  • Jeśli masz zamiar zaprogramować obliczenia quasi-współbieżne to zapoznaj się z współprogramami (coroutines)
  • Nauczycieli -- Loglan'82 jest dobrym wyborem:
  • jeśli chcesz przedstawić wszystkie narzędzia i metody programowania obiektowego unikając przy tym przechodzenia od jednego do kolejnego języka programowania dla zilustrowania kolejnych narzędzi programowania obiektowego.
  • Jak się mozna przekonać z programowaniem w Loglanie mozna połączyć analizę wymagań i weryfikację oprogramowania względem wymagań.
  • Badaczy -- Ponieważ język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów:
  • czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania
  • Jak zapewnić statyczne dowiązanie wystapienia identyfikatora z wystąpieniem odpowiedniej deklaracji?
  • Jak określić, która klasa jest dziedziczona przez ...?
  • Czy można odziedziczyć klasę A w funkcji j?
  • Czy zarządzanie pamięcią obiektów musi doprowadzać do zjawiska wiszących referencji? ::* Czy zaśmiecanie pamięci może być skutecznie zwalczane przez jej odśmiecanie tj. garbage collection?
  • Czy można bezpiecznie i efektywnie usuwać obiekty już niepotrzebne?
  • Jak zdefiniowac semantyke współprogramów w sposób wolny od sprzeczności?

Dokumentacja

Przy całym bogactwie narzędzi programotwórczych składnia Loglanu jest zwarta i przejrzysta. Obejrzyj zwięzłą prezentację języka Loglan'82

Nie jest naszym zadaniem dekretować, która ortografia jest lepsza? ta Loglanu? czy tez ta Javy i C++? Porównaj różne języki programowania obiektowego

Więcej.                  

Wybrane Przykłady

Umieszczamy tu kilka wybranych przykładów programów napisanych w Loglanie'82


Program mnożenia macierzy metodą Winograda

Media:Winograd.pdf
     Współprogramy
Media:MERGE.pdf - program i jego omówienie
Media:TREEGEN.pdf - program i dowód poprawności

Kompilatory

W tej chwili mamy do zaoferowania kompilatory na platformę Linuxową i na Windows.

Loglan dla innych języków programowania

Wyniki uzyskane podczas prac nad Loglanem okazały się przydatne w analizie języka Java. Mogą znaleźć zastosowanie w innych językach.