{"id":9777,"date":"2018-05-10T16:51:16","date_gmt":"2018-05-10T14:51:16","guid":{"rendered":"http:\/\/marciszewski.eu\/?p=9777"},"modified":"2025-09-23T03:12:19","modified_gmt":"2025-09-23T01:12:19","slug":"9777","status":"publish","type":"post","link":"https:\/\/marciszewski.eu\/?p=9777","title":{"rendered":"Cyfrowy idealizm?"},"content":{"rendered":"<p>Z wielk\u0105 przyjemno\u015bci\u0105 chcia\u0142bym podda\u0107 pod dyskusj\u0119 pewien arcyciekawy materia\u0142, kt\u00f3ry by\u0142 prezentowany na ostatnim seminarium w PW przez dr Jakuba Jernajczyka z Wroc\u0142awia. Dotyczy on istotnych\u00a0 podobie\u0144stw, jakie zachodz\u0105 mi\u0119dzy Plato\u0144skim (i nie tylko!) idealizmem a paradygmatem programowania obiektowego.<\/p>\n<p>Podstaw\u0119 dyskusji stanowi\u0105 <a href=\"http:\/\/stac.calculemus.org\/pdf\/Seminarium-2017-18\/jj-cyfrowy idealizm-prezentacja-v2.pdf\" target=\"_blank\" rel=\"noopener\">SLAJDY<\/a> omawiane na seminarium.<\/p>\n<p>Natomiast wprowadzeniem do niej jest przygotowany przez doktora Jernajczyka wpis, kt\u00f3ry zamieszczam ni\u017cej.<\/p>\n<p>Zamie\u015bciwszy go za\u015b, serdecznie zapraszam do dyskusji &#8211; Pawe\u0142 Stacewicz.<\/p>\n<p><span style=\"color: #800080;\">*****<\/span><\/p>\n<p><span style=\"color: #800080;\">Og\u00f3lne za\u0142o\u017cenia oraz struktura mojego wyst\u0105pienia przedstawione zosta\u0142y w <a href=\"http:\/\/stac.calculemus.org\/pdf\/Seminarium-2017-18\/jj-cyfrowy idealizm-prezentacja-v2.pdf\" target=\"_blank\" rel=\"noopener\">prezentacji<\/a>. W niniejszym w\u0105tku rozwin\u0119 dwa zagadnienia, kt\u00f3re, ze wzgl\u0119du na ograniczenia czasowe, nie mia\u0142y okazji dostatecznie wybrzmie\u0107.<\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>1.<\/strong><br \/>\nRozwa\u017cana analogia pomi\u0119dzy technikami stosowanymi w programowaniu obiektowym, a g\u0142\u00f3wnymi za\u0142o\u017ceniami filozoficznego idealizmu [prezentacja, s. 2-12], ujawnia si\u0119 r\u00f3wnie\u017c w odniesieniu do cyfrowych narz\u0119dzi s\u0142u\u017c\u0105cych do projektowania i edycji grafiki [prezentacja, s. 13-14]. W wielu tego typu \u015brodowiskach funkcjonuje mechanika wzorca oraz jego kopii, kt\u00f3re zachowuj\u0105 wewn\u0119trzn\u0105, cz\u0119sto bardzo z\u0142o\u017con\u0105 struktur\u0119 wzorca. Aby nie mno\u017cy\u0107 terminologii (ka\u017cdy program pos\u0142uguje si\u0119 w\u0142asnym nazewnictwem), skupi\u0119 si\u0119 tutaj na om\u00f3wieniu \u015brodowiska Adobe Flash (obecnie Adobe Animate). Z\u0142o\u017con\u0105 struktur\u0119 wizualn\u0105, obejmuj\u0105c\u0105 nie tylko elementy graficzne, ale tak\u017ce ich zmian\u0119 (ruch), mo\u017cemy we Flashu zawrze\u0107 w pojedynczym symbolu, kt\u00f3ry pocz\u0105tkowo istnieje tylko w bibliotece projektu, poza g\u0142\u00f3wn\u0105 scen\u0105 [rys. 1]. <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" title=\"Element graficzny\" src=\"http:\/\/stac.calculemus.org\/pdf\/Seminarium-2017-18\/r1.png\" alt=\"Rys. 1\" width=\"350\" height=\"260\" \/><br \/>\n<em>Rysunek 1. Symbol utworzony w bibliotece Flasha (odpowiedniku \u015bwiata idei).<\/em><br \/>\n<em> Wersja animowana znajduje si\u0119 <a href=\"http:\/\/www.grapik.pl\/cyfrowyPlatonizm\/a1.html\" target=\"_blank\" rel=\"noopener\">tutaj<\/a><\/em>.<\/p>\n<p><span style=\"color: #800080;\">Utworzywszy symbol mo\u017cemy umieszcza\u0107 na scenie (warstwie prezentacyjnej, mo\u017cna rzec \u201e\u015bwiecie fizycznym\u201d Flash&#8217;a) wiele jego instancji, kt\u00f3re w pe\u0142ni zachowuj\u0105 jego wewn\u0119trzn\u0105 struktur\u0119 [rys. 2].<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" title=\"Elementy graficzne\" src=\"http:\/\/stac.calculemus.org\/pdf\/Seminarium-2017-18\/r2.png\" alt=\"Rys. 2\" width=\"350\" height=\"260\" \/><br \/>\n<em>Rysunek 2. Wiele instancji jednego symbolu, umieszczonych na scenie Flasha (odpowiedniku \u015bwiata fizycznego), kt\u00f3re r\u00f3\u017cni\u0105 si\u0119 mi\u0119dzy sob\u0105 cechami zewn\u0119trznymi, ale w pe\u0142ni zachowuj\u0105 struktur\u0119 wewn\u0119trzn\u0105 wzorca.<\/em><br \/>\n<em> Wersja animowana znajduje si\u0119 <a href=\"http:\/\/www.grapik.pl\/cyfrowyPlatonizm\/a2.html\" target=\"_blank\" rel=\"noopener\">tutaj<\/a><\/em>.<\/p>\n<p><span style=\"color: #800080;\">Analogia do klas i ich obiekt\u00f3w jest tutaj spraw\u0105 oczywist\u0105, poniewa\u017c w \u015brodowisku Flash ka\u017cdy symbol stanowi pewn\u0105 klas\u0119 (dziedzicz\u0105c\u0105 po og\u00f3lnej klasie <em>Object<\/em>), a instancje tego symbolu stanowi\u0105 obiekty owej klasy. W tym miejscu nie chcemy jednak podkre\u015bla\u0107 obiektowo\u015bci Flasha jako \u015brodowiska programistycznego (wyposa\u017conego w pe\u0142ni obiektowy j\u0119zyk ActionScript), lecz wskaza\u0107 podobie\u0144stwa do mechanizm\u00f3w obecnych w filozoficznym idealizmie i programowaniu obiektowym, kt\u00f3re ujawniaj\u0105 si\u0119 na poziomie czysto wizualnym, obs\u0142ugiwanym za pomoc\u0105 graficznego interfejsu u\u017cytkownika.<\/span><\/p>\n<p><span style=\"color: #800080;\">Wszystkie utworzone na scenie instancje danego symbolu w pe\u0142ni zachowuj\u0105 jego wewn\u0119trzn\u0105 struktur\u0119 (wygl\u0105d oraz zachowania), ale mog\u0105 r\u00f3\u017cni\u0107 si\u0119 mi\u0119dzy sob\u0105 cechami zewn\u0119trznymi (mo\u017cna by rzec przypad\u0142o\u015bciowymi), takimi jak po\u0142o\u017cenie, wielko\u015b\u0107, pochylenie, obr\u00f3t, kolor itp.<\/span><br \/>\n<span style=\"color: #800080;\">Zmiana cech zewn\u0119trznych pojedynczej instancji nie wp\u0142ywa na pozosta\u0142e instancje, natomiast ka\u017cda zmiana wewn\u0119trznych cech symbolu powoduje zmiany we wszystkich jego instancjach. Ponadto usuni\u0119cie ze sceny pojedynczej instancji nie wp\u0142ywa na pozosta\u0142e instancje, podczas gdy usuni\u0119cie symbolu z biblioteki spowoduje usuni\u0119cie ze sceny wszystkich jego instancji. Mamy tu wi\u0119c wyra\u017an\u0105 analogi\u0119 do programistycznych klas i obiekt\u00f3w oraz do Plato\u0144skich idei i rzeczy (z t\u0105 tylko uwag\u0105, \u017ce, w przeciwie\u0144stwie do klas oraz symboli, wewn\u0105trz Plato\u0144skich idei nikt nie mo\u017ce dokonywa\u0107 zmian, ani cz\u0142owiek, ani nawet Demiurg).<\/span><\/p>\n<p><span style=\"color: #800080;\">Poniewa\u017c koncepcja symboli i ich instancji bezpo\u015brednio bazuje na koncepcji klas i obiekt\u00f3w, uwidaczniaj\u0105 si\u0119 w niej r\u00f3wnie\u017c inne mechanizmy obecne w programowaniu obiektowym. Symbole, podobnie jak klasy, mog\u0105 zawiera\u0107 w sobie r\u00f3wnie\u017c instancje innych, dowolnie zagnie\u017cd\u017conych symboli (z tym zastrze\u017ceniem, \u017ce dany symbol nie mo\u017ce zawiera\u0107 swojej instancji, lub instancji symbolu, kt\u00f3ry ju\u017c go zawiera).<\/span><br \/>\n<span style=\"color: #800080;\">Na poziomie graficznego interfejsu u\u017cytkownika mamy te\u017c pewne odpowiedniki mechanizmu dziedziczenia \u2013 je\u015bli chcemy utworzy\u0107 nowy symbol, kt\u00f3ry zachowuje wybrane cechy danego symbolu, ale dodaje lub zmienia jego inne cechy, wystarczy utworzy\u0107 duplikat istniej\u0105cego symbolu, kt\u00f3ry nast\u0119pnie mo\u017cna modyfikowa\u0107, nie zmieniaj\u0105c orygina\u0142u.<\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>2.<\/strong><br \/>\nG\u0142\u00f3wnym celem mojego referatu by\u0142o zwr\u00f3cenie uwagi na pewne wsp\u00f3lne intuicje, podobne modele my\u015blenia, kt\u00f3re ujawni\u0142y si\u0119 w r\u00f3\u017cnych czasach, w wydawa\u0142oby si\u0119 bardzo odleg\u0142ych od siebie dyscyplinach (w filozofii, informatyce, w klasycznym rzemio\u015ble i projektowaniu cyfrowym).<\/span><\/p>\n<p><span style=\"color: #800080;\">Warto zatem rozwa\u017cy\u0107 mo\u017cliwe przyczyny zaobserwowanych tu analogii:<\/span><\/p>\n<p><span style=\"color: #800080;\">A) Mog\u0105 one wynika\u0107 z bezpo\u015bredniej, \u015bwiadomej inspiracji programist\u00f3w koncepcjami filozoficznymi. Wariant ten nale\u017cy jednak raczej odrzuci\u0107, gdy\u017c w literaturze specjalistycznej nie ma wzmianek o takich nawi\u0105zaniach, chocia\u017c niekt\u00f3rzy autorzy (np. B. Stroustrup) pos\u0142uguj\u0105 si\u0119 poj\u0119ciami charakterystycznymi dla filozofii.<\/span><\/p>\n<p><span style=\"color: #800080;\">B) Bardziej prawdopodobna wydaje si\u0119 inspiracja nieu\u015bwiadomiona \u2013 niejawne odwo\u0142anie si\u0119 do koncepcji, kt\u00f3re od wiek\u00f3w obecne s\u0105 w nauce i kulturze, a kt\u00f3re po raz pierwszy pojawi\u0142y si\u0119, czy mo\u017ce lepiej rzec, zosta\u0142y sformalizowane w greckiej filozofii (wp\u0142yw Platona na my\u015bl europejsk\u0105 dobitnie uwypukli\u0142 Whitehead w stwierdzeniu, \u017ce \u201eca\u0142\u0105 histori\u0119 zachodniej filozofii da\u0142oby si\u0119 sprowadzi\u0107 do kilku przypis\u00f3w do Platona\u201d).<\/span><\/p>\n<p><span style=\"color: #800080;\">C) Mo\u017cliwa jest r\u00f3wnie\u017c ca\u0142kowicie przypadkowa zbie\u017cno\u015b\u0107 podobnych koncepcji. Wariant ten wydaje si\u0119 jednak ma\u0142o prawdopodobny a nade wszystko ma\u0142o ciekawy.<\/span><\/p>\n<p><span style=\"color: #800080;\">D) Znacznie bardziej prawdopodobna i chyba najbardziej interesuj\u0105ca w sensie poznawczym jest hipoteza, \u017ce podobne, bardziej podstawowe koncepcje\/intuicje wp\u0142yn\u0119\u0142y zar\u00f3wno na my\u015bl filozof\u00f3w, rzemie\u015blnik\u00f3w, jak i programist\u00f3w. To, \u017ce podobne koncepcje mog\u0105 ujawnia\u0107 si\u0119 w r\u00f3\u017cnych dziedzinach ludzkiej aktywno\u015bci m\u00f3wi\u0142oby nam co\u015b istotnego o sposobie dzia\u0142ania ludzkiego umys\u0142u, kt\u00f3ry wed\u0142ug podobnych regu\u0142 ujmuje i rozwi\u0105zuje bardzo odleg\u0142e problemy. Oznacza\u0142oby to, \u017ce wed\u0142ug podobnych regu\u0142 postrzegamy, organizujemy i opisujemy \u015bwiat; w ko\u0144cu wed\u0142ug podobnych regu\u0142 tworzymy nasze modele rzeczywisto\u015bci, co wcale nie oznacza, \u017ce s\u0105 one prawdziwe. Cho\u0107 modele te mog\u0105 doskonale spe\u0142nia\u0107 kryteria naszych regu\u0142 (wedle kt\u00f3rych przecie\u017c powsta\u0142y) a co za tym idzie, wydawa\u0107 si\u0119 nam bardzo wiarygodne, wcale nie musz\u0105 odpowiada\u0107 rzeczywisto\u015bci.<\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>3. <\/strong><br \/>\nPodczas seminarium pojawi\u0142o si\u0119 wiele cennych i interesuj\u0105cych uwag. Poni\u017cej sygnalizuj\u0119 wybrane w\u0105tki, kt\u00f3re by\u0107 mo\u017ce zostan\u0105 rozwini\u0119te na tym forum:<\/span><\/p>\n<p><span style=\"color: #800080;\">a) podkre\u015blono, \u017ce wiele mechanizm\u00f3w programowania obiektowego stosowano w informatyce du\u017co wcze\u015bniej ni\u017c ukonstytuowa\u0142 si\u0119 \u00f3w paradygmat; przywo\u0142ano przyk\u0142ady w\u0142asnych rozwi\u0105za\u0144 programistyczny z lat 60-70-tych, kt\u00f3re antycypowa\u0142y mo\u017cliwo\u015bci wsp\u00f3\u0142czesnych j\u0119zyk\u00f3w programowania;<\/span><\/p>\n<p><span style=\"color: #800080;\">b) rozwin\u0119\u0142a si\u0119 ciekawa dyskusja dotycz\u0105ca stopnia pokrewie\u0144stwa poj\u0119cia klasy stosowanej w programowaniu obiektowym oraz klasy definiowanej w matematyce;<\/span><\/p>\n<p><span style=\"color: #800080;\">c) zwr\u00f3cono uwag\u0119 na inne specyficzne j\u0119zyki, takie jak POV-Ray (www.povray.org) czy Metafont (cz\u0119\u015b\u0107 systemu TeX), w kt\u00f3rych jeszcze wyra\u017aniej uwidacznia si\u0119 analogia do Plato\u0144skiego idealizmu.<\/span><\/p>\n<p><span style=\"color: #800080;\">Na zako\u0144czenie pragn\u0119 serdecznie podzi\u0119kowa\u0107 organizatorom i uczestnikom seminarium za \u017cyw\u0105 i owocn\u0105 dyskusj\u0119.<\/span><\/p>\n<p><span style=\"color: #800080;\">Jakub Jernajczyk<\/span><\/p>\n<p><span style=\"color: #800080;\">******<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Z wielk\u0105 przyjemno\u015bci\u0105 chcia\u0142bym podda\u0107 pod dyskusj\u0119 pewien arcyciekawy materia\u0142, kt\u00f3ry by\u0142 prezentowany na ostatnim seminarium w PW przez dr Jakuba Jernajczyka z Wroc\u0142awia. Dotyczy on istotnych\u00a0 podobie\u0144stw, jakie zachodz\u0105 mi\u0119dzy Plato\u0144skim (i nie tylko!) idealizmem a paradygmatem programowania obiektowego. &hellip; <a href=\"https:\/\/marciszewski.eu\/?p=9777\">Czytaj dalej <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,46,20,42,8],"tags":[],"class_list":["post-9777","post","type-post","status-publish","format-standard","hentry","category-bez-kategorii","category-dydaktyka","category-filozofia-informatyki","category-filoz-nauki","category-informatyzm"],"_links":{"self":[{"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/posts\/9777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9777"}],"version-history":[{"count":19,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/posts\/9777\/revisions"}],"predecessor-version":[{"id":12571,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=\/wp\/v2\/posts\/9777\/revisions\/12571"}],"wp:attachment":[{"href":"https:\/\/marciszewski.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marciszewski.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}