[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
------