Programowanie coraz trudniejsze

Rozmowa z Jimem Rumbaughem, współtwórcą specyfikacji jednolitego języka modelowania UML oraz współzałożycielem firmy Rational Software, promującej te metody modelowania.

Rozmowa z Jimem Rumbaughem, współtwórcą specyfikacji jednolitego języka modelowania UML oraz współzałożycielem firmy Rational Software, promującej te metody modelowania.

Jakie są główne problemy tworzenia oprogramowania?

Mimo rosnącej mocy obliczeniowej sprzętu, oprogramowanie jest coraz bardziej złożone i trudniejsze do napisania. Gry typu Nintendo 3D mają taką złożoność, jak najbardziej skomplikowane oprogramowanie komercyjne.

Aby stworzyć skomplikowany program, trzeba opracować model, pokazujący różne aspekty systemu. Dobrze prowadzony proces tworzenia aplikacji zapewni osiągnięcie przez programistów założonych celów. Podobnie, aby zbudować duży dom, trzeba dokładnie zaplanować cały proces budowy.

Jak daleko jesteśmy zaawansowani w wykorzystaniu technologii komponentowych?

To nadal technologia przyszłości. Komponent to przereklamowane słowo. Istnieją nierealistyczne oczekiwania związane z oprogramowaniem komponentowym. Programista, który chce złożyć aplikację, nadal nie może kupić wszystkich potrzebnych mu komponentów. Komponenty są użyteczne, ale nie zastąpią programowania. Są użyteczne, gdy tworzymy wariant opracowanego już tematu.

Pojawiły się natomiast części programów, które nie są uważane za komponenty. Rozszerzenia właściwości funkcjonalnych pewnych programów działają jak komponenty. Na przykład możliwość odgrywania sekwencji wideo w przeglądarce Netscape zapewnia dodatek o nazwie RealPlayer ładowany z sieci.

Główną zaletą technologii komponentowych jest elastyczność, nie zaś niski koszt - jak to się powszechnie uważa. Jedna osoba pisze aplikację - przeglądarkę, inna uzupełnia jej możliwości. Myślę, że może pojawić się wiele rynków niszowych dla takich rozszerzeń właściwości programów.

Jaki jest na świecie stan technologii obiektowych?

Europa jest ok. 3 lat za USA. Powszechne jest zainteresowanie technologiami obiektowymi, ale w różnych krajach zróżnicowany jest poziom podejmowanych działań.

Jak Pan ocenia obecne znaczenie Javy?

Nie sądzę, aby zastąpiła C++. Jeszcze długo będą współistnieć.