Ten wątek kandyduje na temat tygodnia na najbliższym śniadaniu piątkowym
“Freed from the temporal constraints of hardware, software could be the ultimate cyberorganism - a mind taking a body as needed to fulfill a particular function or mission”. Tą wizją Gul Agha rozpoczyna artykuł w styczniowym wydaniu Communications of the ACM, nawiązujący do własnego tekstu sprzed dwudziestu lat. Agha uważa, że rozwój rozproszonych wirtualnych środowisk (grid computing, cloud computing) prowadzi do sytuacji gdzie software przestaje być zależne od sprzętu, zaczyna niejako istnieć jako czysto abstrakcyjny byt.
Zostawiając nieco z boku dalszy ciąg myślowy profesora Agha, warto zwrócić uwagę że samo pojęcie software (celowo nie używam słowa “oprogramowanie”, być może bardziej pasuje tu słowo “kod”) od samego początku oznaczało coś abstrakcyjnego. Czym bowiem jest - fizycznie - software? Czy jest to ciąg bitów w pamięci, bądź, w postaci wydrukowanej, ciąg znaków kodu? Absurd - takie stwierdzenie nie oddaje istoty rzeczy. Nie chodzi przecież o sam ciąg znaków, ten jest jedynie odciskiem kryjącej się za nim logiki, skutkującej fizycznym efektem w przypadku uruchomienia programu. W rzeczywistości, software to nie jest coś co istnieje fizycznie - to abstrakcja! Software - kod to czysta myśl, zapis idei.
Praca informatyka polega więc na układaniu i precyzowaniu własnych - i cudzych - myśli. Inżynier oprogramowania to pierwszy w historii gatunek inżyniera, który pracuje na czysto abstrakcyjnym materiale. Jego dzieła nie można dotknąć, choć można uruchomić! W dobie przed-internetowej, gdy program komputerowy był dość sztywno związany z konkretną maszyną, nie dla wszystkich było to oczywiste. Jednak era środowisk rozproszonych, gdzie często nie wiemy nawet, gdzie działa dany proces, uświadamia nam czysto abstrakcyjne właściwości kodu. Informacji w czystej postaci. Bytu, który można powielić bądź przenieść na drugi koniec globu nie wykonując pracy.
Jaka jest właściwa natura software - kodu? Czym on jest?
Stawiam tezę że software nie istnieje. Jest bytem czysto filozoficznym, istnieje jedynie na tyle realnie, na ile istnieje myśl w głowie twórcy. Skoro zaś nie istnieje software, zawód inżyniera informatyka - “inżyniera myśli” - jest pomyłką. W szczególności nieporozumieniem byłoby słowo “inżynier”.
Na najbliższym piątkowym śniadaniu zapraszam do pojedynku filozoficznego chętnych, próbujących obalić, obronić lub rozwinąć powyższą myśl.
Ten wątek kandyduje na temat tygodnia na najbliższym śniadaniu piątkowym. Przypominamy o konieczności zarejestrowania swojej obecności.
27 maj:
Konferencja Jakości Systemów Informatycznych i Spinacz (Wawa)
30 maj:
Use Krakow.pm;
1 czerwiec:
FlexCamp w Krakowie
5 czerwiec:
Zarządzanie zmianą (SPIN)
7 czerwiec:
CodeCamp w Krakowie
Inicjatywa "IT w Krakowie" jest niedochodową i apolityczną organizacją pozarządową. Nasz cel to integracja, promowanie oraz rozwój społeczności informatycznej w Krakowie i regionie.
czytaj więcej
Domena krakowskich inicjatyw społecznych. Zobacz jakie są warunki otrzymania domeny we wkrakowie.org.
Pomysłodawcą i patronem Inicjatywy IT w Krakowie jest GridwiseTech