[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Takie sobie refleksje..
Szanowni Państwo,
Pozwolę sobie włączyć się do dyskusji "refleksyjnej".
Pan Rafał wyraża w niej niezadowolenie z narzędzi
firmy PROGRESS. Niezadowolenie to nie wynika, moim
zdaniem, z tego, że produkty firmy PROGRESS są złe,
lecz raczej z Jego bardziej ogólnych poglądów na temat
sposobów tworzenia oprogramowania. Wniosek taki
wyciągnąłem na podstawie zadanego przez Niego pytania:
Mam pytanie:
Co Pan rozumie pod pojęciem programowania obiektowego w Progressie?
Wyręczając adresata tegoż pytania odpowiem, że chodzi o 3 cechy,
w które powinien być wyposażony język programowania: hermetyzację,
dziedziczenie i polimorfizm.
Język PROGRESS umożliwia uzyskanie hermetyzacji w podobny
sposób, jak umożliwia to język C (bez swojego rozszerzenia
obiektowego, jakim jest C++). Można to osiągnąć
poprzez stworzenie instancji procedury zewnętrznej
poleceniem RUN PERSISTENT, a następnie używając procedur
wewnętrznych - przez co zmienne zadeklarowane w głównym
bloku zewnętrznej procedury są dla programisty niewidoczne.
Może on na nich operować jedynie za pomocą procedur
wewnętrznych pełniących rolę metod. Jest to rzeczywiście
proteza. Program tak napisany będzie działał ok. 2,5 raza
wolniej przy wielokrotnym tworzeniu i niszczeniu instancji
procedury zewnętrznej, niż program który takiej instancji
nie tworzy (sprawdziłem to na wersji 9.1B PROGRESS-a pod
systemem WIN 2000).
Dziedziczenie i polimorfizm nie są w PROGRESS-ie dostępne.
Nie uważam, żeby fakt ten był podstawą do krytykowania
PROGRESS-a. Po prostu nie jest on językiem obiektowym,
co nie wyklucza możliwości realizacji za jego pomocą
naprawdę złożonych projektów. To właśnie dobry projekt,
stworzony za pomocą profesjonalnych narzędzi i standardów
(jak np. standard UML), pozwala na wytworzenie dobrego
oprogramowania. Wybór języka implementacji i narzędzi
nie odgrywa już tak dużej roli. Jeżeli mamy dobrych
programistów, którzy mają duże doświadczenie w używaniu
jęz. PROGRESS, to po co go wymieniać ?.
Główną zaletą PROGRESS-a jest, moim zdaniem, bardzo dobry
język do manipulowania danymi. Przynajmniej w porównaniu
z takim produktem, jak PL/SQL firmy ORACLE. Napisanie
złożonej transakcji w jęz. PROGRESS jest wg mnie
łatwiejsze i bardziej naturalne, niż używając jęz.
PL/SQL.
Pozdrawiam
-
Bogdan Brzozowski
------
Strona WWW: http://pluton.pol.lublin.pl/pugpl/index.htm
Obsluga listy: listserv@zeto.bydgoszcz.pl
Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
------