3 <TITLE>Loglan'82 Biuletyn nr 2</TITLE>
8 <h4>Instytut Informatyki Politechniki Bia³ostockiej z
9 przyjemno
\9cci¹ zawiadamia, ¿e od
10 pewnego czasu dzia³a w sieci Internetu
\r </h4>
13 <TABLE BORDER="border" ALIGN=center>
14 <tr><th colspan=2><EM> repozytorium jêzyka pogramowania obiektowego </EM> </th></tr>
16 <td><IMG ALIGN=TOP SRC = "MicroMan/gifs/logo2.gif" > </td>
17 <td><STRONG> Loglan'82 </STRONG> </td></tr>
23 <H2> <STRONG> Co? </STRONG> </h2>
24 <H3> Loglan'82 jest jêzykiem programowania obiektowego,
25 wspó³bie¿nego, rozproszonego o niepowtarzalnych walorach. </H3>
30 <LI>kompilatory+interpretatory Loglanu na rózne platformy, w tym sieciowe,
\r
32 <li>zbiór przyk³adów,
\r
34 LOTEK i edytor strukturalny (tylko dla
\9crodowiska DOS),
\r
40 <TD VALIGN=top> <H2> <STRONG> Gdzie? </STRONG> </H2>
43 http://aragorn.pb.bialystok.pl
47 ftp://aragorn.pb.bialystok.pl/pub/loglan
\r
49 i jego lustrzane odbicia (znacznie szybciej osi¹galne w sieci)
\r
51 http://sunsite.icm.edu.pl/loglan/
\r
53 ftp://sunsite/icm.edu.pl/pub/loglan/
\r
56 http://infpc1.univ-pau.fr/
\r
58 ftp://infpc1.univ-pau.fr/pub/loglan82
61 <H2> <STRONG> Jak? </STRONG> </H2>
64 dla WWW: Mosaic, Netscape, Lynx, ...
69 Dziekujemy prof. Markowi Niezgodce
71 i p. Wojtkowi Sylwestrzakowi z ICM
72 <P> ten server dziala od 1993
78 <H1> Zachecamy do (bezplatnego!) korzystania z naszej bazy wiedzy. </H1>
84 <H2> Dlaczego? </H2> <P>
90 <TR><TD>Uczelnie, jednostki badawcze, pracownicy uczelni i studenci, firmy softwareowe, etc. mog¹ wykorzystywaæ Loglan jako jêzyk programowania obiektowego:
\r
93 <LI>W dydaktyce programowania pocz¹tkowego, algorytmów i struktur danych, programowania obiektowego, programowania wspó³bie¿nego i rozproszonego, itd.
\r
94 <LI>W szybkim tworzeniu prototypów du¿ych, skomplikowanych aplikacji.
\r
95 <LI>W badaniach: jako narzêdzie badawcze, a tak¿e jako bogate
\9fród³o ciekawych i wa¿nych problemów badawczych (http://aragorn.pb.bialystok.pl/loglan/openpbms.html).
\r
100 Loglan nie jest gorszy od innych jêzyków programowania obiektowego (por. http://aragorn.pb.bialystok.pl/loglan/tablica3.html )
\r
101 Stosowanie Loglanu pozwola wyposa¿yæ uczelnie, pracowników, studentów itd. w licencjonowane oprogramowanie, bez ¿adnych kosztów! Co wiêcej, stwarza do
\9cæ rzadk¹ okazjê rozdawania studentom legalnie i za darmo oprogramowania wspieraj¹cego proces dydaktyczny. Nauczyciele i s³uchacze bêd¹ mogli wymieniaæ siê
\9fró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
\9climy te¿ o platformach MacIntosh i Amiga), w sieciach rozleg³ych Internet i lokalnych Novell.
\r
105 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¹
\9c 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.
\r
108 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
\9cci, gdy jaka
\9c 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
\9c, nawet bogata, firma zainwestuje w potrzebne badania?
\r
109 <H3>KONIEC UWAGI.</H3>
113 Programowanie w Loglanie jest znacznie ³atwiejsze ni¿ w innych jêzykach programowania obiektowego (por http://aragorn.pb.bialystok.pl/loglan/quick.htm).
\r
117 Programowanie w Loglanie jest o wiele bezpieczniejsze ni¿ w innych jêzykach programowania:
\r
118 kompilator wykrywa wiele b³êdów (tak¿e tych nie dostrzeganych przez inne kompilatory), i opisuje nature i miejsce b³êdów,
\r
119 wiele b³êdów jest wykrywanych i sygnalizowanych w trakcie wykonywania programu (b³êdy takie s¹ lokalizowane w tekscie programu
\9fród³owego i czytelnie opisane),
\r
120 zarz¹dzanie zasobami pamiêciowymi jest bezpieczne i mocne,
\r
121 np. programista nie musi siê obawiaæ gro
\9fby trudnego do wykrycia b³êdu "wisz¹cych referencji":
\r
126 <H3>PRZYKLAD (w Pascalu lub C++)</H3>
128 <BR>Niech x, y, z bêd¹ zmiennymi wskazuj¹cymi na rekord lub obiekt typu T.
\r
129 <BR>Po wykonaniu instrukcji dispose(y) lub odp. free(y) warto
\9cci¹ zmiennej y jest wska
\9fnik nil do pustego obiektu. Wska
\9fniki 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'.
\r
130 <BR>Porównaj to z aksjomatem Loglanu
\r
131 {(x<>none&y=x&z=x) ( [kill(y)](x=y=z=none)}
\r
132 <BR>Jego sens jest oczywisty. Warto nadmieniæ, ¿e 1° koszt tej dealokacji obiektu x nie zale¿y od liczby wska
\9fnikó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.
\r
133 ponadto programista mo¿e sam zaprojektowaæ reakcjê na b³êdy i na sygna³y podnoszone przez program w trakcie jego realizacji.
\r
143 <H1>NIE PRZEGAP!</H1>
146 <LI>Porównaj sam, Loglan i inne jêzyki programowania i wyrób sobie swój w³asny pogl¹d w tej sprawie,
\r
147 <LI>Policz: jedna licencja na kompilator jêzyka pretenduj¹cego do miana obiektowo
\9cci to XXX z³ razy ilo
\9cæ stanowisk pracy w twej uczelni i u studentów. Ile to by kosztowa³o?
\r
148 <LI>Zauwa¿! w jednym jêzyku programowania oferujemy Ci komplet narzêdzi:
\r
149 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 .
\r
150 <LI>Uwierz nam! jêzyki o podobnych w³asno
\9cciach zostan¹ odkryte w Ameryce dopiero za parê lat. Chcesz czekaæ?
\r
151 <LI>Zrób sobie wieloprocesorow¹, sieciow¹, virtualn¹ maszynê Loglanowsk¹! (Tanio! oto jedna z recept: we
\9f tyle PC ile zdo³asz, po³¹cz je w sieæ lokaln¹, zainstaluj Loglan. )
\r
152 <LI>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.
\r
159 Przekonaj siê lub znajd
\9f s³aby punkt w naszej argumentacji.
160 Napisz nam o Twoich zastrze¿eniach <A HREF="mailto:salwicki@aragorn.pb.bialystok.pl" METHODS="mailto">mailto:salwicki@aragorn.pb.bialystok.pl</A>
\r
163 Nie przejd
\9f obojêtnie wobec naszej oferty bo byæ mo¿e przegapisz co
\9c co ma dla Ciebie znaczenie. Je
\9cli masz j¹ odrzuciæ to zrób to
\9cwiadomie, na podstawie rzeczowych przes³anek. (Napisz nam o Twych zastrze¿eniach.)
\r
167 Czy argument "to siê nie przyjmie" ma tu istotne znaczenie?
\r
168 a) je
\9cli prowadzisz zajêcia dydaktyczne lub jestes ich s³uchaczem: to zauwa¿, ¿e ¿aden inny
\r
169 jêzyk programowania nie dostarczy Ci tak w³a
\9cciwej 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
\9ccie ró¿nych rowi¹zañ tego problemu. A same szablony maj¹ wiêcej wad ni¿ tego mo¿na by oczekiwaæ.
\r
170 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
\9cciwie dlaczego naucza siê Pascala a nie Loglanu?)
\r
171 b) je
\9cli 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
\9cæ napisania najpierw prototypu Twego oprogramowania w Loglanie i sprawdzenia jego zgodno
\9cci ze specyfikacj¹ (poprzez walidacjê lub weryfikacjê) a potem przekodowania do C czy C++1. Prototyp powinien powstaæ trzy razy szybciej.
\r\r\rWspomnieæ o nowo
\9cci: sieæ maszyn DOSowych mo¿e realizowaæ maszynê wieloprocesorow¹
\r
175 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.
\r
179 1 Wspomnijmy tu o eksperymentalnym programie L2C t³umacz¹cym z Loglanu na C jaki powsta³ parê lat temu na Uniwersytecie
\8cl¹skim.
\r\r