Czy "progres" znaczy postęp?

O co właściwie chodzi w tak zwanych "językach czwartej generacji"? Przecież, niezależnie od numeru, jakim opatrzono język, komputer to tylko komputer - ma określoną pamięć, szybkość działania i coś tam jeszcze; żaden program czy język Ograniczeń tych nie przeskoczy.

O co właściwie chodzi w tak zwanych "językach czwartej generacji"? Przecież, niezależnie od numeru, jakim opatrzono język, komputer to tylko komputer - ma określoną pamięć, szybkość działania i coś tam jeszcze; żaden program czy język Ograniczeń tych nie przeskoczy. Co można zrobić w Clipperze, da się zrobić również w C czy nawet assemblerze. Skąd i po co biorą się owe, coraz wyższe generacje programów narzędziowych?

Według wszelkiego prawdopodobieństwa wygląda to mniej więcej tak: każdy doświadczony programista gromadzi i rozbudowuje swoje własne biblioteki podpro-gramów. Im lepszy programista, tym lepsza biblioteka. Na pewnym etapie okazuje się, że nie używa on podstawowych instrukcji języka programowania (np. C, czy Pascala) lecz posługuje się prawie wyłącznie wywołaniami swoich procedur. Praktycznie rzecz biorąc, pracuje już we własnym języku, zdefiniowanym przez owe procedury. Pojawia się więc pokusa -może by zrobić translator tego nowego języka, który się właśnie wyłonił? Przy okazji trochę się poteo-retyzuje... i język "wyższej generacji" gotowy.

Istnieją dwa całkowicie przeciwstawne spojrzenia na języki wysokich poziomów.

Jeśli jest tak, jak opisano powyżej (a tak mniej więcej chyba jest), to zrozumiałe stają się wady i zalety wszelkich Clipperów, Oracli i innych. Języki te to jakby systemy protez dla niewprawnych programistów. W wielkim stopniu obniżają minimalny, wymagany poziom umiejętności i tym samym dają szansę partaczom. Jest również faktem, że narzucają niekoniecznie najlepsze kanony strukturalne i estetyczne. Czyż bowiem wszystkie programy pisane w Clipperze nie wyglądają podobnie? Wiadomo, że wielu doświadczonych programistów baz danych zdecydowanie trzyma się Pascala lub C, co można zauważyć na każdej wystawie oprogramowania.

Możliwy jest również odwrotny punkt widzenia. Język wiysokiej generacji skutecznie i niezawodnie załatwią mnóstwo problemów szczegółowych, z którymi musi się borykać programista C czy Pascala, istotnie zmniejszając przy tym prawdopodobieństwo zrobienia

błędu. Odciążając od żmudnego grzebania się w piramidalnych problemach, związanych z sortowaniem, selekcją itp., pozwala lepiej się skupić na opracowaniu racjonalnej struktury, komunikacji z użytkownikiem itd. Sprzyjanie kanonom strukturalnym i estetycznym jest zaletą. Ułatwia to życie użytkownikowi, który nie lubi, gdy kolejne produkty gwałcą jego przyzwyczajenia.

"Lubię wiedzieć, jak naprawdę działa mój program" - powiada niskopoziomowiec. "Co mnie obchodzi, jak działa, ważne, że działa skutecznie" - replikuje wysokopo-ziomowiec.

Pierwsza postawa ma w sobie coś konserwatywnego, druga jest wyraźnie progresywna. Nie zawsze nowe jest lepsze, nie zawsze

też szacowny konserwatyzm jest wart pełnego poparcia. Rozważany dylemat chyba nie da się rozwiązać na płaszczyźnie "ideologicznej". Bardziej sensowne jest podejście pragmatyczne. Jeżeli któryś kolejny język wysokiej generacji okaże się dostatecznie skuteczny i elastyczny, by pozwalał tworzyć aplikacje szybko i sprawnie, nie gwałcąc przy tym kreatywności programisty, to sprawa wydaje się raczej przesądzona.

Czy PROGRESS, wchodzący właśnie na polski rynek, przekracza tę granicę? Wydaje się, że tak -ale, zgodnie z powyższym, tylko życie może o tym zadecydować.

(ah)

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200