Instytut Informatyki Politechniki Białostockiej z przyjemnością zawiadamia, że od pewnego czasu działa w sieci Internetu

repozytorium języka pogramowania obiektowego

Loglan'82

Co?

Loglan'82 jest językiem programowania obiektowego, współbieżnego, rozproszonego o niepowtarzalnych walorach.

Udostępniamy:

  • kompilatory+interpretatory Loglanu na rózne platformy, w tym sieciowe,
  • dokumentację,
  • zbiór przykładów,
  • edytory: LOTEK i edytor strukturalny (tylko dla środowiska DOS), Ź
  • RZRÓDŁA!

Gdzie?

http://aragorn.pb.bialystok.pl

lub

ftp://aragorn.pb.bialystok.pl/pub/loglan

i jego lustrzane odbicia (znacznie szybciej osiągalne w sieci)

http://sunsite.icm.edu.pl/loglan/

ftp://sunsite/icm.edu.pl/pub/loglan/

http://infpc1.univ-pau.fr/

ftp://infpc1.univ-pau.fr/pub/loglan82

Jak?

dla WWW: Mosaic, Netscape, Lynx, ...

dla anonymous FTP

Dziekujemy prof. Markowi Niezgodce

i p. Wojtkowi Sylwestrzakowi z ICM

ten server dziala od 1993

Zachecamy do (bezplatnego!) korzystania z naszej bazy wiedzy.

Dlaczego?

Uczelnie, jednostki badawcze, pracownicy uczelni i studenci, firmy softwareowe, etc. mogą wykorzystywać Loglan jako język programowania obiektowego: W dydaktyce programowania początkowego, algorytmów i struktur danych, programowania obiektowego, programowania współbieżnego i rozproszonego, itd. W szybkim tworzeniu prototypów dużych, skomplikowanych aplikacji. W badaniach: jako narzędzie badawcze, a także jako bogate źródło ciekawych i ważnych problemów badawczych (http://aragorn.pb.bialystok.pl/loglan/openpbms.html). Loglan nie jest gorszy od innych języków programowania obiektowego (por. http://aragorn.pb.bialystok.pl/loglan/tablica3.html ) Stosowanie Loglanu pozwola wyposażyć uczelnie, pracowników, studentów itd. w licencjonowane oprogramowanie, bez żadnych kosztów! Co więcej, stwarza dość rzadką okazję rozdawania studentom legalnie i za darmo oprogramowania wspierającego proces dydaktyczny. Nauczyciele i słuchacze będą mogli wymieniać się źródłami programów loglanowskich i uzyskają te same wyniki bowiem Loglan jest niezależny od platformy i działa tak samo w DOSie, Unixie, Atari ST (myślimy też o platformach MacIntosh i Amiga), w sieciach rozległych Internet i lokalnych Novell. Jezyk oferuje niezwykle bogaty zestaw narzędzi programowania obiektowego, łącznie z obiektami-procesami rozproszonymi w sieci komputerowej. . Procesy komunikują się w sposób całkowicie obiektowy: dwa procesy wspólnie realizują jakąś metodę jednego z dwu procesów wg pewnego protokołu, jest to obce wywołanie inaczej alien call zaproponowany i zrealizowany przez B. Ciesielskiego w r.1988. Wszystkie znane mechanizmy synchronizacji i komunikacji procesów sprowadzają się do mechanizmu alien call w prosty i tani sposób. UWAGA. Ostatnio reklamuja się języki przyblizające się do wysokiego standardu rozwiązań opracowanych dla Loglanu. Możemy jednak przewidywac, że w bieżącym stuleciu nie pojawi się nowy istotnie lepszy od Loglanu język programowania obiektowego. Zalety naszych rozwiazań zostaną należycie docenione w odległej jeszcze przyszłości, gdy jakaś bogata firma zechce promować "swoje" odkrycie. Rozwiązania Loglanu wspierają się wynikami badań przeprowadzonych przez zespół profesorów A. Kreczmara, A. Salwickiego. (por. credits.html) Czy można oczekiwać że jakaś, nawet bogata, firma zainwestuje w potrzebne badania? KONIEC UWAGI. Programowanie w Loglanie jest znacznie łatwiejsze niż w innych językach programowania obiektowego (por http://aragorn.pb.bialystok.pl/loglan/quick.htm). Programowanie w Loglanie jest o wiele bezpieczniejsze niż w innych językach programowania: kompilator wykrywa wiele błędów (także tych nie dostrzeganych przez inne kompilatory), i opisuje nature i miejsce błędów, wiele błędów jest wykrywanych i sygnalizowanych w trakcie wykonywania programu (błędy takie są lokalizowane w tekscie programu źródłowego i czytelnie opisane), zarządzanie zasobami pamięciowymi jest bezpieczne i mocne, np. programista nie musi się obawiać groźby trudnego do wykrycia błędu "wiszących referencji": PRZYKLAD (w Pascalu lub C++) Niech x, y, z będą zmiennymi wskazującymi na rekord lub obiekt typu T. Po wykonaniu instrukcji dispose(y) lub odp. free(y) wartością zmiennej y jest wskaźnik nil do pustego obiektu. Wskaźniki x i z nadal pokazują na pole pamięci zajmowane przez nieistniejący już obiekt. Po wykonaniu instukcji new lub malloc to samo pole może być wskazywane przez zmienną u jako obiekt typu T'. Porównaj to z aksjomatem Loglanu {(x<>none&y=x&z=x) ( [kill(y)](x=y=z=none)} Jego sens jest oczywisty. Warto nadmienić, że 1° koszt tej dealokacji obiektu x nie zależy od liczby wskaźników do obiektu, nie musisz o tym mysleć 2° system sygnalizuje wszelkie próby dostępu do informacji w obiekcie, który (już/jeszcze) nie istnieje. ponadto programista może sam zaprojektować reakcję na błędy i na sygnały podnoszone przez program w trakcie jego realizacji. NIE PRZEGAP! Porównaj sam, Loglan i inne języki programowania i wyrób sobie swój własny pogląd w tej sprawie, Policz: jedna licencja na kompilator języka pretendującego do miana obiektowości to XXX zł razy ilość stanowisk pracy w twej uczelni i u studentów. Ile to by kosztowało? Zauważ! w jednym języku programowania oferujemy Ci komplet narzędzi: klasy i obiekty, współprogramy, procesy, dziedziczenie i zagnieżdzanie modułów, ochronę atrybutów prywatnych obiektów wg życzenia twórcy klasy, deklaracje sygnałów i obsługę przerwań i sygnałów, wiele sposobów na tworzenie modułów generycznych - sparametryzowanych typem danych, dziedziczenie ne tylko w klasach ale w każdym rodzaju modułu: funkcji, procedurze, bloku, zspółprogramie, procesie . Uwierz nam! języki o podobnych własnościach zostaną odkryte w Ameryce dopiero za parę lat. Chcesz czekać? Zrób sobie wieloprocesorową, sieciową, virtualną maszynę Loglanowską! (Tanio! oto jedna z recept: weź tyle PC ile zdołasz, połącz je w sieć lokalną, zainstaluj Loglan. ) Zarób na Loglanie! Możesz go sprzedawać, nie mamy nic przeciw temu i nie żądamy niczego od Ciebie. Musisz tylko zachować informację o prawach autorskich w sprzedawanych przez Ciebie kopiach. Tak jak to się dzieje (lub jak powinno się dziać) w przypadku TEXa, Linuxa, produktów GNU, etc. Przekonaj się lub znajdź słaby punkt w naszej argumentacji. Napisz nam o Twoich zastrzeżeniach mailto:salwicki@aragorn.pb.bialystok.pl Nie przejdź obojętnie wobec naszej oferty bo być może przegapisz coś co ma dla Ciebie znaczenie. Jeśli masz ją odrzucić to zrób to świadomie, na podstawie rzeczowych przesłanek. (Napisz nam o Twych zastrzeżeniach.) Czy argument "to się nie przyjmie" ma tu istotne znaczenie? a) jeśli prowadzisz zajęcia dydaktyczne lub jestes ich słuchaczem: to zauważ, że żaden inny język programowania nie dostarczy Ci tak właściwej podstawy do studiowania zjawisk związanych z obiektami. Np. temat "moduły generyczne" w języku C++ sprowadza się do szablonów (ang. template). W Loglanie znamy kilkanaście różnych rowiązań tego problemu. A same szablony mają więcej wad niż tego można by oczekiwać. Po Loglanie można nauczać jakiegokolwiek języka programowania znacznie szybciej i wydajniej. Wystarczą 2 popołudnia by nauczyć C++, Smalltalka lub innego języka z obiektami. (A właściwie dlaczego naucza się Pascala a nie Loglanu?) b) jeśli tworzysz swoje własne oprogramowanie i ma ono być włączone w większy system już istniejących modułów to pozostań przy wybranym języku progamowania. Rozważ jednak możliwość napisania najpierw prototypu Twego oprogramowania w Loglanie i sprawdzenia jego zgodności ze specyfikacją (poprzez walidację lub weryfikację) a potem przekodowania do C czy C++1. Prototyp powinien powstać trzy razy szybciej. Wspomnieć o nowości: sieć maszyn DOSowych może realizować maszynę wieloprocesorową Wspomnieć o tym, że chociaż Loglan jest "samoróbką" uczelnianą to i tak może być używany przez wielu, w odróżnieniu od samochodu. 1 Wspomnijmy tu o eksperymentalnym programie L2C tłumaczącym z Loglanu na C jaki powstał parę lat temu na Uniwersytecie Śląskim. p