Cała para w gwizdek

Najprostszy program w języku C zawiera tylko pięć wierszy i wyświetla na ekranie znane każdemu adeptowi tego języka Hello world. Żeby napisać to samo w okienku Windows trzeba ponad 100 wierszy kodu. Tak więc można by dość dowolnie powiedzieć, że efektywność programowania w trybie graficznym w Windows jest 20 razy gorsza niż w trybie znakowym w DOS-ie lub Unixie.

Najprostszy program w języku C zawiera tylko pięć wierszy i wyświetla na ekranie znane każdemu adeptowi tego języka Hello world. Żeby napisać to samo w okienku Windows trzeba ponad 100 wierszy kodu. Tak więc można by dość dowolnie powiedzieć, że efektywność programowania w trybie graficznym w Windows jest 20 razy gorsza niż w trybie znakowym w DOS-ie lub Unixie.

Jeżeli nawet rzeczywista efektywność programowania w trybie graficznym jest znacznie większa dla dużych programów, to i tak nakład pracy do stworzenia samego środowiska graficznego programu jest znacznie większy, niż nakład pracy na użyteczną pracę, wykonywaną przez ten program.

Z dość dobrze sprawdzonej w praktyce zasady wynika, że programista z powodu ograniczeń powszechnie używanych proceduralnych języków programowania w 80% koncentruje się na konserwacji i poprawianiu już napisanego kodu, zaś tylko 20% czasu spędza na tworzeniu czegoś nowego. Zasada ta dotyczy tylko trybu znakowego. Przy pracy w trybie graficznym, innowacje w "użytecznej" części programu 1-5% czasu pracy programisty!

Dla kogo znakowy tryb pracy programu?

Najlepszym przykładem dobrze dopracowanego systemu operacyjnego, przystosowanego do pracy znakowej jest Unix. Powstał on w środowisku naukowców, którzy znacznie wyżej cenią sobie wydajność pracy niż efektowne obrazki na ekranie. W Unixie dostępny jest ogromny zestaw narzędzi do wykonywania podstawowych prac w sposób niesłychanie efektywny, chociaż czasami niezbyt łatwy do pojęcia dla okazjonalnego użytkownika komputera. Jeżeli zaś jakiegoś narzędzia nie ma, to naprawdę nic nie stoi na przeszkodzie, żeby utworzyć ciąg programów z zestawu (napisać tzw. skrypt w shellu) w celu wykonywania skomplikowanych działań.

W ostateczności, chyba każdy poważny użytkownik Unixa jest w stanie napisać prosty program w C wykonujący pożądaną czynność, a kompilator tego języka stanowi standardowe wyposażenie systemu.

DOS jest pod tym względem znacznie gorszy i to bynajmniej nie z powodu inherentnych dla niego ograniczeń rozmiaru kodu, dostępnej pamięci czy obsługi wielu użytkowników. Możliwości programów wsadowych w DOS-ie są naprawdę znikome w porównaniu z możliwościami skryptów shell Unixa, zaś brak pracy wielozadaniowej skutecznie wyklucza swobodne przechodzenie od jednej pracy do drugiej i przenoszenie wyników jednego programu do innego.

Okienka Macintosha, PM OS/2, Windows, X Windows i inne

Wszystkie te znakomite środowiska graficzne mają właściwie tylko jeden cel: ułatwienie w używaniu programów przez okazjonalnego i niewykwalifikowanego informatycznie użytkownika komputera. Istotnie, zdanie to spełniają naprawdę znakomicie. Na dodatek, pełne wykorzystanie możliwości współczesnych procesorów i systemów operacyjnych w zakresie ochrony jednych aplikacji przed działaniami drugich doprowadziło do zwiększenia bezpieczeństwa działania programów i ochrony danych. Wszystko to byłoby godne najwyższej pochwały, gdyby nie koszty jakie trzeba przy tej okazji ponosić.

Gorsze programy, większy kod, większe wymagania

Konieczność opracowania skomplikowanego interfejsu graficznego do każdego programu działającego w środowisku okienkowym powoduje, że programista nie ma czasu na dopracowanie właściwej, użytecznej części programu. Obecnie coraz mniej mówi się o optymalizacji programów, dobraniu właściwych algorytmów numerycznych czy minimalizacji rozmiarów potrzebnej pamięci. Więcej mówi się o narzędziach ułatwiających życie programisty w zakresie programowania interfejsu użytkowego, w ogóle a nie zwraca się uwagi na jego możliwości w zakresie polepszania funkcjonalności, czy zmniejszania rozmiaru programu. Coraz częściej przyjmuje się naiwne założenie, że użytkownik i tak wszystko przełknie. Niezależnie od tego czy wymagać się będzie od niego 1 MB, czy 16 MB pamięci w komputerze.

Człowiek wychowany na spartańskich możliwościach jakie oferuje środowisko znakowe DOS-u na PC z radością przyjmuje innowacje i "wodotryski" jakie daje mu Windows. Pytanie jednak, czy nie za dużo wysiłku i zasobów idzie na te właśnie wodotryski?


TOP 200