Windows - zmora programistów

Różnice w budowie systemów operacyjnych DOS i Windows powodują często, że programiści przyzwyczajeni do dość prostych struktur DOS-owskich nie dają sobie rady z pisaniem aplikacji pod Windows. Na szczęście, wraz z ilością powstających narzędzi wzrasta także ich jakość. Twórcy oprogramowania pod Windows uczą się więc na własnych błędach.

Różnice w budowie systemów operacyjnych DOS i Windows powodują często, że programiści przyzwyczajeni do dość prostych struktur DOS-owskich nie dają sobie rady z pisaniem aplikacji pod Windows. Na szczęście, wraz z ilością powstających narzędzi wzrasta także ich jakość. Twórcy oprogramowania pod Windows uczą się więc na własnych błędach.

Przykładem nieefektywnych aplikacji dla Windows jest Ventura Publisher. Użytkownicy twierdzą, że nie wykorzystano tu pełnej gamy możliwości, oferowanych przez system operacyjny, stawiając raczej na podobieństwo do poprzedniej wersji, pracującej pod Gem. Podobnie niekorzystnie oceniono wczesne wersje okienkowe WordPerfecta i Lotusa 1-2-3.

Nieco inaczej było w przypadku AmiPro. Pracę nad jego okienkową wersją rozpoczęto jeszcze przed ukazaniem się Windows 3.0. W przebudowie edytora wzięli udział programiści znający dobrze system operacyjny Unix, który swoją strukturą przypomina nieco Windows. Dzięki lepszemu przygotowaniu, nowa wersja AmiPro została opracowana znacznie lepiej, niż programy konkurencji.

Trudności w programowaniu pod Windows wynikają przede wszystkim z faktu, że do tworzenia aplikacji DOS-owskich używa się programowania strukturalnego, zaś Windows wymagają zastosowania algorytmów i procesów współbieżnych. Różnica między metodami polega na tym, że przy podejściu strukturalnym sami określamy moment, w którym program ma otrzymać bądź wysłać informacje na zewnątrz, zaś pod Windows każde zewnętrzne zdarzenie (np. kliknięcie myszką) wywołuje przerwanie rozpoczynające nowy proces pracujący niezależnie od pozostałych, lecz komunikujący się z nimi przez specjalne kanały.

Ta zmiana sposobu pisania programów powoduje, że tworząc okienkowe wersje istniejących aplikacji programiści często muszą zacząć od zera, nie wykorzystując oryginalnego kodu. Z tego też powodu niektóre narzędzia pod Windows, których wersje DOS-owskie działały bez zarzutu, okazują się nieporadne i nieefektywne.

Windows różni się od DOS-u także realizacją interfejsu z użytkownikiem. System pozwala na wykorzystanie wielu poręcznych narzędzi komunikacyjnych, lecz ich użycie często całkowicie zmienia wygląd aplikacji. Wybór między szerszą gamą opcji, a podobieństwem do wersji DOS-owskich należy do twórców programu.

W przeciwieństwie do DOS-u, Windows pozwala na tzw. multitasking. Oznacza to, że wiele aplikacji (procesów) może pracować współbieżnie, więc przy ich tworzeniu należy zadbać o to, aby sobie wzajemnie nie przeszkadzały. Niestety fakt ten przeoczyła między innymi firma Contact Software, wprowadzając na rynek Act for Windows. Aplikacji tej nie można było uruchomić równolegle z pakietem CompuServe, powodowało to bowiem zawieszenie systemu. Poprawienie tego, wydawałoby się, banalnego błędu zajęło wiele czasu.

Programując pod Windows trzeba wziąć pod uwagę znacznie więcej elementów niż miało to miejsce w DOSie. Niezbędni okazują się tu eksperci od zarządzania pamięcią, współbieżności, itp. Wymagania te zazwyczaj świetnie spełniają programiści mający pewne doświadczenie w pracy z systemem Unix. Ich podłoże matematyczno-inżynierskie jest często znacznie lepsze niż w przypadku osób programujących tylko pod DOS. Dlatego też do pomocy w tworzeniu Windows NT Microsoft zatrudnił m.in. jednego z architektów DEC-owskiego systemu VMS, Davida Cutlera.

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

TOP 200