Ocena: 8/10
W teorii biografia J.C.R. Licklidera, w praktyce historia początków współczesnych komputerów osobistych – od lat 30-tych do 80-tych XX wieku, od komputerów analogowych do powstania internetu. Świetnie napisana opowieść, nie boi się opisywać niuansów technicznych kolejnych epokowych odkryć w historii informatyki.
Moje notatki
- Połączenia odległych dziedzin
- geniusz Claude’a Shannona – był w stanie połączyć logikę Boole’a z XIX wieku wraz z mechanizm przekaźniku elektrycznych.Zauważył że mamy dwa stany – idzie prąd lub nie idzie – i to można interpretować jako implementację logiki Boole’a.
- Behawioryzm – ciemna uliczka w psychologii
- miał kult niczym religia w połowie XX wieku.Dopiero Chomsky oraz inni zaczęli łamać opór, który jednak nie był taki silny?
- główne założenie behawioryzmu – każdy człowiek to czarna skrzynka, która w przewidywalny sposób reaguje na te same bodźce i daje takie same reakcje na te same bodźce.Więc traktuj każdego człowieka takim samym inputem – i dostaniesz ten sam output
- ignorowanie umysłu i emocjonalności człowieka – uważano to za „nienaukowe”
- kognitywna rewolucja – czyli traktujemy umysł, zmysły jakie dostaje, jego stany wewnętrzne i reakcje jako część większej całości?
- Dominujące nauki przeszłości – fizyczne
- materia, energia, ruch, pęd.
- badanie fundamentalnej natury materii i samego wszechświata
- Każdy wiek ma swoje urządzenie
- XVII – zegar
- więc opisujemy rośliny i zwierzęta jako organiczne zegar (Kartezjusz)
- XIX – silnik parowy
- organizmy to maszyny cieplne
- XX – serwomechanizmy, urządzenia ze sprzężeniem zwrotnym, przetwarzacze informacji
- medium is the message, language defines the limits of our understanding
Czyli to co znamy daje nam potencjalne analogie i spojrzenie na świat.
- XVII – zegar
- Dominujące nauki przyszłości – informatyczne?
- nauki związane z kontrolą, komunikacją, organizacją i informacja
- badania fundamentalnej natury życia i umysłu – fizyczne nauki tutaj nie sięgają?
- Wiener wierzył że właśnie te nowe nauki doprowadzą do stworzenia Wielkiej Teorii Wszystkiego
- czy to nie jest to co właśnie próbuje zrobić Wolfram z tym swoim używaniem automatonów do wszystkiego?
- Intuicja w matematyce
- Wiener miał nietypowe podejście do uprawiania matematyki. Matematyczna notacja i wzory to było dla niego zło konieczne. Domyślnym sposobem pracy nad matematycznymi koncepcjami była dla niego intuicja, a także próba zamodelowania problemów w fizycznym świecie i tam rozwiązania go.
- Rewolucja w architekturze komputerów – od Von Neumanna
- praca zespołowa, acz on zebrał największy splendor
- zainspirowany odkryciami w sieciach neuronowych i działaniem organizmów biologicznych, zaproponował klasyczną architekturę:
- CPU
- RAM / pamięć programu
- wejścia wyjścia (inputy / outputy)
- ten podział wziął się od podziału na różne organy w organizmie człowieka?
- Rewolucyjność teorii informacji od C. Shannona
- papier z 1948 roku miał niezwykle szerokie zastosowanie
- komunikacja międzyludzka, między zwierzętami, czy jakiekolwiek przekazywanie informacji między dwoma stronami
- papier z 1948 roku miał niezwykle szerokie zastosowanie
- Współpraca maszyna-człowiek
- maszyna jest świetna w algorytmach, przetwarzaniu danych, szybkich obliczeniach
- ludzie są dobrzy w intuicyjnym myśleniu, heurystykach, wyznaczaniu celów
- a mimo to większość czasu ludzie spędzali zawsze na tej mechanicznej części: ręcznym liczeniu, szukaniu informacji
- błysk myśli Licklidera – chodzi o to że stworzyć symbiozę człowieka i maszyny i dzięki tej synergii stworzyć nową jakość
- Psychologia -> komputery. Późna zmiana zainteresowań
- chodź JCR zaczynał jako psycholog, to po zabawie prototypami TX-0 (TX-2) jego zainteresowania zaczęły się przenosić z psychologii (i psychoakustyki) właśnie bardziej w stronę pracy z komputerami. W stronę posiadania funu z komputerami.
- można mając ponad 25 lat znaleźć nowe zainteresowanie i rozbudzić w sobie pełne żywe skupienie na nim
- chodź JCR zaczynał jako psycholog, to po zabawie prototypami TX-0 (TX-2) jego zainteresowania zaczęły się przenosić z psychologii (i psychoakustyki) właśnie bardziej w stronę pracy z komputerami. W stronę posiadania funu z komputerami.
- Programowanie wsadowe vs programowanie interaktywne
- początki programowania na komputerach to uciążliwa praca z kartami perforowanymi.Wyklepywałeś program na kartach, później oddawałeś je do laboratorium, przychodziłeś po 12h tylko po to żeby otrzymać z twojego programu odpowiedź w rodzaju „BRAK PRZECINKA W LINII 5”
- Kognitywna rewolucja
- prace Millera (7 chunków w pamięci), Chomsky’ego (umysł ma wbudowane reguły do przyswajania języka) oraz Wienera przyczyniły się do stworzenia całego szeregu nauk kognitywistycznych?
- Programowanie maszynowe vs języki programowania
- Fortran to był pierwszy język stworzony z myślą o ułatwieniu tworzenia programów.
Wcześniej proces programowania był bardzo bolesny – oznaczał on operowanie kodami liczbowymi operacji, pracę na rejestrach procesora i odniesienia do konkretnych miejsc pamięci… - Stworzenie Fortrana rozpoczęło całą rewolucję w językach programowania
- Fortran to był pierwszy język stworzony z myślą o ułatwieniu tworzenia programów.
- Języki programowania, top-down vs bottom-up
- w programowaniu top-down dobrze deleguje się kontrole, dobra jest wydajność.
Problemem top-down języków jest fakt, że musisz znać ich pełen przebieg przed wykonaniem.
Przykłady: Fortran, C++ - w programowaniu bottom-up większe struktury wyłaniają się w trakcie tworzenia programu z mniejszych struktur.
Przykłady: Lisp – język w którym lista jest podstawowym budulcem ORAZ kod jest danymi…
Piszesz sobie małe funkcje, które mają input w postaci nawiasowej „(plus 2 2)” i otrzymujesz z tego konkretny output „4”.- WAŻNE: część list Lispowych to tylko wskaźnik na coś co ewoluuje własnym życiem.
Przykład: mamy listę „(a b c d)”, to może się okazać że pod „c” znajduje się „(e f)”, co da rozwinięcie oryginalnej listy do „(a b e f d)”. - Czyli Linked Listy mają za sobą mocną filozofię – tak naprawdę mamy tylko wskaźniki na inne obiekty, a one mogą żyć swoim życiem.Totalnie inny paradygmant niż w top-down – gdzie z góry rezerwujemy pewną pamięć i mamy hermetyczną strukturę
- WAŻNE: część list Lispowych to tylko wskaźnik na coś co ewoluuje własnym życiem.
- w programowaniu top-down dobrze deleguje się kontrole, dobra jest wydajność.
- Używamy modeli jako symulacji rzeczywistości
- słynne mentalne model – to symulacja rzeczywistości, to uproszczenie rzeczywistości.Ich największa wartość tkwi w tym, że możemy testować różne scenariusze i wymyślać nowe pomysły bez dosłownego ich wykonywania w rzeczywistości
- mentalne model są określone tylko do ich posiadacza – trudno je transferować do głów innych osób.Do transferu potrzebne jest medium – wspólny język, rysunek,…
- Utracone piękno analogowych komputerów
- V. Bush twierdził że cyfrowe komputery są martwe, statyczne i nie mają w sobie takiego piękna jak komputery analogowe
- piękno komputerów analogowych – tworzyliśmy analogię rzeczywistości zmapowaną na fizyczne urządzenie. To sprawiało że analogi miały tylko jedno przeznaczenie i użycie ich w innym celu oznaczało PRZEBUDOWANIE urządzenia. Ale powodowało to też że były one o wiele szybsze. Do tego jeszcze wg Busha miały one niezaprzeczalne piękno – tworzyłeś model rzeczywistości tuż przed oczami i widziałeś jak rzeczywistość rozwijała się przed twoimi oczami.
- Komputer to nie jest JEDEN pojedynczy wynalazek
- na to co nazywamy komputerem złożyło się wiele pośrednich wynalazków: pamięć, architektura komputera, tranzystory, interfejs do komputera, …
- większość wynalazków jest zbudowana na ramionach gigantów – tak jak w języku mamy mechanizm chunków, gdzie nową wiedzę budujemy na bazie poprzedniej, tak samo w technologii – wszystko co nowe rewolucyjne budowane jest na górze poprzednich wynalazków. Social network na internecie, internet na bazie komputerów, komputery na bazie elektryki/mechaniki, mechanika na bazie surowców, chemii, przetopu.
- Komputer – narzędzie tworzenia modeli
- komputery miał się stać medium do tworzenia dynamicznych modeli i do dzielenia się nimi z innymi ludźmi.Wiele osób pracujących nad jednym modelem mogło stworzyć o wiele lepszy model niż jakikolwiek inny, wywodzący się tylko z pojedynczej głowy
- Mind-body problem
- w świecie fizycznym żeby doszło do akcji, musi być jej przyczyna. Żeby ciało się poruszało musi zadziałać na nie siła, żeby kamień spadał musi umieszczony powyżej gruntu i musi działać grawitacja.
- Nasze ciała natomiast działają nawet jeśli nie ma bezpośredniej fizycznej przyczyny. Wobec tego co jest takiego w ciele, zwanego roboczo „umysłem”, że człowiek jest w stanie podjąć akcję bez konkretnej fizycznej przyczyny?
- Odpowiedź Wienera: Feedback
- Feedback
- wg Wienera feedback to podstawa działania organizmów żywych. To co próbują robić organizmy nieustannie to właśnie zmniejszenie delty między oczekiwaniami a rzeczywistością. Na podobnej zasadzie działa też termostat – chce dojść do temperatury docelowej, więc tym celu manipuluje parametrami które posiada
- samo-korygujący mechanizm to również podstawa działań wszelkich tworów opartych wyłącznie na predykcji. Predykcji tego co potrzebują.
- A jeśli mamy feedback to możemy mieć również CEL. Cel działania nawet najprostszej maszyny – jak np. automatycznie celujące działo
- Siła tysięcy jednostek z feedbackiem?
- jeśli maszyna z jedną pętlą feedbacku (homing missle) może być tak potężna, to co dopiero gdy będziemy mieli (tak jak w ludzkim mózgu) tysiące czy miliony takich jednostek?
- Wynalezienie software’u
- pierwsze analogowe problemy miały połączony mechanizm ze sposobem rozwiązania – maszynie różniczkującej Busha układ sprzęgieł i kół determinował sposób rozwiązania problemu
- wynalazek software’u – czyli rozdzielenie sposobu wykonania od samej budowy maszyny. Albo taka architektura maszyny, która wykonać dowolnie zadanie obliczenia (nie tylko to jedno z góry zadane równanie)
- J. Von Neumann – wynalazca software’u
- oddzielenie software’u od sprzętu powoduje powstanie nowego bytu
- niezależnie czy grę, czy arkusz kalkulacyjny odpalisz na Windowsie, Unixie czy Macu – ona istnieje jako samodzielny, niezależny byt. Tak jak rozdział książki (niezależnie gdzie go czytamy) czy piosenka (niezależnie gdzie ją wykonujemy).
- Modele statyczne i dynamiczne
- statyczny – symfonia beethovena na kartce papieru. Równania różniczkowe opisujące przepływy powietrza w huraganie
- dynamiczne – orkiestra grająca symfonię beethovena. Komputer wizualizujący huragan.
- Medium is the message
- echa McLuhana – komputer nie tylko pozwoli na przechowywanie i operowanie naszymi modelami.Komputer pozwoli na ulepszenie naszego myślenia, zmieni nas samych
- programowanie stanie się narzędziem które będzie miał praktyczne zastosowania, ale też samo w sobie doprowadzi do fundamentalnych odkryć i przełomów poznawczych.
- nowe sposoby formowania wiedzy w komputerze doprowadzą do nowych sposobów formowania wiedzy w naszych głowach
- programowanie będzie więc jak psychologia czy matematyka – i fundamentalna nauka i praktyczna inżynieria
- ARPA – Advanced Research Project Agency
- w 1957 Rosjanie wysyłają Sputnika i Łajkę – i rzekomo wygrywają wyścig kosmiczny
- zszokowana opinia publiczna w USA – okazuje się że ruscy nie tylko kopiują bomby atomowe, ale też i wyprzedzają USA
- Ike Eisenhower jest zirytowany
- wie że różnica w technologiach nie jest jak opinia publiczna myśli, ale też wie że na przyszłość jest potencjał że ruscy prześcigną USA
- Powołuje agencje do nowych technologii
- nowość – dynamiczne przydzielanie funduszy, obcinanie biurokracji, szybkie zatwierdzanie nowych, innowacyjnych projektów,
- w 1957 Rosjanie wysyłają Sputnika i Łajkę – i rzekomo wygrywają wyścig kosmiczny
- Rewolucja: batch process -> interactive programming
- JCR naciskał na porzucenie wolnego, asynchronicznego przetwarzania batchowego w komputerach na rzecz nowego podejścia.
- Nowe podejście;
- time-sharing
- interakcja z komputerem
- natychmiastowa odpowiedź
- graficzny interfejs?
- D. Engelbart – inteligencja jako sposób organizowania wiedzy
- na najniższych levelach – konkretne skille (np. wypowiedzenie słowa czy machnięcie ręką).na wyższych levelach – skille z niższych poziomów łaczą się w bardziej złożone umiejętności
- podobnie w programowaniu – pojedyncze funkcje łaczą się w struktury/klasy, struktury/klasy łączą się w moduły i tak coraz wyżej aż do pełnego programu
- Interaktywne programowanie
- pierwsi ludzie byli zauroczeni i mocno wciągnięci pracą z interaktywnym terminalem.
Wpisywało się komendę i natychmiastowo dostawało odpowiedź – można było w nieskończoność siedzieć i pracować w czasie rzeczywistym z urządzeniem.Prawdziwa rewolucja w porównaniu do batch-processingu.
- pierwsi ludzie byli zauroczeni i mocno wciągnięci pracą z interaktywnym terminalem.
- Licklider w ARPA – organizator niekoniecznie naukowiec?
- największy wkład Licklidera w latach gdy był szefem ARPA to stworzenie wielkiej współpracującej społeczności w USA
- pod koniec lat 50 wszyscy myśleli o Sputniku i szli w nauki fizyczne.Lick swoim wysiłkiem organizacyjnym skierował uwagę wielu na nowowyłaniającą się rewolucję – interaktywne komputery
- Upór IBMu
- długo nie mogli się pozbyć paradygmantu – że komputery muszą być batch processing maszynami
- wiele wysiłku włożyli w system 360 – który był skażony u podstaw podejściem batchowym (wolnym, ciężko programowalnym, nierozszerzalnym)
- mimo wszystko mieli duży udział w rynku i dzięki wielkości ich kapitału przetrwali
- Background ma wpływ na postrzeganie świata
- Licklider różnił się od większości osób pracujących nad komputerami
- Nie miał background inżyniera (elektronika, matematyka, fizyka), tylko był psychologiem.
i DLATEGO widział komputer przede wszystkim jako sprzęt rozszerzający człowieka (human augmenting tool) – patrzył jak psycholog a nie jak inżynier