Po przerwie spowodowanej chęcią opublikowania we właściwym czasie felietonów rocznicowych – pierwszego o odkrywcy EKG Einthovenie i drugiego związanego z zatonięciem „Titanica” – wracam do cyklu felietonów przedstawiających kolejne etapy powstawania i rozwoju informatyki. W dwóch wcześniejszych felietonach należących do tego cyklu prezentowałem problemy związane z faktem, że podczas programowania ludzie popełniają błędy, a skutki tych błędów bywają naprawdę opłakane. Z tego powodu jako kierunek działania zalecany użytkownikom informatyki zawsze zdecydowanie wskazuję używanie gotowych (sprawdzonych!) programów, a nie pisanie ich samemu – zwłaszcza jeśli się nie ma dużej praktyki i wprawy.

Gotowy program, jeśli cieszył się popularnością, był wielokrotnie sprawdzany. Nie tylko przez testerów producenta, ale też przez wszystkich użytkowników, którzy z niego wcześniej korzystali. Można tu mówić o prawdopodobieństwie graniczącym z pewnością, że program nie zawiera błędów. Natomiast własnoręcznie wykonany program może przysporzyć naprawdę poważnych kłopotów.

Ale używanie gotowych programów też wymaga pewnej wiedzy na ich temat. Ten felieton rozpoczyna więc kolejną serię opowiadań, pokazującą, jak historycznie rozwijał się rynek gotowego oprogramowania. Był to proces ciekawy i skomplikowany, ponieważ w początkach informatyki nie wyobrażano sobie, że można używać programów innych niż te, które się napisało samemu. Wiem o tym, bo sam tak pracowałem w latach 70. Ale to się zmieniło, a pierwszy krok na tej drodze wykonały kobiety.

Gospodarna Dina St Johnston

O osiągnięciach informatycznych kobiet wspominałem we wcześniejszych felietonach, przywołując postać Ady Lovelace, która napisała pierwszy program dla nieistniejącego jeszcze komputera, oraz Grace Hopper, która wymyśliła translator i język algorytmiczny jako podstawę nowoczesnego programowania. Teraz chcę opowiedzieć o dorobku i osiągnięciach kolejnej kobiety, którą tu chcę przywołać: Diny St Johnston. Pracowała od 1953 r. w firmie komputerowej Elliot Brothers (w Londynie – to ważne!), która wykonywała różne programy na zamówienie. Dina sama biegle programowała, a ponadto myślała biznesowo, zauważyła więc, że pisanie wciąż od nowa programów dla różnych użytkowników, których potrzeby były w istocie bardzo podobne, to po prostu marnotrawstwo.

W 1959 r. porzuciła pracę w firmie Elliot Brothers i założyła własny biznes – studio tworzące i sprzedające gotowe programy do typowych zastosowań. Firma założona przez Dinę nazywała się Vaughan Programming Services (Vaughan – nazwisko panieńskie Diny). To była pierwsza firma, której cała produkcja miała charakter niematerialny (wytwarzano same programy) i która nie była ukierunkowana wyłącznie na potrzeby jednego użytkownika, lecz na typowe potrzeby wielu użytkowników, a więc działała tak, jak dzisiejsi potentaci na rynku oprogramowania.

Programy produkowane w firmie Diny St Johnston znajdowały licznych nabywców. Do jej klientów należały zwłaszcza brytyjskie koleje, które zaczęły w tym czasie wprowadzać komputerową kontrolę ruchu pociągów oraz komputerowe sterowanie sygnalizacją na torach, ale jej programy kupowała także rozgłośnia radiowa BBC, firmy Unilever, BAA i wiele innych.

IBM i sprzedaż wiązana: komputer + programy

Wielu czytelników może zaskoczyć wiadomość, że pierwsza firma produkująca i sprzedająca oprogramowanie powstała i zaczęła działać w Wielkiej Brytanii, a nie w USA. We wcześniejszych osiągnięcia informatyki – konstrukcji nowych komputerów, tworzeniu języków programowania, odkrywaniu wciąż nowych zastosowań informatyki itp. – zawsze pierwszy krok wiązał się z burzliwym rozwojem tej techniki w USA.

Natomiast z produkcją oprogramowania sprzedawanego oddzielnie było inaczej. Opóźnienie w produkcji oprogramowania na sprzedaż w USA wynikało z absolutnej dominacji na amerykańskim rynku w latach 50. i 60. XX wieku firmy IBM. W 1953 r. wypuściła ona na rynek komputer IBM 650. Do 1969 r. wyprodukowano i sprzedano 1,5 tysiąca sztuk tych komputerów, wraz z którymi zaczęła się w USA moda na tworzenie centrów obliczeniowych. Wiele firm mogło prowadzić w nich na jednym komputerze swoje obliczenia – głównie o charakterze finansowo-księgowym. Taki system, nazywany obecnie outsourcingiem, jest racjonalnym sposobem korzystania z informatyki. Komputer IBM 650 sprzedawano wraz z kompletem oprogramowania, bardzo dobrego i zaspokajającego wszystkie typowe potrzeby, gdy więc użytkownik kupił taki komputer, to nie rozglądał się już za dodatkowym oprogramowaniem, bo w istocie miał wszystko.

Gdy w 1969 r. zaprzestano produkcji modelu IBM 650, natychmiast zastąpiła go maszyna IBM 701 o jeszcze lepszych parametrach. Potem nastała era bardzo udanej serii komputerów IBM 360. Miały one niezwykle bogate oprogramowanie, które wypracował zespół ponad tysiąca (!) programistów, dlatego użytkownicy tych popularnych systemów nie potrzebowali programów „z półki”. Oczywiście z komputerów tych korzystali także inżynierowie i naukowcy, których potrzeby nie mieściły się w ramach tego, co dostawali wraz z zakupionym komputerem, ale oni z reguły sami pisali programy dostosowane do swoich jednostkowych potrzeb. Z opisanych powodów na rynku amerykańskim wciąż nie było zapotrzebowania na kupowane luzem programy komputerowe, natomiast w Europie ten biznes zaczął się wyraźnie rozkręcać.

Rozwój przemysłu oprogramowania

Kolejny krok na drodze do tworzenia przemysłu oprogramowania komputerowego zrobiła Dame Vera Stephanie „Steve” Shirley, naturalizowana w Wielkiej Brytanii Żydówka niemieckiego pochodzenia. W latach 50. pracowała jako programistka na poczcie brytyjskiej, ale w 1962 r. założyła firmę pod nazwą Freelance Programmers. Co ciekawe – bynajmniej nie chodziło jej o wzbogacenie się dzięki produkowaniu i sprzedawaniu oprogramowania. Jej obiektem zainteresowania były kobiety, które, choć zdolne i wykształcone, musiały zrezygnować z kariery zawodowej ze względów rodzinnych (konieczność opieki nad dziećmi; przywiązanie Brytyjczyków do modelu „mąż w pracy, żona w domu” itp.). Shirley postanowiła dać tym kobietom szansę: niech pozostają w domu i... piszą programy. Wynalazła w ten sposób formę telezatrudnienia, obecnie ponownie modną ze względu na wszechobecność internetu.

Czytaj więcej

Jak nauczyliśmy maszyny liczyć i myśleć za nas? Część 21: Jak walczyć z błędami programów?

Mimo uszczypliwych uwag, że sprzedawane przez nią programy powstają „na stole kuchennym”, były to programy dobrej jakości, znajdowały więc chętnych nabywców. Firma Freelance Programmers z zasady nie zatrudniała mężczyzn, natomiast do momentu „rebrandingu” w 1975 r. pracowało tam aż 300 kobiet – prawie wszystkie korespondencyjnie. Jednak w 1975 r. wprowadzono w Wielkiej Brytanii tzw. Sex Discrimination Act, który zakazywał takich praktyk. Mimo że miał zwalczać dyskryminację kobiet na rynku pracy, to uderzył w fundament działalności firmy Freelance Programmers, która zatrudniała wyłącznie kobiety. Firma przekształciła się, zmieniła nazwę na Xansa i pod tą nazwą funkcjonowała do 2007 r., kiedy wykupiła ją firma Steria.

Kryzys oprogramowania

Na rozwój rynku gotowych programów (i firm je produkujących) miał też wpływ tzw. kryzys oprogramowania. Polegał on na tym, że w latach 70. i 80. XX wieku wiele firm i instytucji coraz bardziej uzależniało się od korzystania z komputerów, co wiązało się z koniecznością modyfikacji używanego oprogramowania. W tamtych czasach dość powszechne było przekonanie, że jak potrzebny jest jakiś program, to go po prostu trzeba napisać. Wiem coś o tym, bo sam – mając liczne prośby o wykonanie obliczeń statystycznych od znajomych lekarzy – napisałem ponad 100 programów realizujących różne formy statystycznej analizy danych medycznych. Oczywiście dzisiaj nikt przy zdrowych zmysłach tego tak nie robi – są świetne pakiety firmowych programów i wszystko da się policzyć przy minimalnym nakładzie własnej pracy. Ale powtarzam: w pewnym okresie rozwoju informatyki uważano, że tylko własnoręczna przeróbka programów jest sposobem na ich adaptację do rosnących wymagań.

Niestety, to błędne podejście sprawiło, że w wielu firmach „majstrowano” przy posiadanych programach. Angażowano do tego własnych pracowników, którzy często nie mieli wystarczających kwalifikacji, albo firmy zewnętrzne, które także nie zawsze potrafiły sprostać zadaniu. W efekcie ponad połowa podejmowanych działań związanych z adaptacją posiadanego oprogramowania do nowych wymagań kończyła się różnego rodzaju niepowodzeniem. Zwykle nie był dotrzymywany umowny termin adaptacji, przekraczany był budżet, a zdarzało się też, że system (wcześniej działający poprawnie) zaczynał generować błędy lub całkowicie „padał”. Łatwo się domyślić, jakie to miało skutki dla korzystającej z systemu instytucji (np. banku).

Czytaj więcej

Jak nauczyliśmy maszyny liczyć i myśleć za nas? Część 20: Doniosłe znaczenie błędów w programach

Na fali tych niepowodzeń wyrosła świadomość, że zamiast samemu majstrować przy programie, lepiej kupić program gotowy, wypróbowany, gwarantujący w razie potrzeby adaptację i serwis – czyli produkt odpowiedniej firmy software’owej. I tak jest do dziś!

Inżynieria oprogramowania to też kobiece dzieło

Przed domknięciem tego felietonu trzeba wspomnieć o jeszcze jednej kobiecie, która wniosła znaczący wkład do rozwoju całej dziedziny „inżynierii oprogramowania”. W latach 60. nie myślano o programowaniu jako dyscyplinie inżynierskiej. W przeciwieństwie do inżynierii sprzętu komputerowego programowanie uważano wręcz za magię, a nie naukę. Osobą, która jako pierwsza zmieniła ten punkt widzenia, była Amerykanka Margaret Hamilton. Miała bardzo wysoką pozycję zawodową w informatyce lat 60. XX wieku, ponieważ to ona wykonywała oprogramowanie dla komputerów pokładowych wszystkich statków kosmicznych z serii Apollo – tych, które ostatecznie zaprowadziły ludzi na powierzchnię Księżyca. To dzięki perfekcyjnej pracy Margaret Hamilton misje księżycowe się odbyły i ludzie chodzili (i jeździli) po powierzchni Księżyca, a jedyna nieudana wyprawa (Apollo 13) nie powiodła się z powodu awarii zbiornika ciekłego tlenu, a nie kłopotów z oprogramowaniem komputerów, które działały do ostatniej chwili na uszkodzonym statku kosmicznym i sprowadziły astronautów bezpiecznie na Ziemię.

Po kosmicznej przygodzie w NASA Margaret Hamilton założyła w 1976 r. firmę Higher Order Software (HOS), w której tworzyła zręby nowoczesnej inżynierii oprogramowania. Programy produkowane do dziś w dużej mierze opierają się na koncepcjach wypracowanych w HOS, dlatego rola tej firmy (oraz jej twórczyni, Margaret Hamilton) w historii informatyki jest nie do przecenienia.

Autor jest profesorem AGH w Krakowie