JustPaste.it

Twórczość programistyczna

Mówi się o "pisaniu programów", więc skojarzenie z twórczością literacką. Zasadny, bo to każdy utwór słowny. Do programowania używa się języków tworzonych przez firmy lub kolegia

Mówi się o "pisaniu programów", więc skojarzenie z twórczością literacką. Zasadny, bo to każdy utwór słowny. Do programowania używa się języków tworzonych przez firmy lub kolegia

 

d372d05dfc4f03b51304c472b88ef5ca.jpgLiteratura to wszystkie "sensowne twory słowne" (wg definicji Stefanii Skwarczyńskiej), czyli dzieła artystyczne, tj. literatura piękna, oraz teksty użytkowe, tj. literatura stosowana, zachowane w formie pisanej lub w przekazie ustnym.[Wikipedia]

Myślę jednak, że użycie tego górnolotnego słowa w stosunku do programu byłoby pewnym niepotrzebnym nadużyciem wynikającym stąd, że większość ludzi mających kontakt z programem nie czyta jego postaci tekstowej. Bywa ona zresztą mniej lub bardziej celowo kodowana tak, że z kodu nie da się odczytać pierwotnego tekstu. Mniej ważne jest, że programy pisze się w sztucznie tworzonych językach programowania. Zresztą kwestia "sztuczności" po ponad pół wieku rozwoju tych języków zaczyna być mocno dyskusyjna, gdyż poddają się one wpływowi różnych doświadczeń i tradycji pokoleń programistów. Język czy jego wersja ignorująca wcześniejsze doświadczenia i tradycję zazwyczaj nie zyskuje większego uznania i ulega zapomnieniu.

Myślę, że dużo ważniejsze dla oceny programowania jako działalności twórczej  jest uświadomienie sobie, że język to pewien budulec podobny do elementów prefabrykowanych czy klocków, z których można stworzyć bardzo złożone i o ciekawych własnościach użytkowych konstrukcje inżynierskie. Okazuje się, że najpotężniejsze z nich uważa się za najbardziej złożone konstrukcje jakie stworzył człowiek. Milion wierszy kodu osiągnęło już bardzo wiele z nich. Po przeliczeniu na znaki to co najmniej 50 milionów, gdy obszerna książka zadowala się milionem znaków. Prawdopodobieństwo popełnienia błędu w tej samej objętości tekstu programu w stosunku do tekstu literackiego jest znacznie większe. Korektor nie musi znać powieści w takim samym stopniu jak programu komputerowego by poprawić w nim błędy.

Programista kształtuje zarówno wygląd programu jak jego zachowanie. Najnowsze narzędzia pozwalają nadawać programowi w trakcie jego używania postać trójwymiarowej grafiki 3D z dźwiękiem. Nie znaczy to, że każdy programista musi być plastykiem. Zazwyczaj polega to na podziale ról, gdzie plastyk wykonuje jedynie cześć nie wymagającą wiedzy programistycznej, a programista wykorzystuje tak przygotowane kawałki grafiki. Jednak coraz częściej zarówno plastycy jak programiści potrafią na przykład samodzielnie wykonać kompletną stronę internetową. Można już programować takie niuanse jak sterowanie programem przez wielopunktowe dotknięcie ekranu (np. użycie palców dla operowanie wielkością zbliżenia - zoom), a także sterowanie komputerem wprost z mózgu za pomocą sygnałów odbieranych przez przyrząd EEG (a także EKG). 

W przypadku opracowywania gier komputerowych dochodzą jeszcze umiejętności posługiwania się dźwiękiem oraz opracowywania scenariuszy, zwłaszcza dialogów. Także odrębne są umiejętności animowania postaci oraz układania zagadek do rozwiązania, których gra będzie nakłaniała.

Jak z powyższego wynika pod względem niejednorodności umiejętności wymaganych w tworzeniu programów są one znacznie bliższe twórczości filmowej niż twórczości literackiej. Porządna książke może napisać jeden człowiek i raczej nie zdarza się by dzielił się pracą z kimkolwiek. Natomiast porządnego filmu, nawet animowanego, raczej nie zrobi jeden człowiek i nie bardzo jest sens do tego dążyć.