[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Takie sobie refleksje..



Wydaje mi sie, ze Pan Bogdan wyjasnil cala sprawe najlepiej jak to tylko mozna.
Miedzy wierszami zas zawarl jeszcze jeden bardzo wazny element: co my wlasciwie
porownujemy? Czy wiemy co to jest jezyk 4GL -Fourth Generation Language (nie
jest to nazwa wymyslona przez Progress). Porownujmy wiec wlasciwie. Schodzac o
poziom nizej, kto mi powie co jest lepsze: C czy assembler. Moja odpowiedz:
zalezy co chcemy zrobic. Trzymajmy sie wiec pewnego poziomu. Wprawdzie to, ze
wiekszosc respondentow poronuje 4GL ze wszystkim dobrze swiadczy o Progress-ie
bo to znaczy, ze wykracza on daleko poza ramy jezyka manipulowania danymi i
mechanizmow Commintement Control czy tez tranzakcyjnosci. Najwlasciwszym
porownaniem jest wiec zaproponowany przez Pana Bogdana PL/SQL. Ja osobiscie
moge dodac ADELIA/400 4GL. Przez dlugi okres programowalem w RPG i nikt sie nie
zalil, ze jest to jezyk nie tylko nieobiektowy ale jako czysty RPG/400 byl
nawet pozycyjno zalezny (brrr..). ADELIA 4GL bardzo ulatwiala prace
developerskie (chociaz o obiektowosci nie bylo tam mowy i naprawde daleko jej
to Progress 4GL) jednakze wszystkie trudniejsze kwestie wymagaly powrotu do
zrodel. Moim zdaniem jest tu raczej kwestja umiejetnosci programistow.

Prosze wiec o wlasciwe porownania. Kazdy jezyk ma swoje zalety i wady. Prosze
sprobowac napisac obsluge jakiegokolwiek sterownika w Delphi albo obsluge
skomplikowanej transakcji (najlepiej z 2 Phase Commit przy dostepie do wielu
baz danych) za pomoca jezyka C++ lub innego HLL.

Pozdrawiam
Marek

Bogdan Brzozowski wrote:

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

--
************************************************************
    Marek Bujnarowski
    Senior Technical Support Engineer
    Progress Software EMEA,
    Schorpioenstraat 67, 3067 GG Rotterdam,
    The Netherlands

  E-mail: mbujnaro@progress.com     Web: http://www.progress.com
  Tel: +31-(0)10-2865-247                Fax: +31-(0)10-2865-225
  Support:  emeasupport@progress.com
************************************************************


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