🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
19 messages
19 total messages Started by Kamil Konieczny Sat, 15 Dec 2007 17:10
pl.comp.objects FAQ (Frequently Asked Questions and more)
#17318
Author: Kamil Konieczny
Date: Sat, 15 Dec 2007 17:10
692 lines
27556 bytes
Posted-By: auto-faq 3.1.1.2
Archive-name: pl-comp-objects-faq

---------------------------------------------------------------------------
Zawartosc: 	pl.comp.objects FAQ (Frequently Asked Questions and Summary)
Data:		1998.08.18
Wersja:		3.2
Autorzy:	Kuba Chabik
		Kamil Konieczny  kkoniec@mks.com.pl
---------------------------------------------------------------------------

Wykorzystane materialy: poprzednia (druga) edycja FAQ, opracowana przez
	Maciej "MACiAS" Pilichowski, macias@vm.cc.uni.torun.pl
	Data opracowania: 2.05.95 - 16.05.95
        Zasoby: 6.12.94 - 12.04.95

-------

Uwagi:

[ts 2005.12.27]
To FAQ jest juz tak stare, ze chyba az przestarzale.  Ale dopoki ktos
nie wymysli nowego, to z braku innego bedzie wysylane nadal. Moze ktos
sie zlituje i napisze/poprawi?

[Kamil 1998.06.24]:
  Ze wzgledu na brak czasu edycja trzecia to glownie reorganizacja
i poprawienie poprzedniej edycji, autorstwa [MACiAS].
W miare wolnego czasu bede dodawal nowe tematy, zaczynajac od biezacych
listow az do zamierzchlej przeszlosci, czyli od roku 1998 do 1995.
Nie beda dodawane tematy, nie majace nic (albo niewiele) wspolnego
z tematyka grupy.
Postaram sie rowniez o usuwanie z archiwow listy spamow,
jak rowniez nieaktualnych ogloszen zwiazanych z obiektami.

[MACiAS 1995.05.16]:
  W znakomitej wiekszosci wszystkie informacje zostaly wziete z listow
uczestnikow grupy. Jesli zauwazycie ponizej bledy, niescislosci, luki,
etc. to bardzo prosze o listy (jesli sprawa nie jest oczywista, to
najlepiej na adres grupy). 

-------
Krotki spis tematow:

T.1     Informacje ogolne (literatura, slowniczek, pojecia).
T.2     Jezyk C++.
T.3     Jezyk Smaltalk.
T.4     Inne

-------
Spis tematow:

T.1.1	Literatura.
T.1.1.1	Literatura w jezyku angielskim.
T.1.1.2	Literatura w jezyku polskim.
T.1.2	Proponowany maly slownik terminow.
T.1.3	Co to jest klasa?
T.1.4	Co to jest metoda?
T.1.5	Co to jest atrybut?
T.1.6	Co reprezentuje dziedziczenie?
T.1.7	Co to jest polimorfizm?
T.1.8	Co zyskujemy przez polimorfizm?
T.1.9	Do czego potrzebna jest hermetyzacja?
T.1.10	Co to jest klasa abstrakcyjna?
T.1.11	Co to jest metaklasa?
T.1.12	Co to jest komponent?
T.1.13	Co to sa obiektowe bazy danych?
T.1.14	Czy obiektowe bazy danych sa gorsze od relacyjnych?
T.1.15	Co to jest CORBA?
T.1.16	Czy programy obiektowe sa wolniejsze od proceduralnych?

T.2.1	Jak w prosty sposob zrozumiec opis bledu w BC++?
T.2.2	Co zrobic jesli klasa deklarowana w pliku naglowkowym uzywa typow
T.2.3	Co to sa dziwne pliki w katalogu "/usr/g++-include/gen" z
T.2.4	Jak w C++ obsluguje sie funkcje ze zmienna liczba parametrow?
T.2.5	Czy mozna zaimplementowac funkcje wirtualne w C?
T.2.6	Czy stosowanie zaprzyjazniania klas nalezy do dobrej praktyki
T.2.7	Gdzie mozna dostac gramatyke C++ (obojetnie dla jakiego narzedzia,
T.2.8	Czy przejscie do OOP wymaga odrzucenia "balastu proceduralnego"?
T.2.9	Co to jest konstruktor kopiujacy?
T.2.10	Czy istnieje domyslny konstruktor kopiujacy?
T.2.11	Jak uniknac dolaczania metod wirtualnych, z ktorych nie korzystam, a
T.2.12	Ciekawostki z historii C++.
T.2.13	Stosowac wskaznik czy referencje?
T.2.14	Co to sa sprytne wskazniki (smart pointers)?
T.2.15	Czy wszystkie metody w mojej klasie powinny byc wirtualne?
T.2.16	Czy konstruktory moga byc wirtualne?
T.2.17	Jak tworzyc klasy abstrakcyjne?

T.3.1	Czy jest dostepna darmowa implementacja Smalltalka?
T.3.2	Czy SmallTalk jest dobry w praktyce, czy tylko w teorii?
T.3.3	Gdzie mozna dowiedziec sie o jezyku Smalltalk i jego zastosowaniach?

T.4.1	Jak powinienem zabrac sie za programowanie obiektowe?
T.4.2	Czy OOP oznacza brak optymalizacji?
T.4.3	Jak rozpoznawac, czy dany program lub projekt jest dobry ?
T.4.4	Poszukuje informacji na temat rozszerzen do jezykow obiektowych

---------------------------------------------------------------------------
-------
T.1.1	Literatura.

T.1.1.1	Literatura w jezyku angielskim.

  Badouin-Lafon M., "Object-Oriented Languages"
	wyd ?, ISBN ?
  Brown W.H., Malveau R.C., McCormick H.W. III, Mowbray T.J.,
	"AntiPatterns: Refactoring Software, Architectures, 
	and Projects in Crisis."
	John Wiley & Sons, ISBN 0-471-19713-0
  Buchmann et al., "A System of Patterns"	
	John Wiley & Sons, ISBN 0-471-95869-7
  Budd, T., "An Introduction to Object Oriented Programming",
	Addison Wesley Publishing, ISBN 0-201-54709-0
  Coleman D., et al, "The Fusion Method"
	wyd ?, ISBN ?
  Fowler M., Scott K.,	"UML Distilled"
	Addison-Wesley, ISBN 0-201-32563-2
  Gamma E., Helm R., Johnson R., Vlissides J.	"Design Patterns"
	Addison-Wesley, ISBN 0-201-63361-2
  Graham I., "Object-Oriented Methods" 2nd ed.
	Addison-Wesley, ISBN 0-201-59371-8
	http://www2.awl.com/cseng/
  Jacobson I., Christerson M., Johnsson P., Overgaard G.,
	"Object-Oriented Software Engineering"
	Addison-Wesley, ISBN 0-201-54435-0
  Lakos J., "Large-Scale C++ Software Design"
	Addison-Wesley, ISBN 0-201-63362-0
  Lalonde W.R., Pugh J.R., "Inside Smalltalk", Volume 1 and 2,
	Prentice Hall, ISBN ?
  Rumbaugh J., Blaha M., Premerlani W.,Eddy F.,Lorensen W.,
	"Object-Oriented Modelling and Design"
	Prentince Hall, ISBN ?
  Stroustrup B., "The C++ Programming Language" 3rd. ed., 6th printing
	Addison-Wesley, ISBN 0-201-88954-4
        http://www.research.att.com/~bs/homepage.html

T.1.1.2	Literatura w jezyku polskim.

  Barteczko K., "Praktyczne wprowadzenie do programowania w jezyku C++",
	LUPUS, ISBN ISBN 83-85545-13-1
  Coad P., Yourdon E., "Analiza obiektowa" (OOA),
	README, ISBN 83-85769-17-X
  Coad P., Yourdon E., "Projektowanie obiektowe" (OOD),
	README, ISBN 83-85769-18-8
  Coad P., Nicola J., "Programowanie obiektowe" (OOP),
	README, ISBN 83-85769-16-1
  Grebosz J., grebosz@bron.ifj.edu.pl, "Symfonia C++"
	Oficyna Kallimach, ISBN 83-901689-0-1 wydanie 3,
	Oficyna Kallimach, ISBN 83-901689-1-X
  Grebosz J., "Pasja C++"
	Oficyna Kallimach, ISBN 83-901689-2-8
  Hansen T., "Zadania z jezyka C++",
	WNT, ISBN 83-204-1759-7
  Kliszewski M., "Inzynieria oprogramowania obiektowego - analiza obiektowa",
	RESPEKT, ISBN 83-901994-0-8
  Kain E., "Od C do C++"
	wyd ?, ISBN ?
  Lippman S.B., "Podstawy jezyka C++", Tlumaczenie z wydania 2,
	WNT, ISBN 83-204-1681-7
  Martin J., Odell J.J., "Podstawy metod obiektowych"
	WNT, ISBN 83-204-2116-0
  Stroustrup B., "Jezyk C++", Tlumaczenie wydania 2,
	WNT, ISBN 83-204-1697-3
  Stroustrup B., "Projektowanie i rozwoj jezyka C++", 
	WNT, ISBN 83-204-2042-3

-------
T.1.2	Proponowany maly slownik terminow.

  garbage collector    - odsmiecacz
  operator overloading - przeciazanie operatora
  object persistency   - trwanie obiektu
  persistent pointer   - trwaly wskaznik
  container            - pojemnik
  template             - szablon
  reference            - odnosnik
  dereferencing        - wyluskiwanie


-----
T.1.3	Co to jest klasa?

Klasa jest abstrakcja obiektow z modelowanej dziedziny. Stanowi
wzorzec, opis, z ktorego te obiekty beda tworzone. Klasa nic nie
"robi", klasa czyms "jest". Klasy odwzorowuja przedmioty, osoby, a
takze organizacje i procesy zachodzace w swiecie rzeczywistym.
Klasa posiada jakas odpowiedzialnosc. Cos, dla czego nie potrafisz
wskazac odpowiedzialnosci, klasa nie jest (najprawdodobniej jest
jedyniem atrybutem innej klasy).

-----
T.1.4	Co to jest metoda?

Metoda, zwana takze operacja, reprezentuje czynnosc, jaka moze byc
wykonana przez dany obiekt w swiecie rzeczywistym. Metody moga
uzywane do uzyskania informacji lub do zmiany stanu danego obiektu.

-----
T.1.5	Co to jest atrybut?

Atrybut to cecha obiektu, na przyklad kolor pojazdu, dlugosc tekstu,
wzrost osoby. Atrybuty sa innymi obiektami zagniezdzonymi w danym
obiekcie.

-----
T.1.6	Co reprezentuje dziedziczenie?

Dziedziczenie reprezentuje specjalizacje. Mowimy, ze klasa
dziedziczaca (subclass) "jest rodzaju" klasy bazowej (superclass).
Innymi slowy, klasa bazowa reprezentuje pojecie bardziej ogolne, niz
klasa dziedziczaca.

-----
T.1.7	Co to jest polimorfizm?

Metody polimorficzne to takie, ktore moga zachowywac sie roznie, w
zaleznosci od tego, na rzecz jakiego konkretnego obiektu zostaly
wywolane. Metode polimorficzna mozemy przedefiniowac w klasie
implementujacej interfejs (czyli, najczesciej, dziedziczacej). Jezeli
teraz inne obiekty beda wywolywac te metode dla obiektow nowej klasy,
to bedzie wykonywala sie nowo, a nie stara metoda, choc same obiekty
wolajace nie zauwaza zmiany.

-----
T.1.8	Co zyskujemy przez polimorfizm?

Dzieki polimorfizmowi uzyskujemy elastycznosc systemow, bowiem mozemy
modyfikowac jedynie to, co rzeczywiscie nalezy zmienic, nie zas cale
"otoczenie" konkretnej metody

-----
T.1.9	Do czego potrzebna jest hermetyzacja?

Hermetyzacja, czyli ukrywanie metod i atrybutow klas, daje nam
bezpieczenstwo i przejrzystosc. Przypuscmy, ze mamy atrybut
"godzinaRozpoczecia" klasy "Wyklad". Gdyby wszyscy mieli dostep do
takiego atrybutu, mogloby sie zdarzyc, ze ktos ustawilby ja na liczbe
wieksza od 23, co oczywiscie nie ma sensu. Jednakze dzieki
hermetyzacji mozemy taka kontrole poprawnosci zawrzec w metodzie
"zmienGodzineRozpoczecia" i odmowic ustawienia nieprawidlowej
godziny.

-----
T.1.10	Co to jest klasa abstrakcyjna?

To taka klasa, ktora mozna tylko wykorzystywac przez dziedziczenie od
niej, a nie mozna tworzyc jej obiektow. Klasy abstrakcyjne
reprezentuja pojecia, ktore sa generalizacja innych pojec, ale same w
sobie nie reprezentuja zadnych obiektow w dziedzinie.

-----
T.1.11	Co to jest metaklasa?

Metaklasa to jakby klasa dla klasy, innymi slowy, egzemplarze
(instance) metaklas sa klasami. Metaklasy wystepuja nie we wszystkich
jezykach programowania, a nawet w tych, w ktorych wystepuja, trudno
wskazac ich konkretne, programistyczne zastosowanie. Jednakze czesto
stosuje sie jej nawet o tym nie wiedzac.

-----
T.1.12	Co to jest komponent?

Komponent to grupa klas, ktore sluza jednemu, konkretnemu celowi.
Klasy w komponencie charakteryzuja sie tym, ze maja silne powiazania
z innymi klasami wewnatrz tego samego komponentu i slabe poza nim.
Dzieki temu komponent moga byc rozwijane niezaleznie i podmieniane w
razie potrzeby, bez modyfikacji innych komponentow. Przykladem
komponentu moglaby byc grupa klas odpowiedzialna za obsluge wydruku.

-----
T.1.13	Co to sa obiektowe bazy danych?

Pojecie "bazy danych" nie jest szczegolnie szczesliwe. Lepiej mowic o
"obiektach trwalych". Systemy takie pozwalaja na przechowanie stanu
obiektu pomiedzy wywolaniami aplikacji, czyli tak, jak tradycyjna
baza danych przechowuje dane. Jednakze roznica miedzy nimi a takimi
bazami polega na fakcie, ze nie trzeba programowo odtwarzac stanu
aplikacji z bazy (np. zapytaniami SQL). Po prostu obiekty aplikacji i
obiekty bazy danych to to samo.

-----
T.1.14	Czy obiektowe bazy danych sa gorsze od relacyjnych?

To zalezy do czego. W przypadku odwzorowywania skomplikowanych
zaleznosci sa o niebo lepsze. W przypadku plaskich, kartotekowych
danych sa gorsze. Technologia ODBMS jest niewatpliwie mniej dojrzala
od RDBMS, jednakze swoj okres "dzieciecy" ma juz na pewno za soba.

-----
T.1.15	Co to jest CORBA?

CORBA to skrot od Common Object Request Broker Architecture. Jest to
architektura, ktore umozliwia komunikacje obiektom zlokalizowanym na
roznych maszynach, roznych systemach operacyjnych, roznych
architekturach sprzetowych komunikacje miedzy soba. W ramach
standardu CORBA istnieja takze uslugi (CORBA services), np. kolekcje,
zdarzenia (events), transakcje i inne. CORBA jest bardzo potezna
architektura, ale nie ma zbyt dobrych implementacji, szczegolnie
uslug. Ponadto organizacja OMG, ktora zdefiniowala CORBA'e, jest
cialem biurokratycznym i nieruchawym. Spowalnia to rozwoj tego
standardu.

-----
T.1.16	Czy programy obiektowe sa wolniejsze od proceduralnych?

Nie, to kompletna bzdura. Programowanie obiektowe pozwala na
zastosowanie takich technik, ktore czynia program bezpieczniejszym,
stabilniejszym, szybszym i bardziej elastycznym. Ponadto, technologia
obiektowa pozwala tworzyc system w sposob bardziej rygorystyczny, a
wiec pewniejszy i bardziej skoordynowany, niz technologia
proceduralna. Skutkiem jest generalnie wyzsza jakosc systemow,
szczegolnie tych powazniejszych, a wiec i wieksza szybkosc ich
dzialania.
Opinie taka programy obiektowe zawdzieczaja niedouczonym
programistom, ktorzy, liznawszy odrobiny C++, poczuli sie ekspertami
od obiektow i wyglaszali na prawo i lewo podobne bzdury.

---------------------------------------------------------------------------

-----
T.2.1	Jak w prosty sposob zrozumiec opis bledu w BC++?

Przeczytac opis bledu, zajrzec do "Programmer's Manual",
"Programmer's Reference", podrecznika C++.
Jesli nie pomoze, skontaktowac sie z innymi osobami piszacymi w C++.

-----
T.2.2	Co zrobic jesli klasa deklarowana w pliku naglowkowym uzywa typow
	deklarowanych w innych plikach naglowkowych?

W _kazdym_ pliku naglowkowym nalezy wpisac:

#ifndef nazwapliku_h
#define nazwapliku_h
..
#endif

I mozesz bezkarnie wlaczac potrzebne ci headery.

-----
T.2.3	Co to sa dziwne pliki w katalogu "/usr/g++-include/gen" z
	roszerzeniami ".ccP" oraz ".hP"?

Jest to po prostu biblioteka "libg++". Dowiedziec sie czegos wiecej mozesz
z dokumentacji. A pliki z rozszerzeniem ".ccP" i ".hP" sa wejsciowymy
plikami do programu "genclass". To sa pliki ze starej wersji kompilatora,
ktory nie mial wlaczonych templates, wiec uzywalo sie tego i "genclass"
specyfikujac jaki mial byc bazowy typ, "genclass" tworzyl z tego pliki
np. "<type>Vec.cc" i "<type>Vec.h" zastepujac <T> podanym typem.

-----
T.2.4	Jak w C++ obsluguje sie funkcje ze zmienna liczba parametrow?

W starym C stosowalo sie <varargs.h>, w nowym (ANSI C oraz C++)
stosuje sie <stdarg.h>.

Ponizej przyklad programu wykorzystujacy <stdarg.h>.
 va_list   - typ zmiennej pomocniczej
 va_start  - inicjalizacja listy
 va_argptr - przesuniecie wskaznika listy na nastepny element

#include <stdio.h>
#include <stdarg.h>

void pisz(char *tekst,...)
{
va_list argptr;

  va_start(argptr,tekst);
  printf("\nTo sa dane : %s",tekst);
  while(*(tekst=va_arg(argptr,char *))!=NULL)
    printf(" %s",tekst);
  va_end(argptr);
};

void main()
{
  pisz("ala","ola","kot","domek na prerii","i nic",NULL);
};

Typowo to jest tak, ze pierwszy parametr zawiera informacje o liczbie
dalszych parametrow. Moze to byc liczba, ale moze byc tak jak w "printf":
  printf("zmienna %s = %d",...)
Tu jest podane, ze tylko dwoch parametrow trzeba sie doszukac.

-----
T.2.5	Czy mozna zaimplementowac funkcje wirtualne w C?

Tak - mozna to zrobic poprzez umieszczenie wskaznikow do funkcji razem
z danymi, np:

struct ojciec {
  int daneojca;
  int *funkcjaWirtualna(char *arg);
};

struct syn {
  struct ojciec o;
  int danesyna;
  int *mojaFunkcjaWirtualna();
};

struct syn *konstuktor_syna()
{
  struct syn *s = malloc(...);
  s->mojaFunkcjaWirtualna = syn_mojaFunkcja;
  s->o.funkcjaWirtualna = s->mojaFunkcjaWirtualna; // podmiana wskaznika
                                                   // funkcji wirtualnej
}

czyli poprzez podmiane wskaznika do funkcji. Taka realizacja jednak
umozliwa jednak uzywanie tylko pseudo-wirtualnych funkcji. Jesli chcemy
uzywac naprawde takich funkcji uzyjmy jezyka obiektowego, gdyz w tych
jezykach funkcja/metoda wirtualna wyroznia sie tym, ze niezaleznie od
sposobu wywolania zawsze wykonana zostanie funkcja odpowiadajaca
rzeczywistemu typowi klasy. Tak jak w ponizszym przykladzie:

foobar( struct ojciec *o)
{
  o->mojaFunkcjaWirtualna(); // jesli o jest wskaznikiem na syna
                             // to wywolane zostanie syn_mojaFunkcja
}

-----
T.2.6	Czy stosowanie zaprzyjazniania klas nalezy do dobrej praktyki
	programisty?

Nie, gdyz dopuszcza do latwego dostepu do pol prywatnych i
chronionych. Narusza to zasade "jedyna aktywnosc systemu
obiektowego to przekazywanie wiadomosci (message passing)". Istnieje
roznica miedzy zapisaniem "kolo->radius=5;", a "kolo->setRadius(5);".

-----
T.2.7	Gdzie mozna dostac gramatyke C++ (obojetnie dla jakiego narzedzia,
	preferowane yacc(bison), lex(flex) itp), ale koniecznie AT&T 2.0
	(glownie chodzi o nested classes oraz templates)?

Powinna byc w zrodlach GNU cc.
Jest rowniez w B.Stroustrup "The C++ Programming Language", 3rd ed.,
Appendix A (niekompletna).

-----
T.2.8	Czy przejscie do OOP wymaga odrzucenia "balastu proceduralnego"?

Wczytujac sie w Stroustrupa "Jezyk C++" mozna zauwazyc jego
slowa: nowe techniki programowania nie neguja starych - uzupelniaja je.
To nie rewolucja. Tam gdzie wystarcza procedury lub moduly, nie szukamy
obiektow. 
[czy ktos moze znalezc nr rozdzialu i paragrafu, lub nr strony ? Kamil]

-----
T.2.9	Co to jest konstruktor kopiujacy?

Konstruktor kopiujacy jest bardzo podobny do operatora przypisania,
tyle ze o ile operator przypisania uzywany jest dla obiektow juz
istniejacych, to konstruktor kopiujacy gdy tworzymy nowy obiekt i
jednoczesnie nadajemy mu jakas wartosc. Przyklad (bo bez przykladu
raczej malo kto zrozumie :-) ):

class A
{
 private:
   int data;

 public:
  A(int new_data=0)    : data(new_data) {};  // To jest zwykly
                                             // konstruktor

  A( A& a ) : data(a.data) {};     // A to konstruktor kopiujacy

  A& operator=(A &a) { data=a.data; return *this; } // a to
                                                    // operator przypisania
};

I teraz...

main()
{
 A a(1);       // Tu zostanie wywolany zwykly konstruktor, z argumentem 1
 A b;          // Podbnie, tyle ze argument zostanie domyslnie
               // przyjety jako 0
 A c=b;        // Tutaj konstruktor kopiujacy z argumentem b
 A d;          // A tutaj operator przypisania z tym samym argumentem
 d=b;
};
Najwazniejsze w tym wszystkim sa ostatnie trzy linijki, bo tutaj
wlasnie widac roznice, kiedy wywolywany jest operator przypisania, a
kiedy konstruktor kopiujacy. Konstruktor kopiujacy jest tylko i
wylacznie wtedy gdy przypisanie nastepuje rownoczesnie z utworzeniem.
	Dlaczego to wyroznienie? Pozwala to zaoszczedzic operacji, bo
oczywiscie moglo by byc i tak ze kazda instrukcja typu "A b=c;"
bylaby rozbijana na dwie: "A b; b=c;". Ale wtedy niepotrzebnie obiekt
"b" bylby dwa razy inicjowany (w naszym przypadku najpierw "data=0",
a potem "data=c.data").
	Taka instrukcja jak "A b=c;" jest rownowazna po prostu "A b(c);" 
a nie (jak mogloby sie wydawac) parze instrukcji "A b; b=c;".
	Ponizsze przyklady takze sa ciekawe:
class klasaA {
  public:
  klasaA metoda() { return (*this); };
  ...
};
Tutaj zostanie najpierw wykonana kopia obiektu (poprzez wywolanie
kostruktora kopiujacego) i kopia zostanie zwrocona jako wynik metody;
Trzeba bardzo uwazac na brak znaczku referencji "&"!!!
class klasaA {
  public:
  klasaA& metoda()
  {
    klasaA temp;
    ....
    return temp;
  };
  ....
};
Poniewaz "temp" jest obiektem o czasie zycia tylko wewnatrz metody, wiec by
moc zwrocic referencje do niego trzeba miec kopie o zasiegu wiekszym.
Kopilator wiec wola konstruktor kopiujacy z argumentem "temp" i tworzy jego
kopie na stercie i zwraca referencje do nowego obiektu.

-----
T.2.10	Czy istnieje domyslny konstruktor kopiujacy?

Tak - kopiuje poszczegolne pola. Z tego powodu nie nadaje sie
do klas zawierajacych wskazniki - w efekcie otrzymujemy dwa obiekty
wskazujace na ten sam (trzeci) obiekt. Jezeli teraz jeden z tych
obiektow zostanie usuniety, to najprawdopodobniej zostanie tez
zniszczony obiekt przez niego wskazywany, i drugi z obiektow bedzie
wskazywal cos blednego. Dlatego tez gdy uzywamy operacji przypisania,
a dana klasa zawiera wskazniki, to trzeba konstruktor kopiujacy
zdefiniowac samemu, umieszczajac w nim operacje potrzebne do
utworzenia kopii obiektu wskazywanego przez wskaznik.

-----
T.2.11	Jak uniknac dolaczania metod wirtualnych, z ktorych nie korzystam, a
	sa zadeklaroawne w definicji objektu?

Pozne laczenie ("late binding"), ktore UMOZLIWIA tworzenie metod
wirtualnych, polega wlasnie na tym, ze program w momencie kompilacji
i linkowania _nie wie_, ktore metody beda mu potrzebne. Inna sprawa ze
zwyklymi metodami.

-------
T.2.12	Ciekawostki z historii C++.

Autorem C++ jest Bjarne Stroustrup. W swojej ksiazce "The Design and
Evolution of C++" skladajac wyrazy holdu za wplyw na powstanie jezyka C++,
Stroustrup wymienia m.in. nastepujace osoby: Briana Kernighana, Andrew
Koeniga, Douga McIlroya, Jonathana Shopiro. Kristen Nygaard (Simula 67)
i Dennis Ritchie (C) zajmuja na tej liscie miejsca szczegolnie eksponowane.
	W pazdzierniku 1979 roku istnial 1 uzytkownik C++ (C z klasami),
w  pazdzierniku  1981 C++ mial 38 uzytkownikow, w dziesiec lat pozniej -
400 000 osob przyznawalo sie do programowania w C++. A obecnie?
	Obecnie trwaja prace nad normalizacja jezyka C++,
prowadzone przez kilka cial standaryzacyjnych. 
Standard jest juz zatwierdzony, 
i mozna go zakupic bezposrednio w ANSI.
Bjarne Stroustrup od cwiercwiecza interesuje sie filozofia i historia.
Jego sympatie do empirystow i awersja do idealistow, "uszczesliwiajacych"
ludzkosc "tym, co dla niej dobre" (slowa Stroustrupa), wplynely na
niektore decyzje i rozwiazania projektowe w C++.

-------
T.2.13	Stosowac wskaznik czy referencje?

Istnieja zasadnicze roznice miedzy wskaznikiem, a referencja:
	1. Referencje nie moga byc puste
	2. Raz ustawionej referencji nie mozna przeniesc na inny obiek
	3. Nie mozna zrobic referencji do referencji, tak jak robi sie
	wskaznik do wskaznika.
Generalnie, lepiej jest stosowac referencje. Jednakze jezeli z wyzej
wymienionych powodow jest to niemozliwe, to nalezy zastosowac
wskaznik.

-------
T.2.14	Co to sa sprytne wskazniki (smart pointers)?

Jest to szczegolny rodzaj klas, ktore definiuja operator rzutowania
na typ pierwotny (ktory opakowuja). Z tego powodu moga byc stosowane
w programie tak, jakby byly typu pierwotnego. Najbardziej znane
przyklady sprytnych wskaznikow to string (opakowujacy wskaznik do
char) i auto_ptr (szablon parametryzowany opakowywanym typem) ze
standradowej biblioteki C++.

-------
T.2.15	Czy wszystkie metody w mojej klasie powinny byc wirtualne?

W zasadzie tak. Deklarujac metode jako niewirtualna uniemozliwiasz
zmiane jej implementacji w klasie dziedziczacej, a tym samym zawezasz
elastycznosc swojego systemu.
Jednakze w przypadku metod prostych, np. jedynie zwracajacych
referencje do atrybutu, lepiej zrobic je inline, a metoda inline nie
moze byc wirtualna.

-------
T.2.16	Czy konstruktory moga byc wirtualne?

Nie. Ale mozna stworzyc odpowiednik konstruktora wirtualnego. Opisuje
to wzorzec Abstract Factory z ksiazki "Design Patterns", Gamma et al.

-------
T.2.17	Jak tworzyc klasy abstrakcyjne?

Klasa abstrakcyjna jest kazda klasa, ktora ma choc jedna metode
czysto wirtualna (abstrakcyjna), czyli zadeklarowana, a nie
zaimplementowana. Mozna klase uczynic abstrakcyjna takze deklarujac
wszystkie jej konstruktory jako prywatne lub chronione (protected).

---------------------------------------------------------------------------
-----
T.3.1	Czy jest dostepna darmowa implementacja Smalltalka?

Tak - w ramach GNU. Znalezc go mozna w wiekszosci katalogow z GNU.

-----
T.3.2	Czy SmallTalk jest dobry w praktyce, czy tylko w teorii?

W przypadku Smalltalka o teorii mogla byc mowa jakies 10 lat temu. Teraz
jest to praktyka. Niejaki Dave Thomas z Kanady odpowiedzial na to
pytanie w bardzo ciekawym referacie. Oto, co wdrozono na Smalltalku:

1. Centrale telefoniczna dla kilkudziesieciotysiecznego miasta.
2. "Zastosowania specjalne".
3. IBM zatrudnil ostatnio (pocz.'94) okolo 300 programistow w Smalltalku.
   Chyba nie do podlewania kwiatkow.
4. System analizy jakosci programow napisanych w C.

Tyle pamietam. Inna sprawa, ze Smalltalk nie dorownuje C++
rozpowszechnieniu, wiec i produkty komercyjne nie sa tak czeste. Ja nie
potrafie podac zadnych, ale w C++ to chyba tez tylko te, w ktorych
pisaniu sam uczestniczylem.

Czytalem, ze zrobienie jednej klasy w Smalltalku zajmuje 1 osobodni, w
C++ trzy razy tyle. Oczywiscie slyszalem to od entuzjastki Smalltalka,
wiec trzeba wziac poprawke.

-----
T.3.3	Gdzie mozna dowiedziec sie o jezyku Smalltalk i jego zastosowaniach?

Pod nastepujacym adresem:

http://www.stic.org

Jest to adres Smalltalk Industry Council, instytucji zrzeszajacej
firmy produkujace oprogramowanie i narzedzia do Smalltalka. Pod tym
adresem znalezc mozna liste dostepnych kompilatorow (komercyjnych i
darmowych), firmy produkujace biblioteki i narzedzia, materialy do
nauki Smalltalka, informacje o wybranych projektach wykonanych przy
pomocy Smalltalka oraz porownanie sprawnosci Smalltalka z jezykami C i
C++.

---------------------------------------------------------------------------
-----
T.4.1	Jak powinienem zabrac sie za programowanie obiektowe?

Wykonac analize i projekt. Wybrac jezyk i zaimplementowac projekt.
Na poczatek doradzam kilka niewielkich projektow.
Nie zaszkodzi poczytac o analizie, projektowaniu i programowaniu
obiektowym.

-----
T.4.2	Czy OOP oznacza brak optymalizacji?

Ani tak, ani nie - zaden jezyk z gory nie zaklada braku optymalizacji. To
zalezy tylko i wylacznie od konkretnego programu.

-----
T.4.3	Jak rozpoznawac, czy dany program lub projekt jest dobry ?

Mozliwe kryteria:

o  dziala - dobrze, nie dziala - zle
o  stopien realizacji obiektow jako "czarnych skrzynek"
o  zbyt mala lub zbyt duza wiedza klas
o  czytelnosc
o  podatnosc na zmiany
o  powiazania miedzy modulami
o  mozliwosc powtornego uzycia

-----
T.4.4	Poszukuje informacji na temat rozszerzen do jezykow obiektowych
	(C++, Smalltalk, Eiffel), takich jak np. O++ do C++
	O++ jest rozszerzeniem C++ pozwalajacym na tworzenie obiektow 
	trwalych (persistent), manipulowanie nimi, laczenie w clustery etc.

Jesli chodzi o Smalltalk, to jego rozszerzeniem jesli silnie stypizowany
Strongtalk.

---------------------------------------------------------------------------
end of pl.comp.object FAQ and Summary
---------------------------------------------------------------------------
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17319
Author: andrew
Date: Sun, 16 Dec 2007 11:15
27 lines
1959 bytes
Użytkownik "Kamil Konieczny" <kkoniec@mks.com.pl> napisał w wiadomości 
news:pl-comp-objects-faq-1-1197738604@ict.pwr.wroc.pl...
> Posted-By: auto-faq 3.1.1.2
> Archive-name: pl-comp-objects-faq
>
> ---------------------------------------------------------------------------
> Zawartosc: pl.comp.objects FAQ (Frequently Asked Questions and Summary)
> Data: 1998.08.18
> Wersja: 3.2
> Autorzy: Kuba Chabik
> Kamil Konieczny  kkoniec@mks.com.pl
> ---------------------------------------------------------------------------
>
> Wykorzystane materialy: poprzednia (druga) edycja FAQ, opracowana przez
> Maciej "MACiAS" Pilichowski, macias@vm.cc.uni.torun.pl
> Data opracowania: 2.05.95 - 16.05.95
>        Zasoby: 6.12.94 - 12.04.95
>

Co do literatury po angielsku dodał bym bardzo dobrą książkę:
- "Applying UML and Patterns", C. Larman'a;

A do polskich:
- "Język UML 2.0", Wrycza;
- "Wzorce projektowa", GoF, WNT;

Andrew
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17320
Author: Sektor van Skijlen
Date: Sat, 12 Jan 2008 19:54
41 lines
2822 bytes
Dnia Sun, 16 Dec 2007 12:15:19 +0100, andrew skrobie:
> Użytkownik "Kamil Konieczny" <kkoniec@mks.com.pl> napisał w wiadomości 
> news:pl-comp-objects-faq-1-1197738604@ict.pwr.wroc.pl...
> > Posted-By: auto-faq 3.1.1.2
> > Archive-name: pl-comp-objects-faq
> >
> > ---------------------------------------------------------------------------
> > Zawartosc: pl.comp.objects FAQ (Frequently Asked Questions and Summary)
> > Data: 1998.08.18
> > Wersja: 3.2
> > Autorzy: Kuba Chabik
> > Kamil Konieczny  kkoniec@mks.com.pl
> > ---------------------------------------------------------------------------
> >
> > Wykorzystane materialy: poprzednia (druga) edycja FAQ, opracowana przez
> > Maciej "MACiAS" Pilichowski, macias@vm.cc.uni.torun.pl
> > Data opracowania: 2.05.95 - 16.05.95
> >        Zasoby: 6.12.94 - 12.04.95
> >

> Co do literatury po angielsku dodał bym bardzo dobrą książkę:
> - "Applying UML and Patterns", C. Larman'a;

> A do polskich:
> - "Język UML 2.0", Wrycza;
> - "Wzorce projektowa", GoF, WNT;


Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
czy właściciel tego bota jeszcze żyje.

Sprawdź sobie, kiedy był robiony ostatni update, to się zdziwisz.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17321
Author: andrew
Date: Sun, 13 Jan 2008 08:37
15 lines
1574 bytes
> Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat 
> regularnie
> spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie 
> "pl.comp.objects
> FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie 
> wie,
> czy właściciel tego bota jeszcze żyje.
>
> Sprawdź sobie, kiedy był robiony ostatni update, to się zdziwisz.
>

To mnie teraz zażyłeś ;)

Andrew
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17322
Author: Miros/law L. Baran
Date: Tue, 15 Jan 2008 18:57
20 lines
1897 bytes
PT Sektor van Skijlen pisze:

> Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
> spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
> FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
> czy właściciel tego bota jeszcze żyje.

Sam jesteś ciołkiem, młody człowieku. Gdybyś zwrócił uwagę na to, co
czytasz, zauważyłbyś, że bot chętnie wysyłałby nową wersję. Niestety,
użytkownicy grupy są na to za leniwi i zamiast czytać, wolą wyzywać
różne stworzenia od ciołków.

Jubal (...jeśli są chętni do stworzenia aktualnej wersji FAQ, mogą się
oni zgłosić pod adres podany w tekście FAQ).

-- 
[ Miroslaw L Baran | jabber id: baran-at-hell-pl | key-id: FC494FC4 | 0101010 ]

           Fighting for peace is like making love for virginity.
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17325
Author: Sektor van Skijlen
Date: Tue, 15 Jan 2008 21:33
95 lines
6197 bytes
Dnia Tue, 15 Jan 2008 18:57:28 +0000 (UTC), Miros/law L. Baran skrobie:
> PT Sektor van Skijlen pisze:

> > Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> > sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
> > spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
> > FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
> > czy właściciel tego bota jeszcze żyje.

> Sam jesteś ciołkiem, młody człowieku.

Ile ty masz lat, że zwracasz się do mnie w ten sposób?

> Gdybyś zwrócił uwagę na to, co
> czytasz, zauważyłbyś, że bot chętnie wysyłałby nową wersję.

Ach i och. Ależ ja wcale nie proszę bota o wysyłanie nowej wersji, nie prosi o
to zresztą nikt na tej grupie, a jedyna rzecz, jaką chciałbym, aby ów bot
zrobił, to aby spierdalał z tej grupy w podskokach.

> Niestety,
> użytkownicy grupy są na to za leniwi i zamiast czytać, wolą wyzywać
> różne stworzenia od ciołków.

Nie - po prostu, jeśli tego nie zauważyłeś, większość użytkowników ma jego
charytatywną działalność głęboko w dupie. I sami sobie na to zasłużyliście.

-> ...

> Jubal (...jeśli są chętni do stworzenia aktualnej wersji FAQ, mogą się
> oni zgłosić pod adres podany w tekście FAQ).

Przypominam ci, że jeszcze jakieś 10 lat temu (no, 8) owo FAQ owocowało gorącą
dyskusją, gdzie poszczególne punkty były omawiane, były podawane propozycje
zmian, propozycje dodatków, ulepszeń. Wiele było na te tematy powiedziane,
wiele się wyjaśniło, co więcej, wyszło wiele dodatkowych informacji
precyzujących określone pojęcia i wydawało się, że nawet wszyscy uczestnicy
grupy w wielu punktach zgadzali się co do koniecznych zmian w FAQ.

I wyszło z tego jedno wielkie gówno. FAQ było potem podsyłane kilkakrotnie,
znów gorąco komentowane, i znów - tradycyjnie, można rzec - równo olane.

Przez długi czas dostarczaliśmy swoimi dyskusjami wiele ciekawych materiałów,
którymi można by uzupełnić owo FAQ. Ile z tego zanotowaliście? O ile sobie
przypominam, to sam osobiście wysłałem nawet kilka W PEŁNI OPRACOWANYCH
PUNKTÓW do FAQ, takie tylko aby "wyciąć i wkleić".

Żadna najmniejsza cząstka owych dyskusji nie znalazła odzwierciedlenia we
wciąż na nowo wysyłanym FAQ na grupę. Przyzwyczailiście w ten sposób
wszystkich użytkowników do tego, że wszelkie tego typu zmiany mogą zgłaszać
"sobie a muzom". Jakiekolwiek ponaglania z naszych stron (nie wiem nawet, czy
czasem ktoś nie wysyłał również bezpośrednio pod adres - wiele lat w końcu
upłynęło) nie dawały żadnego rezultatu. A ty teraz nagle wyskakujesz jak Filip
z konopii, że łaskawie możecie przyjąć NOWO OPRACOWANE FAQ, jeśli znajdzie się
jakiś jeleń, który to zrobi.

Na dodatek, wszystkie te dyskusje są dostępne w archiwum grupy na Google
groups. Miałeś bardzo dużo czasu, aby tam zajrzeć, i popatrzeć o czym
dyskutowało się w okolicach np. 2000 roku. Tego nie zrobiłeś również.

A teraz masz jeszcze czelność wyzywać użytkowników od leni, gdy wam nie
chciało się przez te 10 lat ruszyć dupy, żeby zebrać te wszystkie materiały do
kupy i opracować, tylko czekacie, aż użytkownicy podadzą wam gotowe materiały
na tacy, a wy łaskawie wsadzicie sobie te materiały w... bota, który będzie
dalej radośnie wysyłał to na grupę pl.comp.objects.

Serdeczne dzięki, jeśli będę miał ochotę na taką działalność charytatywną, jak
opracowanie FAQ do pl.comp.objects, to zorganizuję to sam, żadnej łaski ni
błogosławieństwa z waszej strony potrzebował nie będę. Jeśli wasz udział w tym
FAQ polega wyłącznie na tym, że łaskawie wkleicie uprzednio wyszlifowane FAQ
do pliku, który bot potem wyśle na grupę, to wybacz, jeśli chcesz zobaczyć
prawdziwego lenia, lepiej spójrz w lustro.

Zrozum to wreszcie: to jest robota po nic, nikomu nie służy, nikt jej nie
chce, na sieci można znaleźć tysiące informacji znacznie lepszej jakości (o
tzw. bibliotekach nie wspominając). Jeśli koniecznie chcesz trzymać to FAQ i
upubliczniać, to załóż sobie własną stronę www i powieś to tam (i siebie też
najlepiej przy okazji).

Przestańcie wreszcie uprawiać swoją własną prywatną zabawę z grupą
pl.comp.objects. Zróbcie sobie własną stronę i na niej się bawcie. 

> -- 
> [ Miroslaw L Baran | jabber id: baran-at-hell-pl | key-id: FC494FC4 | 0101010 ]

>            Fighting for peace is like making love for virginity.

Ha! Teraz wiele się wyjaśniło. Człowiek podpisujący się taką myślą to na 99%
człowiek, do którego żadne rzeczowe argumenty nie docierają.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17324
Author: A.L.
Date: Wed, 16 Jan 2008 00:39
30 lines
2253 bytes
On Tue, 15 Jan 2008 18:57:28 +0000 (UTC), "Miros/law L. Baran"
<baran@hell.pl> wrote:

>PT Sektor van Skijlen pisze:
>
>> Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
>> sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
>> spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
>> FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
>> czy właściciel tego bota jeszcze żyje.
>
>Sam jesteś ciołkiem, młody człowieku. Gdybyś zwrócił uwagę na to, co
>czytasz, zauważyłbyś, że bot chętnie wysyłałby nową wersję. Niestety,
>użytkownicy grupy są na to za leniwi i zamiast czytać, wolą wyzywać
>różne stworzenia od ciołków.
>
>Jubal (...jeśli są chętni do stworzenia aktualnej wersji FAQ, mogą się
>oni zgłosić pod adres podany w tekście FAQ).

"FAQ" znaczy "Frequently Asked Questions" i sie je pisze wtedy gdy
jakies pytania ciagle i ciagle w kolko pojawiaja sie na grupie.
Poniewaz ruch na tej grupie jest dokladnei zerowy, nie ma zadnych
pytan i zadne "FAQ" nie jest potrzebne.

Owo "FAQ" wysylane automatycznie (i systematycznie) przez ostatnie 10
lat to z punktu widzenia obecnej technologii stek kompletnych bzdur.
Owszem, 10 lat temu to byly tematy do dyskusji, ale dzisiaj to tylko
tematy do zartow.

A.L.
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17328
Author: Miros/law L. Baran
Date: Thu, 24 Jan 2008 18:10
30 lines
2693 bytes
well founded, the people are not so foolish as is
said. And so we have destroyed the opinion which destroyed that of the
people.

But we must now destroy this last proposition and show that it remains
always true that the people are foolish, though their opinions are sound
because they do not perceive the truth where it is, and, as they place it
where it is not, their opinions are always very false and very unsound.

329. The reason of effects.--The weakness of man is the reason why so many
things are considered fine, as to be good at playing the lute. It is only an
evil because of our weakness.

330. The power of kings is founded on the reason and on the folly of the
people, and specially on their folly. The greatest and most important thing
in the world has weakness for its foundation, and this foundation is
wonderfully sure; for there is nothing more sure than this, that the people
will be weak. What is based on sound reason is very ill-founded as the
estimate of wisdom.

331. We can only think of Plato and Aristotle in grand academic robes. They
were honest men, like others, laughing with their friends, and, when they
diverted themselves with writing their Laws and the Politics, they did it as
an amusement. That part of their life was the least philosophic and the
least serious; the most philosophic was to live simply and quietly. If they
wrote on politics, it was as if laying down rules for a lunatic asylum; and
if they presented the appearance of speaking of a great matter, it was
because they knew that the madmen, to whom they spoke, thought they were
kings and emperors. They entered into their principles in order to make
their madness as litt
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17323
Author: Sektor van Skijlen
Date: Thu, 24 Jan 2008 19:28
22 lines
2201 bytes
from His wounds. Surely
such things will not be wondered at by them who have observed how any
strong affections about temporal matters will excite lively ideas and
pictures of different things in the mind.

The vigorous exercises of the mind, doubtless, more strongly impress it
with imaginary ideas in some than others, which probably may arise from
the difference of constitution, and seems evidently in some, partly to
arise from their peculiar circumstances. When persons have been
exercised with extreme terrors, and there is a sudden change to light
and joy, the imagination seems more susceptive of strong ideas; the
inferior powers, and even the frame of the body, are much more affected,
than when the same persons have as great spiritual light and joy
afterwards; of which it might, perhaps, be easy to give a reason. The
forementioned Reverend Messrs. Lord and Owen-who, I believe, are
esteemed persons of learning and discretion where they are best
known-declared, that they found these impressions on persons'
imaginations quite different things from what fame had before
represented to them, and that they were what none need to wonder at-or
to that purpose.

There have indeed been some few instances of
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17336
Author: Sektor van Skijlen
Date: Thu, 24 Jan 2008 19:39
27 lines
2318 bytes
to some, it would be only during the moment
that they see such demonstration; but an hour afterwards they fear they have
been mistaken.

Quod curiositate cognoverunt superbia amiserunt.91

This is the result of the knowledge of God obtained without Jesus Christ; it
is communion without a mediator with the God whom they have known without a
mediator. Whereas those who have known God by a mediator know their own
wretchedness.

544. The God of the Christians is a God who makes the soul feel that He is
her only good, that her only rest is in Him, that her only delight is in
loving Him; and who makes her at the same time abhor the obstacles which
keep her back and prevent her from loving God with all her strength.
Self-love and lust, which hinder us, are unbearable to her. Thus God makes
her feel that she has this root of self-love which destroys her, and which
He alone can cure.

545. Jesus Christ did nothing but teach men that they loved themselves, that
they were slaves, blind, sick, wretched, and sinners; that He must deliver
them, enlighten, bless, and heal them; that this would be effected by hating
self, and by following Him through suffering and the death on the cross.

546. Without Jesus Christ man must be in vice and misery; with Jesus Christ
man is free from vice and misery; in Him is all our virtue and all our
happin
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17326
Author: A.L.
Date: Thu, 24 Jan 2008 19:51
29 lines
2800 bytes
ever done so. We know well enough how those who are of
this mind behave. They believe they have made great efforts for their
instruction when they have spent a few hours in reading some book of
Scripture and have questioned some priests on the truths of the faith. After
that, they boast of having made vain search in books and among men. But,
verily, I will tell them what I have often said, that this negligence is
insufferable. We are not here concerned with the trifling interests of some
stranger, that we should treat it in this fashion; the matter concerns
ourselves and our all.

The immortality of the soul is a matter which is of so great consequence to
us and which touches us so profoundly that we must have lost all feeling to
be indifferent as to knowing what it is. All our actions and thoughts must
take such different courses, according as there are or are not eternal joys
to hope for, that it is impossible to take one step with sense and judgment
unless we regulate our course by our view of this point which ought to be
our ultimate end.

Thus our first interest and our first duty is to enlighten ourselves on this
subject, whereon depends all our conduct. Therefore among those who do not
believe, I make a vast difference between those who strive with all their
power to inform themselves and those who live without troubling or thinking
about it.

I can have only compassion for those who sincerely bewail their doubt, who
regard it as the greatest of misfortunes, and who, sparing no effort to
escape it, make of this inquiry their principal and most serious occupation.

But as for those who pass their life without thinking of this ultimate end
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17327
Author: Sektor van Skijlen
Date: Thu, 24 Jan 2008 20:42
26 lines
2266 bytes
Dignare me.84

God is only bound according to His promises. He has promised to grant
justice to prayers; He has never promised prayer only to the children of
promise.

Saint Augustine has distinctly said that strength would be taken away from
the righteous. But it is by chance that he said it; for it might have
happened that the occasion of saying it did not present itself. But his
principles make us see that, when the occasion for it presented itself, it
was impossible that he should not say it, or that he should say anything to
the contrary. It is then rather that he was forced to say it, when the
occasion presented itself, than that he said it, when the occasion presented
itself, the one being of necessity, the other of chance. But the two are all
that we can ask.

514. "Work out your own salvation with fear."

Proofs of prayer. Petenti dabitur.[85]

Therefore it is in our power to ask. On the other hand, there is God. So it
is not in our power, since the obtaining of (the grace) to pray to Him is
not in our power. For since salvation is not in us, and the obtaining of
such grace is from Him, prayer is not in our power.

The righteous man should then hope no more in God, for he ought no
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17329
Author: andrew
Date: Thu, 24 Jan 2008 21:22
33 lines
2840 bytes
them. e

430. For Port-Royal. The beginning, after having explained the
incomprehensibility.--The greatness and the wretchedness of man are so
evident that the true religion must necessarily teach us both that there is
in man some great source of greatness and a great source of wretchedness. It
must then give us a reason for these astonishing contradictions.

In order to make man happy, it must prove to him that there is a God; that
we ought to love Him; that our true happiness is to be in Him, and our sole
evil to be separated from Him; it must recognise that we are full of
darkness which hinders us from knowing and loving Him; and that thus, as our
duties compel us to love God, and our lusts turn us away from Him, we are
full of unrighteousness. It must give us an explanation of our opposition to
God and to our own good. It must teach us the remedies for these infirmities
and the means of obtaining these remedies. Let us, therefore, examine all
the religions of the world and see if there be any other than the Christian
which is sufficient for this purpose.

Shall it be that of the philosophers, who put forward, as the chief good,
the good which is in ourselves? Is this the true good? Have they found the
remedy for our ills? Is man's pride cured by placing him on an equality with
God? Have those who have made us equal to the brutes, or the Mohammedans who
have offered us earthly pleasures as the chief good even in eternity,
produced the remedy for our lusts? What religion, then, will teach us to
cure pride and lust? What religion will, in fact, teach us our good, our
duties, the weakness which turns us from them, the cause of this weakness,
the remedies which can cure it, and the means of obtaining these remedies?

All other religions have not been able to do so. Let us see what the wisdom
of God will do.

"Expect neither truth," she says, "nor cons
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17330
Author: Jacek_P
Date: Sun, 23 Mar 2008 18:43
19 lines
1747 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisal:
> Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
> spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
> FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
> czy właściciel tego bota jeszcze żyje.

Ale maszyna nadajaca z botem fizycznie istnieje:

> NNTP-Posting-Host: okapi.ict.pwr.wroc.pl

wiec mozna sie skontaktowac z Instytutem Informatyki, Automatyki i Robotyki 
Politechniki Wroclawskiej i poprosic o namiary na administratora okapi.

A akurat Kuby Chabika mianem "ciolka" raczej bym nie okreslal ;)
-- 
Pozdrawiam,

Jacek
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17331
Author: Miros/law L. Baran
Date: Sun, 23 Mar 2008 23:31
32 lines
2298 bytes
PT Jacek_P pisze:
> Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisal:
> > Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> > sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
> > spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
> > FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
> > czy właściciel tego bota jeszcze żyje.

> Ale maszyna nadajaca z botem fizycznie istnieje:

> > NNTP-Posting-Host: okapi.ict.pwr.wroc.pl

> wiec mozna sie skontaktowac z Instytutem Informatyki, Automatyki i Robotyki 
> Politechniki Wroclawskiej i poprosic o namiary na administratora okapi.

> A akurat Kuby Chabika mianem "ciolka" raczej bym nie okreslal ;)

E, pan Sektor (czy jak tam się zwie) ma problem z czytaniem ze
zrozumieniem i nie rozumie, co należy zrobić, żeby nieaktualne FAQ
zniknęło (bo przecież nie będzie się wysilał, coby napisać coś
aktualniejszego).

(ale miło widzieć, jak się -- bez zrozumienia o co chodzi -- pieni i
unosi wyższością intelektualną; dobry błazen a za darmo -- rzecz
rzadko spotykana)

Jubal

-- 
[ Miroslaw L Baran | jabber id: baran-at-hell-pl | key-id: FC494FC4 | 0101010 ]

         If at first you don't succeed, you must be a programmer.
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17334
Author: Sektor van Skijlen
Date: Tue, 25 Mar 2008 11:07
38 lines
3123 bytes
Dnia Sun, 23 Mar 2008 18:43:44 +0000 (UTC), Jacek_P skrobie:
> Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisal:
> > Olej go. To jest bot, kt?ry zosta? ustawiony przez jakiego? cio?ka, kt?ry
> > sobie ubzdura?, ?e jest jakim? super-guru i od mniej wi?cej 10 lat regularnie
> > spamuje t? grup? ow? stert? idiotyzm?w nazywaj?c j? szumnie "pl.comp.objects
> > FAQ". Nie ma co odpowiada? na tego maila, bo na tej grupie nawet nikt nie wie,
> > czy w?a?ciciel tego bota jeszcze ?yje.

> Ale maszyna nadajaca z botem fizycznie istnieje:

> > NNTP-Posting-Host: okapi.ict.pwr.wroc.pl

> wiec mozna sie skontaktowac z Instytutem Informatyki, Automatyki i Robotyki 
> Politechniki Wroclawskiej i poprosic o namiary na administratora okapi.

> A akurat Kuby Chabika mianem "ciolka" raczej bym nie okreslal ;)

Mnie naprawdę nie interesuje, czy gościu ma jakiś konkretny dorobek naukowy i
profesjonalny, czy jest byle kim. Mam jedynie poważne wątpliwości co do istoty
samego FAQ. Zasada FAQ grupy usenet-owej (podobnie jak każdego innego FAQ)
jest taka, że jest to aktualizowane zgodnie z aktywnymi tematami na grupie,
jest poddawane dyskusji i doszlifowane, jest usłużnym zestawem informacji
zebranych z doświadczeń dyskutantów.

Powyższe FAQ jest całkowitym zaprzeczeniem wszelkich zasad FAQ: jest reliktem
ponad 15-letniej przeszłości, jedyne dyskusje jakie wzbudza, to narzekanie na
to, że maintainer tego FAQ jest głuchy jak beton komórkowy i nie zawiera ani
jednej informacji, która miałaby być dla kogokolwiek użyteczna.

Ktoś, kto swoim nazwiskiem firmuje takie gówno jest ciołkiem, niezależnie od
tego, czy nazywa się Jakub Chabik, Wiesław Pipsztycki, czy Jan Bielecki.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17332
Author: Sektor van Skijlen
Date: Tue, 25 Mar 2008 11:11
43 lines
3100 bytes
Dnia Sun, 23 Mar 2008 23:31:09 +0000 (UTC), Miros/law L. Baran skrobie:
> PT Jacek_P pisze:
> > Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisal:
> > > Olej go. To jest bot, który został ustawiony przez jakiegoś ciołka, który
> > > sobie ubzdurał, że jest jakimś super-guru i od mniej więcej 10 lat regularnie
> > > spamuje tą grupę ową stertą idiotyzmów nazywając ją szumnie "pl.comp.objects
> > > FAQ". Nie ma co odpowiadać na tego maila, bo na tej grupie nawet nikt nie wie,
> > > czy właściciel tego bota jeszcze żyje.

> > Ale maszyna nadajaca z botem fizycznie istnieje:

> > > NNTP-Posting-Host: okapi.ict.pwr.wroc.pl

> > wiec mozna sie skontaktowac z Instytutem Informatyki, Automatyki i Robotyki 
> > Politechniki Wroclawskiej i poprosic o namiary na administratora okapi.

> > A akurat Kuby Chabika mianem "ciolka" raczej bym nie okreslal ;)

> E, pan Sektor (czy jak tam się zwie) ma problem z czytaniem ze
> zrozumieniem i nie rozumie, co należy zrobić, żeby nieaktualne FAQ
> zniknęło

Oczywiście, bo normalni ludzie reagują na zwykłą prośbę.

> (bo przecież nie będzie się wysilał, coby napisać coś
> aktualniejszego).

Oczywiście, że nie mam zamiaru się wysilać, podobnie jak takowego zamiaru nie
ma nikt z uczestników tej grupy, włącznie z Tobą.

> (ale miło widzieć, jak się -- bez zrozumienia o co chodzi -- pieni i
> unosi wyższością intelektualną; dobry błazen a za darmo -- rzecz
> rzadko spotykana)

Super - u normalnych ludzi to się nazywa masochizm, ale być może ty dla swoich
działań masz inną nazwę, trochę poprawiającą nastrój psychiczny :)


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17335
Author: A.L.
Date: Tue, 25 Mar 2008 11:21
17 lines
1903 bytes
On Tue, 25 Mar 2008 11:07:39 +0000 (UTC), Sektor van Skijlen
<ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote:
 
>
>Powyższe FAQ jest całkowitym zaprzeczeniem wszelkich zasad FAQ: jest reliktem
>ponad 15-letniej przeszłości, jedyne dyskusje jakie wzbudza, to narzekanie na
>to, że maintainer tego FAQ jest głuchy jak beton komórkowy i nie zawiera ani
>jednej informacji, która miałaby być dla kogokolwiek użyteczna.
>
>Ktoś, kto swoim nazwiskiem firmuje takie gówno jest ciołkiem, niezależnie od
>tego, czy nazywa się Jakub Chabik, Wiesław Pipsztycki, czy Jan Bielecki.


Slusznie. Dobrze by bylo zeby ow KTOS przestal te smeici wysylac.
Wysylanie 15 letniego tekstu to zwykly spam.

A.L.
Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
#17333
Author: Adam Karpierz
Date: Tue, 01 Apr 2008 16:13
16 lines
1717 bytes
"Miros/law L. Baran" <baran@hell.pl> wrote:

> E, pan Sektor (czy jak tam się zwie) ma problem z czytaniem ze
> zrozumieniem i nie rozumie, co należy zrobić, żeby nieaktualne FAQ
> zniknęło (bo przecież nie będzie się wysilał, coby napisać coś
> aktualniejszego).

Pan natomiast nie rozumie, ze ktos kto wysyla jakies FAQ jest za nie
zwyczajnei i po ludzku  _odpowiedzialny_ !
Szczytem nieodpowiedzialnosci jest smiecic przez 10 lat  i nie zadac
sobie _najmniejszego trudu_ aby to naprawic/poprawic.

Jelsi to robi Kuba Chabik to i owszem jest w tym wzgledzie czlowiekiem
zupelnie nieodpowiedzialnym.

AK
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads