Czym jest software?

Udostępnij

Software. Po polsku posłużymy się raczej słowem oprogramowanie, a zatem spisanymi i wgranymi do maszyny kalkulującej regułami pozwalającymi jej kalkulować. Wiemy o software dziś tyle, że stało się najpotężniejszym z sektorów cyfrowego świata i z pewnością wiele wskazuje na to, że przyszłość należy do jego twórców.  

Software najprościej rozumieć jako dopełnienie hardware, czyli miękką, zakodowaną cyfrowo warstwę instrukcji wykonawczych nałożoną na twardą, materialną formę maszyny obliczeniowej. Kodowanie i programowanie bez wpuszczenia ich w maszynę przetwarzającą są po prostu tekstem, ciągiem znaków liczbowych i alfabetycznych. Natomiast maszyna bez informacji o tym, co i jak ma liczyć, jak przetwarzać napięcie elektryczne, to w zasadzie tylko mebel czy estetyczny gadżet. Dopiero ich połączenie daje wymierny efekt, tak jak nierozerwalny związek myślenia z działaniem jest zasadą naszego życia.   

Programowanie to przede wszystkim projektowanie ciągów przyczynowo-skutkowych, czyli algorytmów. Jeśli zaistnieje jakiś stan rzeczy, to w reakcji na jego pojawienie się maszyna ma uruchomić konkretną procedurę, a potem kolejną i kolejną. Przykładowo: jeśli wciskam przycisk play w apce odtwarzającej pliki muzyczne, to smartfon wie, że musi sięgnąć po odpowiedni plik na karcie pamięci, połączyć go z kodekami i dać się obsłużyć przez interfejs dotykowy ekranu. To tylko mało skomplikowany, znajdujący się na powierzchni systemów operacyjnych i w palecie naszych codziennych praktyk cyfrowych przykład zależności pomiędzy poszczególnymi elementami cyfrowego systemu, który programista musi spiąć w zrozumiałą zarówno dla maszyny, jak i dla użytkownika całość.  

Software rozciąga się pomiędzy programistami a użytkownikami. Z jednej strony ktoś programuje, czyli projektuje i koduje instrukcje cyfrowe, z drugiej strony ktoś wykonuje te instrukcje podczas użytkowania cyfrowego systemu. Kształt oprogramowania w dużej mierze zależy od tych, którzy tworzą poszczególne programy, aplikacje i związki pomiędzy nimi, a jednocześnie coraz więcej mamy zdarzeń software, których ostateczna postać zależna jest od aktywności ostatecznych użytkowników.  

Podwójna natura cyfrowych spraw, która rozwarstwia świat na materię hardware i informację software, przekłada się na status techniki w ogóle. Wciąż mamy do czynienia z narzędziami, maszynami i technologiami zamkniętymi, czyli takimi, które swoje programy mają już w sobie, zaś my uczymy się ich i dzięki temu jesteśmy w stanie ich używać. Tak działa młotek, rower czy książka. Wytwory techniki, wyposażone w cyfrowy software, są natomiast otwarte, o ich aktualnym stanie decyduje aktualna wersja oprogramowania, sterująca ich funkcjonalnościami. Nowy system operacyjny czy nowe wersje aplikacji potrafią zmienić dostępność określonych funkcji na naszych urządzeniach. Przykładowo na niektórych rynkach niektóre smartwatche oferują swoim użytkownikom możliwość skorzystania z sensorów medycznych mierzących ciśnienie krwi, zaś w innych krajach to samo urządzenie ma programowo zablokowane te możliwości. Podobnie ze wszystkimi inteligentnymi urządzeniami: samochodami, smartfonami, pralkami, itd.  

We wczesnym stadium kultury cyfrowej, czyli wtedy kiedy użytkowników komputerów było niewielu, internet dopiero raczkował, zaś interfejsy użytkowe były dosyć skomplikowane, wiedza i umiejętności programistyczne były dosyć powszechne. Z czasem do grona tych wczesnych geeków dołączyły masy użytkowników z całego świata o różnych kompetencjach, potencjale i potrzebach. Trudno w tej sytuacji podzielać optymizm pionierów co do pomysłu, by każdy użytkownik był w dużej mierze także programistą cyfrowego świata, ale jednocześnie wydaje się, że lepsza przyszłość to ta, którą sami zaprogramujemy niż ta dla nas zaprogramowana.  

DR HAB. PIOTR CELIŃSKI, PROF. UMCS

medioznawca, pracuje w Katedrze Teorii Mediów UMCS w Lublinie. Zajmuje się nowymi mediami, internetem, kulturą cyfrową, komunikacją społeczną, kulturą wizualną i popularną. Współzałożyciel i członek zarządu Fundacji Instytut Kultury Cyfrowej, współtwórca wydarzeń kulturalnych, wystaw i działań edukacyjnych (MindwareEPCC), w latach 2015-18 zastępca dyrektora Centrum Badań Gier Wideo UMCS