„The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal” – M. Mitchell Waldrop

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

  1. Połączenia odległych dziedzin
    1. 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.
  2. Behawioryzm – ciemna uliczka w psychologii
    1. 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?
    2. 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
      1. ignorowanie umysłu i emocjonalności człowieka – uważano to za „nienaukowe”
    3. kognitywna rewolucja –  czyli traktujemy umysł, zmysły jakie dostaje, jego stany wewnętrzne i reakcje jako część większej całości?
  3. Dominujące nauki przeszłości – fizyczne
    1. materia, energia, ruch, pęd.
    2. badanie fundamentalnej natury materii i samego wszechświata
  4. Każdy wiek ma swoje urządzenie
    1. XVII – zegar
      1. więc opisujemy rośliny i zwierzęta jako organiczne zegar (Kartezjusz)
    2. XIX – silnik parowy
      1. organizmy to maszyny cieplne
    3. XX – serwomechanizmy, urządzenia ze sprzężeniem zwrotnym, przetwarzacze informacji
    4. medium is the message, language defines the limits of our understanding
      Czyli to co znamy daje nam potencjalne analogie i spojrzenie na świat.
  5. Dominujące nauki przyszłości – informatyczne?
    1. nauki związane z kontrolą, komunikacją, organizacją i informacja
    2. badania fundamentalnej natury życia i umysłu – fizyczne nauki tutaj nie sięgają?
    3. Wiener wierzył że właśnie te nowe nauki doprowadzą do stworzenia Wielkiej Teorii Wszystkiego
      1. czy to nie jest to co właśnie próbuje zrobić Wolfram z tym swoim używaniem automatonów do wszystkiego?
  6. Intuicja w matematyce
    1. 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.
  7. Rewolucja w architekturze komputerów – od Von Neumanna
    1. praca zespołowa, acz on zebrał największy splendor
    2. zainspirowany odkryciami w sieciach neuronowych i działaniem organizmów biologicznych, zaproponował klasyczną architekturę:
      1. CPU
      2. RAM / pamięć programu
      3. wejścia wyjścia (inputy / outputy)
    3. ten podział wziął się od podziału na różne organy w organizmie człowieka?
  8. Rewolucyjność teorii informacji od C. Shannona
    1. papier z 1948 roku miał niezwykle szerokie zastosowanie
      1. komunikacja międzyludzka, między zwierzętami, czy jakiekolwiek przekazywanie informacji między dwoma stronami
  9. Współpraca maszyna-człowiek
    1. maszyna jest świetna w algorytmach, przetwarzaniu danych, szybkich obliczeniach
    2. ludzie są dobrzy w intuicyjnym myśleniu, heurystykach, wyznaczaniu celów
      1. a mimo to większość czasu ludzie spędzali zawsze na tej mechanicznej części: ręcznym liczeniu, szukaniu informacji
    3. błysk myśli Licklidera – chodzi o to że stworzyć symbiozę człowieka i maszyny i dzięki tej synergii stworzyć nową jakość
  10. Psychologia -> komputery. Późna zmiana zainteresowań
    1. 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.
      1. można mając ponad 25 lat znaleźć nowe zainteresowanie i rozbudzić w sobie pełne żywe skupienie na nim
  11. Programowanie wsadowe vs programowanie interaktywne
    1. 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”
  12. Kognitywna rewolucja
    1. 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?
  13. Programowanie maszynowe vs języki programowania
    1. 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…
    2. Stworzenie Fortrana rozpoczęło całą rewolucję w językach programowania
  14. Języki programowania, top-down vs bottom-up
    1. 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++
    2. 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”.
      1. 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)”.
      2. 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ę
  15. Używamy modeli jako symulacji rzeczywistości
    1. 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
    2. 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,…
  16. Utracone piękno analogowych komputerów
    1. V. Bush twierdził że cyfrowe komputery są martwe, statyczne i nie mają w sobie takiego piękna jak komputery analogowe
    2. 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.
  17. Komputer to nie jest JEDEN pojedynczy wynalazek
    1. na to co nazywamy komputerem złożyło się wiele pośrednich wynalazków: pamięć, architektura komputera, tranzystory, interfejs do komputera, …
    2. 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.
  18. Komputer – narzędzie tworzenia modeli
    1. 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
  19. Mind-body problem
    1. 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. 
    2. 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?
    3. Odpowiedź Wienera: Feedback
  20. Feedback
    1. 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
    2. samo-korygujący mechanizm to również podstawa działań wszelkich tworów opartych wyłącznie na predykcji. Predykcji tego co potrzebują.
    3. 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
  21. Siła tysięcy jednostek z feedbackiem?
    1. 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?
  22. Wynalezienie software’u
    1. 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
    2. 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)
    3. J. Von Neumann – wynalazca software’u
  23. oddzielenie software’u od sprzętu powoduje powstanie nowego bytu
    1. 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).
  24. Modele statyczne i dynamiczne
    1. statyczny – symfonia beethovena na kartce papieru. Równania różniczkowe opisujące przepływy powietrza w huraganie
    2. dynamiczne – orkiestra grająca symfonię beethovena. Komputer wizualizujący huragan.
  25. Medium is the message
    1. echa McLuhana – komputer nie tylko pozwoli na przechowywanie i operowanie naszymi modelami.Komputer pozwoli na ulepszenie naszego myślenia, zmieni nas samych
    2. 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.
      1. nowe sposoby formowania wiedzy w komputerze doprowadzą do nowych sposobów formowania wiedzy w naszych głowach
      2. programowanie będzie więc jak psychologia czy matematyka – i fundamentalna nauka i praktyczna inżynieria
  26. ARPA – Advanced Research Project Agency
    1. w 1957 Rosjanie wysyłają Sputnika i Łajkę – i rzekomo wygrywają wyścig kosmiczny
      1. zszokowana opinia publiczna w USA – okazuje się że ruscy nie tylko kopiują bomby atomowe, ale też i wyprzedzają USA
    2. Ike Eisenhower jest zirytowany
      1. 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
    3. Powołuje agencje do nowych technologii
      1. nowość – dynamiczne przydzielanie funduszy, obcinanie biurokracji, szybkie zatwierdzanie nowych, innowacyjnych projektów, 
  27. Rewolucja: batch process -> interactive programming
    1. JCR naciskał na porzucenie wolnego, asynchronicznego przetwarzania batchowego w komputerach na rzecz nowego podejścia.
    2. Nowe podejście;
      1. time-sharing
      2. interakcja z komputerem
      3. natychmiastowa odpowiedź
      4. graficzny interfejs?
  28. D. Engelbart – inteligencja jako sposób organizowania wiedzy
    1. 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
    2. 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
  29. Interaktywne programowanie
    1. 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.
  30. Licklider w ARPA – organizator niekoniecznie naukowiec?
    1. największy wkład Licklidera w latach gdy był szefem ARPA to stworzenie wielkiej współpracującej społeczności w USA
    2. 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
  31. Upór IBMu
    1. długo nie mogli się pozbyć paradygmantu – że komputery muszą być batch processing maszynami
    2. wiele wysiłku włożyli w system 360 – który był skażony u podstaw podejściem batchowym (wolnym, ciężko programowalnym, nierozszerzalnym)
    3. mimo wszystko mieli duży udział w rynku i dzięki wielkości ich kapitału przetrwali
  32. Background ma wpływ na postrzeganie świata
    1. Licklider różnił się od większości osób pracujących nad komputerami
    2. 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