Liczba słów „pierwszy” w artykule jest imponująca.
Pierwszy program „Hello, World”, pierwsza gra MUD, pierwszy strzelanka, pierwszy deathmatch, pierwszy interfejs graficzny, pierwszy „pulpit”, pierwsza Ethernet, mysz trzyprzyciskowa, mysz kulkowa, pierwsza mysz optyczna, pierwszy monitor pełnoekranowy (full-page-sized monitor), pierwsza gra wieloosobowa… pierwszy komputer osobisty.
Rok 1973
W mieście Palo Alto, w legendarnym laboratorium badawczo-rozwojowym firmy Xerox — PARC (Palo Alto Research Center Incorporated), 1 marca zadebiutowała maszyna, która później została nazwana pierwszym na świecie komputerem osobistym (nie domowym komputerem, ale do użytku indywidualnego).
Alto był badawczym prototypem, a nie produktem komercyjnym. Zakładano, że Alto stanie się masowo produkowaną maszyną, ale nigdy nie weszła do produkcji. Niemniej jednak, w sumie wyprodukowano kilka tysięcy Alto, z czego większość używano w samym Xerox PARC i różnych uniwersytetach.
Koszt jednej maszyny Alto szacowano na od 12 000 do 40 000 dolarów.
Sześć lat po premierze Alto, Steve Jobs zobaczył go i zaadaptował, otwierając świat na wiele nowych funkcji.
Zespół odpowiedzialny za stworzenie komputera (, , , ) otrzymał w 2004 roku , a Chuck Tekker otrzymał w 2009 roku również Nagrodę Turinga.
W październiku 2014 Xerox Alto w Muzeum Historii Komputerów.
Spróbujmy zajrzeć pod maskę i poznać twórców.
Prace nad komputerem rozpoczęły się w 1972 roku od dokumentu („Why Alto?”), napisanego przez Butlera Lampsona (który był inspirowany koncepcją Douglasa Engelbarta . Projektowaniem zajął się Chuck Tekker.
„Każdy problem komputerowy można rozwiązać przy pomocy kolejnego poziomu abstrakcji”
W latach 60. Lampson uczestniczył w w Berkeley, którego celem było opracowanie systemu dzielenia czasu Berkeley Timesharing System dla komputera SDS 940 firmy Scientific Data Systems.
W latach 70. Lampson był jednym z założycieli laboratorium , gdzie uczestniczył w rozwoju Alto, a także w opracowaniu technologii druku laserowego, sieci Ethernet, edytorów tekstu w trybie , (2PC), , pierwszej (LAN), opracował kilka znaczących języków programowania, takich jak, .
W latach 80-tych Lampson przeszedł do firmy Digital Equipment Corporation. Obecnie pracuje w dziale badań Microsoftu, gdzie zajmuje się kwestiami bezpieczeństwa i walki z piractwem. Wykłada na Massachusetts Institute of Technology.
Memorandum Lepsona „Dlaczego Alto?”
XEROX Inter-Office MemorandumDo CSL Date 19 grudnia 1972
Od Butler Lampson Lokalizacja Palo Alto
Temat Dlaczego Alto Organizacja PARC
1. Wprowadzenie
To memorandum omawia powody, dla których należy wykonać znaczną liczbę (10-30) kopii osobistego komputera o nazwie Alto, zaprojektowanego przez Chucka Thackera i innych. Pierwotną motywacją dla tego urządzenia była potrzeba Alana Kaya, który potrzebuje około 15-20 'tymczasowych systemów Dynabook' do swojego badania edukacyjnego. Alto ma znacznie szerszy wachlarz zastosowań, niż sugeruje jego pierwotne przeznaczenie. Zacznę od przedstawienia jego cech, a następnie omówię niektóre z wielu ekscytujących zastosowań, do których można wykorzystać Alto. Okazuje się, że istnieje interakcja z niemal każdym programem badawczym CSL.
2. Cechy
System Alto składa się z
48-64K 16-bitowych słów pamięci (plus parzystość i być może korekcja błędów).
Dysku Diablo o pojemności 10 megabajtów, który przesyła jedno słowo co 7 µs, obraca się w 25 ms, a czas wyszukiwania między torami wynosi 8 ms, a w najgorszym przypadku 70 ms.
Monitora telewizyjnego 901 linii, którego powierzchnia wyświetlacza jest prawie dokładnie tej samej wielkości co ta strona. Jest zorientowany pionowo i zaprojektowany do pracy z mapą bitową w pamięci. Wymaga 32K pamięci do wypełnienia obszaru wyświetlania kwadratem (825×620) rastra. Te punkty mają około 1,4 mil kwadratowych. Możliwe jest zmniejszenie ich szerokości do około 1 mil, co daje raster 825×860 i 44,3K pamięci. Kwadratowy raster może wyświetlać 8000 znaków 5×7 z opadającymi końcówkami lub 2500 pięknie proporcjonalnie rozstawionych znaków.
Nieodkodowanej klawiatury, która pozwala procesorowi dokładnie określić, kiedy każdy klawisz jest naciśnięty lub zwolniony, oraz myszy lub innego urządzenia wskaźnikowego.
Procesora, który wykonuje instrukcje Nova w około 1,5 µs/instrukcję i może być rozszerzany o dodatkowe instrukcje odpowiednie do interpretacji Lisp, Bcpl, MPS lub cokolwiek innego.
Interfejs komunikacyjny o wysokiej przepustowości (10 MHz), którego szczegóły nie zostały jeszcze określone.
Opcjonalnie, generator znaków o stałej czcionce, podobny do tego zaprojektowanego i wybudowanego przez Douga Clarka. To oszczędziłoby dużo pamięci i umożliwiłoby wyższej jakości znaki niż można uzyskać z kwadratowego rastra, ale nie dodaje żadnej podstawowej nowej funkcjonalności. Powinien kosztować około 500 dolarów.
Opcjonalnie, drukarkę Diablo, XGP lub inne urządzenie do tworzenia kopii.
Stół o szerokości około 45 cali i głębokości 25 cali do umieszczania maszyny oraz montażu wyświetlacza i klawiatury.
Najważniejsze jest to, że koszt wynosi około 10,5 tys. USD, który można obniżyć do 9,7 tys. USD przy użyciu dysku o pojemności 2,5 megabajta. Koszt jest w przybliżeniu równomiernie rozłożony pomiędzy dysk, pamięć i wszystko inne. Wydaliśmy około dwa razy więcej na Maxc na jednego członka CSL z 1974 roku.
System jest zdolny do wykonywania prawie każdego obliczenia, które może wykonać PDP-10. W większości przypadków może dostarczać lepszą wydajność użytkownikowi niż czasowo dzielony PDP-10, nawet jeśli jest on lekko obciążony (oczywistym wyjątkiem są liczby zmiennoprzecinkowe). Ponadto rozwijamy systemy Lisp, Bcpl i MPS, które mogą działać na Nova, a tym samym, po niewielkich modyfikacjach, również na Alto. Ponieważ większość naszych przyszłych prac związanych z oprogramowaniem ma być realizowana w jednym z tych języków, większość z nich powinna być w stanie działać na Alto.
Następny akapit pokazuje, że powinno być wystarczająco dużo mocy obliczeniowej. Zarówno Lisp, jak i MPS będą miały jakiś rodzaj sprzętowej asysty dla mapowania, ponieważ wielkość pamięci wirtualnej nie będzie problemem; podobny układ dla Bcpl wydaje się wykonalny, ale nie został jeszcze zbadany.
64K Alto ma tyle samo komórek Lisp, co 32K pamięci PDP-l0. BBN twierdzi, że ma użytkowników Lisp z przeciętnym zestawem roboczym 25K i interwałem błędu strony 30 ms. Czterdzieści dwa ścieżki dyskowe pomieszczą 256K komórek Lisp, a średni czas dostępu do rekordu na jednej z tych ścieżek wynosi około 32 ms, w porównaniu do 17 ms dla bębna 10. Zatem, jeżeli szybkość wykonania na Alto jest połową lub mniejszą niż szybkość 10, to strona kosztowałaby nie więcej niż na 10 dla programów Lisp. Jest bardzo prawdopodobne, że możemy uzyskać system Lisp na Alto z kilkoma specjalizowanymi instrukcjami, które mogą dostarczyć połowę wydajności Lisp Tenex działającego w 32K przestrzeni wymiany. Porównywalne wyniki można oczekiwać dla innych języków.
3. Aplikacje
Wszystkie rozważane aplikacje opierają się na dwóch faktach, które podsumowują treści ostatniej sekcji:
Alto jest bardziej wydajne niż terminal VTS podłączony do Tenex;
Alto jest wystarczająco tanie, abyśmy mogli kupić jeden dla każdego członka CSL, jeśli zajdzie taka potrzeba.
a) Obliczenia rozproszone. Możemy bardzo łatwo wprowadzić sieć pakietową point-to-point podobną do Aloha między Alto, używając współosi jako eteru (lub mikrofal z repeaterem na wzgórzu dla terminali domowych). Możemy zatem przeprowadzić dużą różnorodność eksperymentów z dziesiątkami maszyn. Łatwo przeprowadzić eksperymenty, które zależą od niezależności uczestników, a także te, które wykorzystują specjalizowane komponenty, które muszą współpracować, aby cokolwiek osiągnąć. W szczególności możemy skonfigurować systemy, w których każdy użytkownik ma swoje własne pliki, a komunikacja odbywa się wyłącznie w celu wymiany informacji współdzielonych, tym samym rzucając trochę światła na długoletnią kontrowersję dotyczącą zalet tego schematu w porównaniu do zcentralizowanych plików.
b) Systemy biurowe. Możemy uruchomić rywala NLS Petera oparty na Lispie lub system xNLS. Obliczeniowy nadmiar Alto pozwoli nam skupić się na możliwościach systemu, a nie na optymalizacji jego wydajności. Informacje uzyskane z tego podejścia powinny uzupełniać te uzyskane z eksperymentów xNLS z wieloma użytkownikami. Może również być możliwe uruchomienie tych aplikacji na Alto, a tym samym uwolnienie się od zależności od Nowy; ta możliwość wymaga dalszego zbadania.
c) Komputery osobiste. Jeśli nasze teorie o użyteczności tanich, wydajnych komputerów osobistych są poprawne, powinniśmy być w stanie przekonująco je zilustrować na Alto. Jeśli są błędne, możemy dowiedzieć się dlaczego. Powinniśmy móc zaspokoić potrzeby intensywnych użytkowników Lisp, takich jak Warren i Peter, korzystając z Alto. To również odciąży Maxca. Powinno być dość łatwe do symulowania konfiguracji sprzętowej innych proponowanych komputerów osobistych (np. różne hierarchie pamięci), a tym samym zwalidować te projekty. To ważne, ponieważ bardziej kompaktowe maszyny będą wymagały znacznie większych inwestycji w rozwój inżynieryjny i bardziej precyzyjnej optymalizacji systemu pamięci.
d) Grafika. Alto jest doskonałym narzędziem do pracy graficznej Boba Flegal’a i udostępni owoce tej pracy szerokiej społeczności. Nie może jednak radzić sobie z projektami Dicka Shoupa.
4. Konkurencja
Alto konkuruje z innymi rzeczami, które robimy my lub SSL. Uważam, że to dobre, ponieważ zachęca zwolenników obu podejść do doskonałości. Konkretnie:
a) VTS może robić wyższej jakości znaki, ma kontrolę intensywności i migotania, kosztuje połowę do dwóch trzymanych, jeśli chcesz tylko terminal, i może korzystać z przełącznika wideo. Nie może jednak robić grafiki i może cierpieć na problemy z kolejkowaniem w systemach z dzielonymi zasobami (kontrolująca Nova i komunikacja są dzielone). I, oczywiście, jest tylko tak dobre, jak komputer, który go używa.
b) Maxc może obliczać, a dla aplikacji, które korzystają z istniejącego oprogramowania, potrzebujące dużych zestawów roboczych lub wykonujących dużo mnożeń, będzie lepszy. Ponadto wiadomo, że jest dobry dla Lisp itd., podczas gdy przydatność Alto dla takich dużych systemów pozostaje nieudowodniona.
c) Novas, które nie mają skomplikowanych interfejsów do innego sprzętu (np. Toy, XGP) mogą być zastąpione przez Altosy. Te, które mają, jak Maxc Nova lub prawdopodobnie VTS Nova, są bezpieczne.
d) Konsekwencje Alto dla lokalnej sieci są niejasne.
e) Imlacsy zostały wyeliminowane.
[]
Wraz z Butlerem Lampsonem i innymi absolwentami założył firmę Berkeley Computer Corporation, w której zajmował się opracowywaniem elektroniki komputerowej. Jednak firma nie osiągnęła sukcesu komercyjnego i Tecker podjął pracę w laboratorium badawczym Xerox PARC.
W latach 70. i 80. stał się jednym z twórców protokołu Ethernet oraz wniósł istotny wkład w stworzenie pierwszej drukarki laserowej. W 1983 roku Tecker założył laboratorium badawcze firmy Digital Equipment Corporation (DEC Systems Research Center), a w 1997 roku wziął udział w utworzeniu laboratorium Microsoft Research w Cambridge. Po powrocie do USA Tecker opracowywał sprzęt dla tabletu Microsoft Tablet PC, opierając się na swoim doświadczeniu zdobytym przy pracy nad Dynabook w Xerox PARC.
„Internet nie jest kwestią technologii; chodzi o komunikację. Internet łączy ludzi, którzy mają wspólne zainteresowania, pomysły i potrzeby, niezależnie od geograficznych ograniczeń.”
Był dyrektorem w ARPA’s od 1965 do 1969, założycielem i kierownikiem Laboratorium Informatyki Xerox PARC od 1970 do 1983, założycielem i kierownikiem do 1996.

Twórca koncepcji OOP („Wymyśliłem termin „obiektowo zorientowany”, i mogę wam powiedzieć, że nie miałem na myśli C++.”) oraz laptopa.
Notabene, Kay wypowiedział swoją słynną frazę „Najlepszym sposobem przewidzenia przyszłości jest jej wynalezienie” w 1971, a (laureat Nagrody Nobla, twórca holografii) — w 63 roku. Wynajdowanie przyszłości (1963): „Przyszłości nie można przewidzieć, ale można je wynaleźć.” (Śledztwo w tej sprawie .)
Film na TED
Xerox Alto

Sprzęt

Xerox Alto miał 128 KB pamięci RAM (kosztującej 4000 dolarów), rozszerzalnej do 512 KB, dysk twardy z wymiennym kartridżem o pojemności 2,5 MB.
Napędy dysków

Monitor

Do wyświetlania grafiki używano monochromatycznego monitora o rozdzielczości 606×808 pikseli, wykonanego w nietypowej orientacji portretowej.
Kamień

Chip: wielochipowe, sekcyjne urządzenie arytmetyczno-logiczne (bit-slice arithmetic logic unit) oparte na z obsługą mikrokodu (do 16 równoległych zadań z ustalonymi priorytetami). 5.8 MHz CPU
Klawiatura

64-klawiszowa klawiatura
Mysz
Wszystkie myszy używane z Alto były trzyprzyciskowe. Pierwsza mysz była mechaniczna, z dwoma kołami ustawionymi prostopadle do siebie. Wkrótce ten model został zastąpiony myszą z kulką, wynalezioną przez Billa Englisha. Później pojawiła się mysz optyczna, która na początku używała białego światła, a później promieniowania podczerwonego. Przycisk na pierwszych myszkach był umieszczony jeden nad drugim, a nie obok siebie, jak to jest obecnie.

Pomysły Engelbarta zrealizowane w rzeczywistości - mysz i :



[]

[]
karta sieciowa
Ethernet


[]
Oprogramowanie

Pierwsze programy dla Alto były napisane w języku programowania (na BCPL, nawiasem mówiąc, napisana została pierwsza program «Hello world» i pierwszy MUD), następnie używano języka , który nie zyskał szerokiego uznania poza PARC, ale wpłynął na niektóre późniejsze języki, takie jak Modula. Na klawiaturze Alto brakowało klawisza podkreślenia, który został przystosowany do symbolu strzałki w lewo, używanego w języku Mesa jako operator przypisania. Ta cecha klawiatury Alto mogła być przyczyną powstania stylu nazywania identyfikatorów CamelCase. Innym charakterystycznym elementem Alto była możliwość programowania bezpośrednio mikrokodu procesora przez użytkownika.
Pomimo stosunkowo niewielkiej ilości pamięci operacyjnej, dla Xerox Alto opracowano i używano programów z graficznymi menu, ikonami i innymi elementami, które stały się powszechne dopiero po pojawieniu się systemów operacyjnych Mac OS i Microsoft Windows.
- Bravo i Gypsy — pierwsze edytory tekstu WYSIWYG
- Laurel i Hardy — sieciowi klienci e-mail
- Markup i Draw — edytory graficzne (bitmap editors)
- Neptune — menedżer plików
- FTP i narzędzia do czatu
- Gry — Szachy, Pinball, Othello oraz gra Alto Trek autorstwa Gene Balla
- Sil — wektorowy edytor graficzny dla układów scalonych i płyt drukowanych
- Officetalk to eksperymentalny system przetwarzania formularzy
- Języki programowania — BCPL, LISP, Smalltalk, Mesa i Poplar
Kilka obrazków/zrzutów ekranu oprogramowania
Smalltalk

Bravo

Cedar

Markup

Draw

SIL

Laurel
[]
więcej zrzutów ekranu programów
Wyświetlenie z programu testującego klawiaturę:
Klawiatura Alto ma osobną linię sygnałową dla każdego klawisza, dzięki czemu może stwierdzić, gdy dowolna liczba klawiszy jest naciskana jednocześnie. Na wyświetlaczu czarne klawisze są przytrzymywane. Mały kwadrat nad klawiaturą reprezentuje myszkę (zobacz zdjęcie 4); jeden klawisz myszy również jest wciśnięty.

Wyświetlenie Alto Executive, z przykładem notacji gwiazdki i znaku zapytania.

NetExecutive (podobny do Alto Executive, ale umożliwia dostęp do zasobów w sieci Ethernet.

Typowy program Mesa edytowany przez Bravo; zauważ różne czcionki użyte w liście programów.

Katalog z edytora katalogów Neptune. Nazwy plików na czarno zostały wybrane do dalszych operacji, takich jak drukowanie lub usuwanie. Kursor jest wyświetlany jako krzyż w kole.

Możliwość zmiany czcionek przez Bravo (jest setki czcionek dla Alto, od gotyckich po runy elfickie; centralny akapit w tym wyświetleniu został zmieniony na grecki). Dokument w dolnym oknie musiał zostać przekształcony do formy pokazanej w górnym oknie.

Punkty są ustawiane za pomocą kursora, a krzywe i linie są wypełniane przez program.

Linie mogą być «malowane» za pomocą różnych “pędzli” (kursor zmienił się w mały pędzelek).

Linie zyskują teksturę; linie przerywane są tworzone za pomocą kursora nożyczek.

Obrazek może być matematycznie manipulowany; nowa figura może być stworzona przez odwrócenie, przechylenie lub rozciągnięcie kopii oryginału.

Oko reprezentuje personę przeciwnika. Każde Alto w sieci może dołączyć lub opuścić grę w dowolnym momencie.

Gra Pinball:
Flippery są uruchamiane przez dwa klawisze Shift; port Alto można podłączyć do głośnika, aby zapewnić dźwięki dzwonków i sygnalizacji.

Wieloplayerowy program Trek:
Ta gra jest rozgrywana całkowicie pod kontrolą myszy. Dolna część ekranu pokazuje skanowanie czujników krótko zasięgowych; powyżej znajduje się wyświetlacz długozasięgowy oraz sterowanie nawigacją i bronią.

Środowisko Cedar na Alto

Słynny «tęczowy» ekran na Alto
Gry
— pierwsza gra wieloosobowa
Sterujesz statkiem kosmicznym jednej z trzech ras: , lub

do gry
Pierwszy deathmatch, pierwszy widok z „pierwszej osoby”.

a także:
- Astro-roids
- Szachy
- Galaxians
- Mazewar
- Missile Command
- Rinky Dink (program pinballa Clinta Parkera)
- Space War
Zrzuty ekranu








Oto, do czego służą komputery
UPD
Nie zdążyłem spojrzeć, ale myślę, że będzie to przydatne:

2001 rok. The Xerox Alto: A Personal Retrospective
Podsumowanie
„Nie wątpcie, że mała grupa myślących i oddanych ludzi może zmienić świat. W rzeczywistości tylko oni przynoszą te zmiany.” Margaret Mead
Moim zdaniem, to szaleńczo świetne być świadkiem (a tym bardziej uczestnikiem) tworzenia nowych i interesujących rzeczy. Miałem szczęście być w pobliżu grupy młodych i odważnych ludzi, którzy stworzyli „Zegarek” (pierwsze anti-cafe), chociaż nie produkt IT, ale mimo to bardzo ekscytujące i ciekawe. Trochę rozmawiałem z programistami , mają mnóstwo interesujących historii. Z przyjemnością obejrzałem serial . Kto zna linki do przydatnych materiałów, niech się podzieli, a jeśli sam brałeś udział w tworzeniu nowości - pisz w komentarzach, będę wdzięczny.
Razem z firmą rozpoczynamy wiosenny maraton publikacji.
Postaram się dotrzeć do źródeł technologii IT, zrozumieć, jak myśleli i jakie koncepcje mieli na uwadze pionierzy, o czym marzyli, jak widzieli świat przyszłości. Po co wymyślono "komputer", "sieć", "hipertekst", "wzmacniacze inteligencji", "system zbiorowego rozwiązywania problemów" i jakie znaczenie nadawano tym pojęciom, jakich narzędzi chcieli użyć, aby osiągnąć rezultat.
Mam nadzieję, że te materiały będą inspiracją dla tych, którzy zastanawiają się, jak przejść (stworzyć coś, czego wcześniej w ogóle nie było). Chciałbym, aby IT i "programowanie" przestały być tylko "kodowaniem dla zysku" i przypomnieć, że były traktowane jako dźwignia do zmiany metod prowadzenia wojen, edukacji, sposobu współpracy, myślenia i komunikacji, jako próba rozwiązania problemów świata i odpowiedź na wyzwania, przed którymi stoi ludzkość. Tak to widzę.
0 marca.
1 marca.
2 marca
3 marca
4 marca
5 marca
7 marca
8 marca
Źródło: habr.com
