Łatwiejsze narzędzia, trudniejsze zadania

Z Jackiem Drabikiem, dyrektorem ds. operacyjnych w Centrum Oprogramowania Motoroli, rozmawia Krzysztof Frydrychowicz.

Z Jackiem Drabikiem, dyrektorem ds. operacyjnych w Centrum Oprogramowania Motoroli, rozmawia Krzysztof Frydrychowicz.

Łatwiejsze narzędzia, trudniejsze zadania

Jacek Drabik, dyrektor ds. operacyjnych w Centrum Oprogramowania Motoroli

Czy jest dzisiaj łatwiejszym zajęciem niż kilkanaście lat temu?

Wprawdzie czynności, które kiedyś zajmowały programistom dziesiątki godzin, teraz, dzięki odpowiednim narzędziom, wykonywane są w kilka minut. Nie wtajemniczeni mogliby odnieść wrażenie, że praca programisty została sprowadzona do obsługi półautomatycznych programów. Niestety to tylko pozory. Przybyło wygodnych narzędzi, ale jednocześnie problemy, których rozwiązanie powierza się informatykom, są zdecydowanie bardziej skomplikowane. Pod tym względem jest trudniejsze niż kiedykolwiek wcześniej.

Na świecie używa się niezliczonej ilości języków programowania. W zastosowaniach biznesowych wykorzystuje się przynajmniej kilkadziesiąt. Czy wzrost ich liczby znajduje uzasadnienie?

Również zadaję sobie to pytanie i nasuwa mi się taka odpowiedź: ponieważ coraz bardziej rozszerza się krąg odbiorców rozwiązań informatycznych. Dla jednych priorytetem będzie cena lub atrakcyjny interfejs, a dla innych wysoka niezawodność rozwiązania czy wydajność systemu. By sprostać wymaganiom, w każdej z tych sytuacji rozsądnym wydaje się wybór innego narzędzia, a tym samym innego języka.

I choć młodzi inżynierowie uśmiechają się sarkastycznie słysząc np. o Cobolu, to jednak język ten nadal pozostaje niezastąpiony w systemach CAD (Computer Aided Dispatch), w bankach, wszędzie tam, gdzie niezawodność stawiana jest na pierwszym miejscu. Tam, gdzie liczy się wydajność i możliwość dokonywania szybkiej aktualizacji, zapewne wygra C lub C++. Interfejs internetowy to z kolei HTML, Java, JSP czy PHP. Takim przykładom nie ma końca. Tak więc wydaje mi się, że nic nie wskazuje na to, byśmy zostali skazani na homogenizacje.

Czy to znaczy, że nie marzy się Panu uniwersalny język programowania?

Kiedyś, zresztą pewnie jak każdy informatyk, myślałem o takim języku. Dzisiaj wiem, że stworzenie uniwersalnego języka, który pogodziłby wszystkich, jest praktycznie niemożliwe. Nawet nie od strony intelektualnej, ale czysto praktycznej. Powstaniem języka uniwersalnego wydaje się, że nie są zainteresowani producenci oprogramowania, o czym ostatecznie przekonał nas przykład Javy, wokół której nie udało się zbudować jedności.

Które z osiągnięć producentów narzędzi programistycznych, z punktu widzenia Pańskiego zespołu, wskazałby Pan dzisiaj jako największe?

Integrację. Widać to na przykładzie narzędzi firmy Rational, które wykorzystujemy w szerokim zakresie. W jednym narzędziu skupiają się wszystkie informacje na temat projektu - od zbierania danych na temat wymagań klienta, przez kontrolę plików i wersji, aż po ostateczne testy. To znak, że producenci narzędzi coraz lepiej rozumieją potrzeby klientów. Proszę sobie wyobrazić, że zdarza nam się współpracować nad jednym projektem z 20 centrami Motoroli na całym świecie. Trudno wyobrazić sobie koordynację i osiągnięcie doskonałego rezultatu, gdybyśmy nie mieli do dyspozycji zintegrowanych narzędzi.

Czy korzystnym zjawiskiem jest to, że rynek narzędzi spolaryzował się? A dwa przeciwległe bieguny - Java i .Net - niemal z równą siłą przyciągają zwolenników?

Może zabrzmi to dziwnie, ale ja takiego podziału nie dostrzegam. Być może istnieje on w świecie marketingu i handlu. Rynek wymusza specjalizację, obok Suna i Microsoftu pozostaje miejsce dla całej rzeszy firm.

Z pewnością kierując zespołem spotykał się Pan z tym, że informatycy przyzwyczajają się do narzędzi i trudno ich namówić do zmiany. Czy można temu zaradzić?

Teoria podpowiada, że wystarczy dać inżynierowi dostęp do wielu różnych narzędzi. W praktyce jeśli ktoś nauczył się doskonale posługiwać jednym narzędziem, rodzi się w nim naturalny opór do zmian. Jeszcze gorzej, gdy nabiera przekonania, że przy użyciu tego jednego, wybranego narzędzia zawsze osiąg-nie najlepsze efekty, bez znaczenia jak sformułowany został problem. Znam kilka metod zapobiegania takim sytuacjom.


TOP 200