Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_prolog_java [2008/06/02 02:10]
miw
pl:miw:miw08_prolog_java [2017/07/17 08:08] (aktualna)
Linia 1: Linia 1:
 ====== Opis ====== ====== Opis ======
 +__**Projekt zakończony**__
 +
 Piotr, Strzelczyk, <​pit.strzelec@gmail.com>​ Piotr, Strzelczyk, <​pit.strzelec@gmail.com>​
  
Linia 11: Linia 13:
  
 ====== Spotkania ====== ====== Spotkania ======
- +[[pl:miw:miw08_prolog_java:spotkania]]
-===== 08.03.04 ===== +
-  * zbieranie materiałów +
- +
- +
-===== 080318 ===== +
-  * selekcja (co odpada i //​dlaczego//​ -> np. brak dostępu do narzędzi) +
-  * klasyfikacjapodobieństwa i różnice -> klasy +
- +
- +
- +
- +
-===== 080401 ===== +
-  * próba zrobienia car, ew przerobienia istn. przykładów dla 2 środowisk?​ +
-  * dokładny opis uruchom kodu pod win i linux! prolog+jdk +
-  * pliki z kodem do pobrania z wiki ->​namespace +
- +
- +
-===== 080415 ===== +
-  * j.w. interprolog +
- +
- +
-===== 080429 ===== +
-  * jpl -> minihowto(helloworld) +
-  * tuprolog +
-  * porównujemyfunkcjonalnośc (czy taka sama/​inna?​),​ sposób implementacji funkcjonalności +
-  * synchronizacja?​ buforowanie?​ +
- +
- +
-===== 080527 ===== +
-  * skończyć z interprolog +
-  * nagłówki na stronach z przykładami +
-  * różnicedla programisty (jak tego uzyć), w architekturze (linkowanie,​instalacja,​uruchamianie) (jak to działa) +
- +
-===== 080603 ===== +
-  * uruchom na linuxie +
-  * instrukcje +
-  * beta...+
  
 ====== Projekt ====== ====== Projekt ======
Linia 494: Linia 459:
  
 Implementacja kodu została zamieszczona [[pl:​miw:​miw08_prolog_java:​tuProlog|tutaj]]. Implementacja kodu została zamieszczona [[pl:​miw:​miw08_prolog_java:​tuProlog|tutaj]].
 +
 +
 +
 +
 +
  
  
Linia 531: Linia 501:
  
  
 +=== 4.3. Porównanie InterPrologu i JPL od strony realizacji progrmistycznej. ===
 +
 +Obie biblioteki opierają się na silniku prologu i uruchamiają go przez odpowiednią metodę. Różnica między oboma bibliotekami jest znikoma jeżeli chodzi o proste programowanie w prologu. W momencie gdy chce się zaimplementować np. system ekspercki każda biblioteka obiera wówczas idzie inną drogą. InterProlog zmusza do korzystania z GUI, które jest nie jako stworzone na sztywno. Użytkownik (programista) nie ma możliwości definiowania ułożenia okienka, prezentowanych elementów itd. Stanowi to dość mocne ograniczenie. Jest to cena jaką płaci się za gotowe metody do obsługi GUI. JPL wykazuje się tutaj dużą swobodą. Uruchamia on prolog na konsoli i otrzymuje rezultat akcji. Możliwe jest tutaj zaprogramowanie własnego GUI, co wiąże się z większym nakładem czasu pracy, ale z drugiej strony stworzona aplikacja odpowiada w pełni naszym oczekiwaniom i możemy dowolnie ją modyfikować zgodnie z swoją implementacją.
 +
 +
 +
 +=== 4.4. Porównanie InterPrologu i JPL - możliwości API. ===
 +
 +Jeżeli chodzi o API to InterProlog jest o wiele bardziej rozbudowany. Jest to związane z faktem, że obsługuje on oprócz SWI Prologu jeszcze YAP Prolog i XSB Prolog. Dodatkowo dostarcza on cały pakiet związany z GUI, umożliwając bardzo szybką implementację aplikacji okienkowej (niestety forma okienek i ich budowa jest narzucona). JPL ma bardzo skromne API. Jest przejrzyste,​ proste i bardzo łatwo można się domyśleć co do czego służy. Nie dostarcza dość zaawansowanych metod jak InterProlog. Można powiedzieć,​ że JPL jest biblioteką bardziej skoncentrowaną na realizację celu samej integracji, starając się zachować jak największą prostotę.
 +
 +Pakiety InterPrologu:​
 +  * com.declarativa.interprolog - tu znajdują się główne metody integrujące prolog z javą
 +  * com.declarativa.interprolog.gui - tu znajdują się wszystkie motody związane z obsługą i tworzeniem GUI
 +  * com.declarativa.interprolog.util - tu znajdują się metody związane z samą interakcją prolog <-> java
 +  * com.xsb.interprolog - metody związane z obsługą XSB Prologu
  
 +Pakiety JPL:
 +  * jpl - tu znajdują się główne metody związane z integracją prologu z javą oraz metody i obiekty związane z interakcją prolog <-> java (interface wyższego poziomu)
 +  * jpl.fli - tu znajdują się statyczne zmienne i metody niskiego poziomu i raczej żadko się z nich korzysta (z punktu widzenia przeciętnego programisty)
  
 ==== 5. Wnioski. ==== ==== 5. Wnioski. ====
  
-Obecnie wydaje się, że z porównanych bibliotek JIProlog, TuProlog, JPL oraz InterProlog tylko ostatnie dwie nadają się do intergracji Javy i Prologu. JPL jest biblioteką znacznie bardziej intuicyjną dla programistów Prologu (subiektywna ocena autora) natomiast InterProlog bardziej wymaga od użytkownika znajomość Javy. Samo uruchomienie systemu eksperckiego car.pl pozwala wyciągnąć wniosek, że InterProlog przez komunikację przez okienko Javowe jest bardziej bliższy językowi Java. JPL wydaje się jednak dawać większą swobodę w programowaniu i jest bardziej nastawiony na prostotę w implementacji. JPL posiada jednak pewne wady. Ogranicza on się przede wszystkim tylko do jednej wersji prologu - SWI Prolog. InterProlog oferuje obsługę trzech rodzajów prologu - SWI Prolog, XSB Prolog, YAP Prolog. Ciężko jest jednoznacznie określić, która biblioteka jest lepsza - jest to ocena zależna od użytkownika. Jeżeli ktoś poszukuje biblioteki mającej wiele możliwości,​ która oferuje wiele rozwiązań oraz programista lubi język Java, to godny polecenia jest InterProlog. Jeżeli komuś zależy na prostocie i szybkości realizacji celu to warto jednak skorzystać z JPL.+Obecnie wydaje się, że z porównanych bibliotek JIProlog, TuProlog, JPL oraz InterProlog tylko ostatnie dwie nadają się do intergracji Javy i Prologu. JPL jest biblioteką znacznie bardziej intuicyjną dla programistów Prologu (subiektywna ocena autora) natomiast InterProlog bardziej wymaga od użytkownika znajomość Javy. Samo uruchomienie systemu eksperckiego car.pl pozwala wyciągnąć wniosek, że InterProlog przez komunikację przez okienko Javowe jest bardziej bliższy językowi Java. JPL wydaje się jednak dawać większą swobodę w programowaniu i jest bardziej nastawiony na prostotę w implementacji. JPL posiada jednak pewne wady. Ogranicza on się przede wszystkim tylko do jednej wersji prologu - SWI Prolog. InterProlog oferuje obsługę trzech rodzajów prologu - SWI Prolog, XSB Prolog, YAP Prolog. Ciężko jest jednoznacznie określić, która biblioteka jest lepsza - jest to ocena zależna od użytkownika. Jeżeli ktoś poszukuje biblioteki mającej wiele możliwości ​(związanych przede wszystkim z GUI), która oferuje wiele rozwiązań oraz programista lubi język Java, to godny polecenia jest InterProlog. Jeżeli komuś zależy na prostocie i szybkości realizacji celu oraz na małej zależności od biblioteki ​to warto jednak skorzystać z JPL.
  
 ====== Materiały ====== ====== Materiały ======
pl/miw/miw08_prolog_java.1212372604.txt.gz · ostatnio zmienione: 2017/07/16 23:25 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0