🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
3 messages
3 total messages Started by quas... Robert Perlinski Thu, 16 Nov 1995 00:00
Re: Robert Perlinski
#10
Author: quas... Robert Perlinski
Date: Thu, 16 Nov 1995 00:00
96 lines
4346 bytes
Odpowiadam Mackowi Pilichowskiemu, ktory napisal:

> : czy tworzenie prawdziwych systemow obiektowych jest
> : mozliwe w praktyce?
 
> Wg mnie tak, tyle, ze zalezy to od OS. Przeciez tylko
> OS limituje Ci takie, a nie inne zachowanie. Reszta to 
> wnetrze Twojego programu, a tam to juz wedle zasady 
> "jak sobie poscielesz tak sie wyspisz".

Nie zgadzam sie z Toba Maciek. Praktyka pokazuje, ze
im bardziej program jest niezalezny od systemu 
operacyjnego tym lepiej (przenosnosc). Idealnym 
rozwiazaniem jest uzycie dobrej, wieloplatformowej 
biblioteki obiektowej. Problem w tym, ze takich 
bibliotek jest na rynku malo i z reguly sa niezbyt
popularne. 

Gdyby nawet jednak przyznac Ci racje i zalozyc, ze 
"obiektowosc" naszych programow, zalezy od SO, to 
jest to tylko dowod na to, ze moja teza jest prawdziwa.
Dlaczego? Dlatego, ze systemy operacyjne, ktorych 
uzywamy na codzien wcale obiektowe nie sa.

> : - dane skladujemy w relacyjnej bazie danych
> 
> To duzy problem?
 
Tak, uwazam, ze jest to ogromny problem. Jak bowiem przy
pomocy relacji odzwierciedlic chociazby takie koncepcje 
jak dziedziczenie (wielodziedziczenie) i poliformizm.
Ja wiem od biedy mozna to zrobic, ale wszystkie 
rozwiazania jakie widzialem do tej pory sa na tyle
nieeleganckie i nieefektywne, ze stawiaja pod znakiem 
zapytania sens calego przedsiewziecia. Jesli chodzi o
mnie to uwazam, ze wlasnie relacyjne bazy danych stanowia 
najwieksza przeszkode przy tworzeniu systemow obiektowych.

> : - uzywamy proceduralnych lub quasi-obiektowych 
> :   bibliotek
> 
> No chyba obiektowych, jesli projekt ma byc OO.

Nie wiem jak ty, ale ja odkad zaczalem "zyc z 
programowania", niezbyt czesto mam mozliwosc wyboru 
narzedzi. Z reguly firma, dla ktorej zaczynam pracowac 
ma z gory ustalone preferencje. Swoja droga, powiedz mi
ile znasz bibliotek "czysto" obiektowych (tylko prosze
nie wymieniaj MFC)

> : - uzywamy narzedzi programistycznych, ktore w znikomym
> :   stopniu wspomagaja tworzenie systemow OO (niech
> :   przykladem bedzie Visual C++, Borland C++,
> :   Power Builder, Delphi)
 
> A tego to kompletnie nie rozumiem. VC++ nie wspomaga? 
> Delphi? A w ogole to po co mam masochistycznie uzywac 
> narzedzi, ktore mi nie ulatwiaja pracy???

Jesli chodzi o mozliwosci wyboru, to moje zdanie juz
znasz - w praktyce nieczesto ma sie ten komfort. Co do
wspomagania ze strony ww. narzedzi - uwazam, ze robia
to w znikomym stopniu. Kod wygenerowany przez roznego
rodzaju "wizards" jest dalece niedoskonaly (naprawde
uwazasz, ze jest to dobry kod obiektowy?) Tylko znowu -
w praktyce prawie kazdy z tego korzysta (czas). Nawet
Delphi, uwazane za super-obiektowe nie jest pod tym 
wzgledem doskonale - zeby Cie przekonac proponuje maly
eksperyment. Otworz nowa forme i umiesc na niej 
TabbedNotebook (jest to cos w rodzaju notatnika z wieloma 
niezaleznymi stronami, wyposazonego w zakladki, dzieki 
ktorym mozna dokonac wyboru strony - znane np. z Excela)
Zalozmy, ze nasz TabbedNotebook ma trzy strony. Na kazdej
z nich umiesc pare dowolnych obiektow (przyciski, teksty)
Rzuc okiem na kod wygenerowany przez Delphi - jedna klasa
do ktorej jak do worka wrzucone jest wszystko co do tej
pory zrobiles. Delphi nie bierze pod uwage tego, ze 
trzy strony w naszym TabbedNotebook beda prawdopodobnie
odpowiadac za zupelnie rozne zadania, mogace nie miec 
ze soba nic wspolnego. O wiele sensowniejsze byloby 
utworzenie trzech niezaleznych od siebie klas. Pol biedy
jesli mamy do czynienia z trzema stronami, co bedzie 
jesli bedzie ich dziesiec?


Reasumujac to wszystko, nadal uwazam, ze na dzien 
dzisiejszy, najbardziej oplacalne, jest tworzenie systemow,
ktore wykorzystuja techniki obiektowe - obiektowe jedanak
wcale nie sa. Wszelkie bardziej ortodoksyjne podejscia
przypominaja walke z wiatrakami i bardzo czesto, skazane
sa na niepowodzenie.

I to by bylo na tyle


Robert
Re: Robert Perlinski
#11
Author: raphael... Rafal Posmyk
Date: Fri, 17 Nov 1995 00:00
83 lines
4068 bytes
In article <9511161...@cig.com>
from 16 Nov 95 18:12:21 GMT
quas...@cig.com (Robert Perlinski) wrote:

> > : - dane skladujemy w relacyjnej bazie danych
> > 
> > To duzy problem?
>  
> Tak, uwazam, ze jest to ogromny problem. Jak bowiem przy
> pomocy relacji odzwierciedlic chociazby takie koncepcje 
> jak dziedziczenie (wielodziedziczenie) i poliformizm.
> Ja wiem od biedy mozna to zrobic, ale wszystkie 
> rozwiazania jakie widzialem do tej pory sa na tyle
> nieeleganckie i nieefektywne, ze stawiaja pod znakiem 
> zapytania sens calego przedsiewziecia. Jesli chodzi o
> mnie to uwazam, ze wlasnie relacyjne bazy danych stanowia 
> najwieksza przeszkode przy tworzeniu systemow obiektowych.

Nie koniecznie. Zalezy od podejscia do sprawy. Niektore
systemy baz danych, mam tu na mysli SQL-Servery, pozwalaja
dzieki sposobowi odpytywania - ja tobie query, ty mi resultset,
na uniezaleznienie applikacji od modelu danych. Nalezy wiec
skonstruowac takie klasy, ktore sa w stanie zapamietac
SQL-statements (chetnie sparametryzowane) i posiadaja
"inteligentny" pojemnik, ktory potrafi przyjac dowolny
zbior wynikowy (resultset), tzn. o dowolnej liczbie
kolumn (dowolnego typu) i linijek. Chodzi mi o to,
aby relacyjnie zapamietane dane przeniesc do objektu.
Inaczej mowiac - dane nie sa (statycznie) reprezentowane
przez "datamember" korespondujacej klasy; klasa posiada
tylko przepis (SQL-statementa) jak sobie odpowiednie dane
"zalatwic". W ten sposob mozna sie dosc elegancko odpiac
od relacyjnego modelu danych. Z puktu widzenia programisty
(uzytkownika takich klass) nie ma znaczenia jak dana klasa
czyta, zapamietuje, zmienia czy kasuje dane. Jasne, ze effekt
ten jest osiagalny dopiero wtedy gdy takie klasy sa gotowe.

> > : - uzywamy proceduralnych lub quasi-obiektowych 
> > :   bibliotek
> > 
> > No chyba obiektowych, jesli projekt ma byc OO.

>                            ... Swoja droga, powiedz mi
> ile znasz bibliotek "czysto" obiektowych (tylko prosze
> nie wymieniaj MFC)

Osobiscie uwazam, ze MFC i OWL, sa barzo objektowe jezeli
wziac pod uwage jakosc windowsowskiego API. Kolesie poprostu
zrobili co mogli i nawet im to wyszlo :-)

Ale z punktu widzenia purrystow ...

> [... Delphi ...]
>                                             ... Na kazdej
> z nich umiesc pare dowolnych obiektow (przyciski, teksty)
> Rzuc okiem na kod wygenerowany przez Delphi - jedna klasa
> do ktorej jak do worka wrzucone jest wszystko co do tej
> pory zrobiles ...

Tu znowu dochodzimy do punktu, gdzie widac jak na dloni,
ze objektowosc applikacji zalezna jest od srodowiska
(np. systemu operacyjnego), w ktorym bedzie ona pracowac.
W tym konkretnym przypadku sa to windowsowskie zaleznosci
okienek - parent/child.

> Reasumujac to wszystko, nadal uwazam, ze na dzien 
> dzisiejszy, najbardziej oplacalne, jest tworzenie systemow,
> ktore wykorzystuja techniki obiektowe - obiektowe jedanak
> wcale nie sa. Wszelkie bardziej ortodoksyjne podejscia
> przypominaja walke z wiatrakami i bardzo czesto, skazane
> sa na niepowodzenie.

Jest tak dlatego, ze nasze objektowe podejscie do problemow
nie jest jeszcze "pelnoletnie". Podejzewam, ze nasze wnuki
bedo sobie z tym lepiej radzic :-)

class Rafal : public Posmyk {/*...*/}

o-------------------------------------------------------------------o
| Raphael Posmyk (Hamburg, Germany)                                 |
| "... carpe diem, quam minimum credula postero..." (Horatius)      |
| Please send/reply all to raphael...@hamburg.netsurf.de        |
o-------------------------------------------------------------------o
Re: Robert Perlinski
#12
Author: raphael... Rafal Posmyk
Date: Fri, 17 Nov 1995 00:00
16 lines
1112 bytes
In article <48hvmo$8...@parnas.mimuw.edu.pl>
from 17 Nov 1995 12:37:44 GMT
j...@itc.pw.edu.pl (Jan Rychter) wrote:

>   No co za horror ! Przeciez Rafal <-> Posmyk to relacja asocjacji a
> nie dziedziczenia !

To jednak jest dziedziczenie - Jestem Rafal po smyku :-)

Rafal

o-------------------------------------------------------------------o
| Raphael Posmyk (Hamburg, Germany)                                 |
| "... carpe diem, quam minimum credula postero..." (Horatius)      |
| Please send/reply all to raphael...@hamburg.netsurf.de        |
o-------------------------------------------------------------------o
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