Czy wolno mieszac kawę i śmietanę?

Mam znajomego, który lubi wyraźne granice między pojęciami. Jego kredo brzmi: "Jak kawa to kawa, a jak śmietana - to śmietana". Można by sądzić, że jeszcze w '93 r. większość producentów oprogramowania mikrokomputerów kierowała się podobną dewizą - arkusz kalkulacyjny był arkuszem, kompilator - kompilatorem, a do rysowania czegokolwiek na ekranie służył Paintbrush lub CorelDraw. W roku '94 częściej niż przedtem zaczęto łączyć różne gatunki software'owe, co uważam za słuszne, nie tylko dlatego, że lubię mieszanie kawy i śmietany.

Mam znajomego, który lubi wyraźne granice między pojęciami. Jego kredo brzmi: "Jak kawa to kawa, a jak śmietana - to śmietana". Można by sądzić, że jeszcze w '93 r. większość producentów oprogramowania mikrokomputerów kierowała się podobną dewizą - arkusz kalkulacyjny był arkuszem, kompilator - kompilatorem, a do rysowania czegokolwiek na ekranie służył Paintbrush lub CorelDraw. W roku '94 częściej niż przedtem zaczęto łączyć różne gatunki software'owe, co uważam za słuszne, nie tylko dlatego, że lubię mieszanie kawy i śmietany.

Przynajmniej dwóch producentów wprowadziło na rynek programowalne arkusze kalkulacyjne. Chodzi o Excell ... i CA-SuperCalc 2.0. Microsoft i Computer Associates wyposażyły swe arkusze w translatory języków programowania - dwóch różnych dialektów Basica. Dołączone biblioteki funkcji pozwalają na manipulowanie zawartością arkusza i sterowanie jego działaniami z poziomu programu. Pojawiła się furtka w sztucznej barierze językowej, oddzielającej znawców języków makropoleceń arkuszy od reszty świata programistycznego. Sądzę, że jest to korzystne dla wszystkich.

Inny objaw tendencji do mieszania gatunków w mijającym roku to moda na interakcyjne, graficzne generatory kodu. Wygląda to tak, jakby ktoś wbudował w środowisko programistyczne kilka funkcji edytora graficznego - tyle, żeby można było swobodnie rysować ramki i formatki oraz rozmieszczać teksty. Jednak niektórym ramkom można nadać status ekranowego pola danych, tzn. "podłożyć" pod nie pola rekordów bazy. Co więcej, po wybraniu odpowiedniej opcji z menu system generuje kod programu, który umie wyrysować zaprojektowane formatki, sprząc je z właściwymi danymi i nadzorować ich obsługę w czasie wykonania. Graficzne nowe interakcyjne wersje popularnych systemów tworzenia aplikacji do obsługi baz danych DBASE 5 Borlanda, Clarion for Windows oraz CA-Visual Objects for Windows zostały wyposażone w generatory kodu. Zaoszczędzają one programiście wiele czasu, a właściwie - otumaniającej roboty, polegającej głównie na liczeniu znaków i pikselków. Ułatwiają także wspólne projektowanie aplikacji przez wykonawcę i użytkownika (zleceniodawcę) metodą szybkiego prototypowania.

DBASE 5.0 for Windows i CA-Visual Objects (coś w rodzaju wzmocnionego Clippera) reprezentują jeszcze inne zjawisko: ich producenci zdecydowali się włączyć mechanizmy programowania obiektowego do popularnego języka programowania, znanego jako X-Base. W zakresie języków programowania obiektowego na rynku mikrokomputerowym dominuje C++ i Turbo Pascal. Amator polimorfizmu, wielokrotnego wykorzystania kodu i innych dobrodziejstw technologii obiektowej, musi najpierw przebić się przez osobliwości programowania za pomocą wskaźników i smakowite szczegóły obsługi tzw. sterty (heapu). Ponadto musi namówić szefa na kupno jakiejś biblioteki do obsługi baz danych albo na zmianę ich formatu. W związku z tym pragmatycznie nastawieni programiści X-base'owi - którzy z czysto praktycznych powodów umieliby docenić możliwość wielokrotnego wykorzystania kodu - zwykle woleli machnąć reką na ce-plus-plusy i obiekty w ogóle oraz zająć się dostosowywaniam działających aplikacji dBase-owych czy Clipperowych do nowych potrzeb przedsiębiorstwa lub klienta. Takie podejście może mi się nie podobać (bo jestem zwolennikiem programowania obiektowego), ale X-base'owcy mają swoje racje, ktore trudno lekceważyć. Jednak obecnie wielu z nich ma możliwość rozszerzenia swych umiejętności programistycznych o znajomość technik obiektowych bez przechodzenia kompletnej reedukacji w duchu C++ oraz bez przeformatowywania baz. Na marginesie: IBM pracuje nad obiektowym Cobolem.

Korporacja Gupta, ktorej produkty można było w '94 r. obejrzeć w Polsce na kilku pokazach Road Show, poszła jeszcze dalej w szaleństwie mieszania kawy i śmietany. Otóż w jej systemach do tworzenia baz danych i aplikacji klient/ serwer mechanizmy programowania obiektowego połączono bardzo ściśle z interakcyjnymi generatorami kodu. Programista może obejrzeć na ekranie działający obiekt wybranej klasy i utworzyć definicję jej klasy potomnej (jeden z ważniejszych mechanizmów programowania obiektowego). Wystarczy, że wpisze do formatki ekranowej nazwy klas, po których nowe obiekty będą dziedziczyć poszczególne atrybuty i tzw. "zachowania" (behaviors), czyli wyróżnione aspekty współdziałania z resztą systemu.

Komu ma służyć takie hybrydowe narzędzie? Dla programisty - za głupie, dla użytkownika - za mądre! Otóż nie. Podobne rozwiązanie, tzn. odręczne modyfikowanie działań i atrybutów obiektów za pośrednictwem formatek, zastosowała w swoim systemie firma SAS. Efekt jest taki, że programista może współpracować z zaawansowanym użytkownikiem systemu w modyfikowaniu potrzebnych elementów, zmniejszyć czas tracony na modyfikowanie programów i tworzenie specyfikacji działania. Co więcej, niektóre działania dostosowawcze (gdzieniegdzie przyjęło się mówić po polsku "kastomizacja") można pozostawić samemu użytkownikowi - nie będzie musiał czekać na programistę, ani zawracać mu głowy wymaganiami związanymi ze specyfiką swego stanowiska pracy.

Wszystkim życzę Wesołych Świąt, a pod choinkę - obiektowego SQL-Basica sprzężonego z arkuszem kalkulacyjnym, generatorem rymowanych raportów i opcją importu tekstu źródłowego w ulubionym języku strukturalnym. Przeciwnikom mieszania języków obiektowych z X-basem, baz SQL-owych z nawigacyjnymi i kawy ze śmietaną - życzę obfitości programów konwersji danych, kompilatorów skrośnych, programów połączeniowych, drajwerów i wrót (po polsku: "gejtwejów") do baz danych. Programistom X-base'owym życzę dobrych książek o obiektach i nie tylko: zarówno DBASE 5.0, jak i CA-Visual Objects zawierają nowość w postaci mechanizmów programowania w SQL-u.


TOP 200