Odkrywanie kodu [wprowadzenie]

Nick Montfort

Oto książka o tym, jak myśleć z pomocą technologii komputerowych oraz dostrzegać w nich część kultury. Programowanie jest tu przedstawione jako sposób iteratywnego modelowania zarówno dzieł sztuki, jak i projektów w obrębie humanistyki dzięki procesowi, który umożliwia programiście odkrywanie – w toku owego procesu programowania – ostatecznego efektu, jaki osiągnie ten projekt. Za cel obrałem sobie takie przedstawienie procesu kodowania, które nawet początkującej programistce pozwoli na zgłębianie i badanie technologii obliczeniowych, a także pomoże jej rozwijać swoje umiejętności programistyczne w toku pracy nad projektami tak w obrębie sztuki, jak i humanistyki.

Książka ta – przynajmniej w pewnej części – powstawała jako podręcznik przeznaczony do użytku na zajęciach uniwersyteckich. Cieszę się, że mogłem wykorzystać jej roboczą wersję podczas ćwiczeń prowadzonych w nowojorskiej New School. Starałem się również, by z tej książki mogły korzystać te osoby, które chcą same uczyć się programowania, nie uczestnicząc w oficjalnych formach kształcenia. W części Dodatek B: konteksty przyswajania programu zawarłem sugestie dotyczące korzystania z tej książki przez nauczycieli i uczniów, jak również rady dla tych, którzy chcą traktować prace programistyczne bez formalnego rygoryzmu.

Niektórym programowanie kojarzy się z wiedzą fachową, profesjonalizmem i niepojętymi trudnościami technicznymi. Nie sądzę, aby musiało ono być bardziej przerażające niż pisanie czy szkicowanie. To po prostu konwencjonalne określenia rozmaitych aktywności – kreatywnych i badawczych.

Żadna wiedza programistyczna nie jest potrzebna, żeby korzystać z tej książki, tak samo jak żadnych kompetencji nie wymagają kursy prowadzone na jej podstawie. Ale ci, którzy już swobodnie czują się w pracy programisty, także mogą skorzystać z Odkrywania kodu – szczególnie wówczas, gdy ich dotychczasowa praca była czysto odtwórcza i polegała na wdrażaniu określonych systemów czy rozwiązywaniu konkretnych problemów. Zakładam jednak, że czytelnicy nie mają żadnego przygotowania programistycznego.

 

KSIĄŻKA JUŻ W SPRZEDAŻY – TYLKO 27 ZŁO

 

Moje podejście do programowania zakłada poszukiwanie w nim potencjału eksploracyjnego: zdolności do nakreślania perspektyw, wymiany myśli oraz dociekań odnośnie do istotnych problemów. Prowadzone przeze mnie dyskusje, szkolenia i prelekcje dotyczące programowania zawierają w sobie także rozpoznania odnoszące się do miejsca, jakie technologie obliczeniowe (computation) i programowanie (programming) zajmują w kulturze. Pod tym określeniem kryje się związek programowania z przetwarzaniem różnego rodzaju mediów, a także – szerzej – z metod i problemów sztuki i humanistyki.

Książka ta została napisana tak, by można ją było czytać, siedząc przed komputerem, by umożliwić czytelnikom programowanie w czasie lektury. A właściwie została ona pomyślana tak, by stanowiła część układu obejmującego człowieka, książkę i komputer – tę część, która pozwala człowiekowi zdobywać wiedzę. Uważam, że po przeczytaniu tego wprowadzenia powinno się zacząć używać książki do pracy programistycznej.

Niekiedy namawiam czytelniczkę, by podążała za wskazówkami i przepisała kod bezpośrednio z książki, po to, by dzięki temu zaznajomiła się i oswoiła z praktycznymi aspektami wprowadzania danych oraz tworzenia programów. Kiedy indziej znów namawiam czytelnika do przećwiczenia pewnych modyfikacji (niektóre z nich są nieznaczne, inne – bardziej istotne) istniejących programów. Prezentuję też starannie dobrane ćwiczenia: od nieskomplikowanych po bardziej złożone. W jeszcze innych przypadkach podaję specyfikację programu, która opisuje, jak ma on działać wedle określonej procedury. I chociaż takie ćwiczenia nie realizują eksperymentalnego potencjału programowania, to ich zadaniem jest dostarczenie użytkownikom szerokiego spektrum doświadczeń programistycznych, aby pogłębić opanowanie przez nich kodu i programowania. Takie doświadczenia są szczególnie ważne w przypadku nauki programowania od podstaw. Z tego powodu ćwiczenia te znajdują się w środkowej części książki – w rozdziałach 5 i 6.

Wreszcie książka prezentuje też opis „projektów nadobowiązkowych”. Te ćwiczenia są celowo niedookreślone, by zostawić pole do wyboru kierunku ich rozwoju samym użytkownikom, pozwalając im pisać na tej podstawie różne rodzaje programów. Projekty te wymagają, by nie tylko realizować instrukcję, ale też przeprowadzić w toku programowania prace badawcze w celu określenia ostatecznego kształtu programu.

Niektóre książki i kursy nauki programowania przekazują użytkownikom wiedzę dotyczącą różnych algorytmów sortowania oraz szczegółów ich działania w czasie i przestrzeni. To niezmiernie ciekawe tematy i zapewne nieodzowne dla kogoś, kto zechce zdobyć podstawy do gruntownego opanowania wiedzy informatycznej (tym terminem oddajemy angielskie science of computation). Jeśli więc ktoś już teraz wie, że jego celem jest zdobycie umiejętności na poziomie stopnia zawodowego z nauk informatycznych albo nawet zdobycie takiego stopnia, powinien raczej poszukać innej książki albo zapisać się na kurs, który pomoże opanować ten materiał. Co więcej, jeżeli ktoś chciałby zdobyć jedynie wiedzę dotyczącą programowania, a nie interesuje go eksploracyjny wymiar programowania ani też związki pomiędzy techniką komputerową a kulturą, z łatwością znajdzie dobre i krótsze podręczniki (jak choćby drugie wydanie Learn to Program Chrisa Pine’a, w którym autor wykorzystuje język Ruby do nauki podstawowych zasad programowania). I analogicznie, jeśli ktoś nie chce nauczyć się programowania, a interesują go związki technik obliczeniowych ze sztuką i naukami humanistycznymi, znajdzie całą masę książek i artykułów, które się tym zajmują. Jedna z nich to książka, której jestem współautorem (wraz z dziewięcioma innymi osobami): 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 – przynosi ona pogłębione studia na temat programu o jednoliniowym kodzie w języku BASIC, opisując go w wielu kulturowych kontekstach.

Należałoby w tym miejscu określić, czym Odkrywanie kodu. Wprowadzenie do programowania w sztuce i humanistyce nie jest. Nie jest to książka, której stawia sobie za cel zapoznanie czytelnika z jakimś konkretnym językiem programowania. Nie uczy również profesjonalnego kodowania czy tworzenia typowych „produktów” inżynierii oprogramowania. Nie jest też – o czym było już wcześniej – kompletnym kursem dla początkujących informatyków, którzy chcą sami zgłębiać tę dziedzinę wiedzy. Niewątpliwie ta książka stanowi uzupełnienie edukacji informatycznej, jednak jej cele są oparte na innych fundamentach, mianowicie: dociekaniach na polu sztuki i humanistyki prowadzonych przy pomocy technik komputerowych.

Oto książka o tym, jak myśleć z pomocą technologii komputerowych, w szczególności – o tym, jak rozważać istotne kwestie sztuki i humanistyki przy pomocy narzędzi programistycznych. Ufam, że oferuje ona początkującym programistom na tyle rzetelną wiedzę, by mogli – dzięki lekturze i zawartym tu ćwiczeniom – zwiększyć orientację w posługiwaniu się językami programowania, posiąść podstawowe umiejętności w zakresie współpracy nad projektami oraz uświadomić sobie, że technologie komputerowe w istotnym stopniu wiążą się z kulturą oraz intelektualnymi problemami sztuki i humanistyki. Mam też nadzieję, że praca z tą książką odkryje potencjał programowania jako metody badawczej i artystycznej, a przynajmniej – że odkryje tego potencjału wystarczający zakres. Jeśli tak się stanie, czytelnicy będą kontynuowali swoje programistyczne przygody i poszukiwania po tym, jak wyczerpią możliwości, które tu zaproponowałem.

• • •

ZOBACZ SPIS TREŚCI

• • •

Kontakt w sprawie egzemplarzy recenzenckich: jakub.baran@ha.art.pl

• • •

Więcej o książce Odkrywanie kodu. Wprowadzenie do programowania w sztuce i humanistyce Nicka Montforta w katalogu wydawniczym Korporacji Ha!art

Odkrywanie kodu. Wprowadzenie do programowania w sztuce i humanistyce w naszej księgarni internetowej

• • •

Nick Montfort

Profesor w Massachusetts Institute of Technology, twórca, krytyk i teoretyk mediów cyfrowych. Jego zainteresowania badawcze sytuują się na skrzyżowaniu informatyki i praktyk literackich. Jest autorem i programistą fikcji interaktywnej, generatorów poezji i innych maszyn literackich oraz książek: Twisty Little Passages: An Approach to Interactive Fiction (2009), Racing the Beam: The Atari Video Computer System (2005), a także redaktorem antologii New Media Reader (2005).

Czytaj dalej

• • •

Wydawca:

Partner wydania:

• • •

Publikacja wydana w ramach przygotowań do Roku Bydgoskiego Dziedzictwa Przemysłowego

• • •

Dofinansowano ze środków Ministra Kultury i Dziedzictwa Narodowego

• • •

Patronat medialny:

 

Projekt Petronela Sztela      Realizacja realis

Nasz serwis używa plików cookies do prawidłowego działania strony. Korzystanie z serwisu bez zmiany ustawień dla plików cookies oznacza, że będą one zapisywane w pamięci urządzenia. Ustawienia te można zmieniać w przeglądarce internetowej. Więcej informacji udostępniamy w naszej polityce prywatności.

Zgadzam się na użycie plików cookies.

EU Cookie Directive Module Information