OK, sparafrazowałem. Pełny cytat:
Internet został wykonany tak dobrze, że większość ludzi uważa go za zasoby naturalne, takie jak Ocean Spokojny, a nie za coś stworzonego przez człowieka. Kiedy po raz ostatni technologia o takiej skali była tak wolna od błędów? Dla porównania, Internet to żart. Sieć została stworzona przez amatorów. - Alan Kay.
Staram się zrozumieć historię Internetu i sieci, a to stwierdzenie jest trudne do zrozumienia. Czytałem gdzie indziej, że Internet jest teraz używany do bardzo różnych rzeczy, niż został zaprojektowany, i być może dlatego.
Co sprawia, że Internet jest tak dobrze zrobiony, a co czyni Internet tak amatorskim?
(Oczywiście, Alan Kay jest omylny i nikt tu nie jest Alan Kay, więc nie wiemy dokładnie, dlaczego to powiedział, ale jakie są możliwe wyjaśnienia?)
* Zobacz także oryginalny wywiad *.
źródło
Odpowiedzi:
Właściwie rozwija ten temat na drugiej stronie wywiadu. To nie wady techniczne protokołu, nad którym lamentuje, to wizja projektantów przeglądarek internetowych. Jak to ujął:
Podaje kilka konkretnych przykładów, takich jak strona Wikipedii w języku programowania, która nie jest w stanie wykonać żadnych przykładowych programów w tym języku, oraz brak edycji WYSIWYG, mimo że była ona dostępna w aplikacjach komputerowych na długo przed istnieniem sieci. 23 lata później, ledwo udało nam się obejść ograniczenia nałożone przez oryginalne decyzje dotyczące projektowania przeglądarki internetowej.
źródło
POST
jest całkowicie nieodpowiedni do tego celu.W pewnym sensie miał rację. Oryginalne (wstępne) wersje HTML, HTTP i URL zostały zaprojektowane przez amatorów (nie standardowych ludzi). I są aspekty odpowiednich projektów ... i późniejszych (oryginalnych) specyfikacji ... które (grzecznie mówiąc) nie są tak dobre, jak mogłyby być. Na przykład:
HTML nie oddzielił struktury / treści od prezentacji i wymagał szeregu poprawek ... oraz dodatkowych specyfikacji (CSS) ... aby temu zaradzić.
HTTP 1.0 był bardzo nieefektywny, wymagając świeżego połączenia TCP dla każdego pobieranego „dokumentu”.
Specyfikacja adresu URL była w rzeczywistości próbą odtworzenia specyfikacji dla czegoś, co było zasadniczo ad hoc i niespójne. Nadal istnieją luki w obszarze definicji schematów, a reguły składni dla adresów URL (np. Tego, co należy uciec) są barokowe.
A gdyby ludzie byli wcześniej zaangażowani w więcej „profesjonalnych” standardów, wiele z tych „nieudanych kroków” mogłoby nie zostać wykonanych . (Oczywiście, nigdy się nie dowiemy.)
Jednak udało internetowej wspaniale pomimo tych rzeczy. Całe uznanie należy się osobom, które to sprawiły. Niezależnie od tego, czy byli wtedy „amatorami”, teraz zdecydowanie nie są amatorami.
źródło
Wydaje się, że jest to spowodowane zasadniczą niezgodą między Alanem Kay a ludźmi (głównie Timem Berners-Lee), którzy zaprojektowali sieć, na temat tego, jak taki system powinien działać.
Według Kay idealna przeglądarka powinna być naprawdę małym systemem operacyjnym z tylko jednym zadaniem: bezpieczne wykonanie kodu pobranego z Internetu. W projekcie Kays sieć nie składa się ze stron, ale z „obiektów” czarnej skrzynki, które mogą zawierać dowolny rodzaj kodu (o ile jest bezpieczny). Dlatego mówi, że przeglądarka nie powinna mieć funkcji. Przeglądarka nie musiałaby mówić o parserze HTML lub silniku renderującym, ponieważ wszystko to powinno być zaimplementowane przez obiekty. To jest również powód, dla którego nie lubi standardów. Jeśli treść nie jest renderowana przez przeglądarkę, ale przez sam obiekt, nie ma potrzeby standardu.
Oczywiście byłoby to znacznie potężniejsze niż dzisiejsza sieć, w której strony są ograniczone przez błędy i ograniczenia obecnych przeglądarek i standardów internetowych.
Filozofia Tima Bernersa-Lee, wynalazcy sieci, jest wręcz przeciwna. Dokument „ Zasada najmniejszej mocy ” określa zasady projektowania leżące u podstaw HTTP, HTML, adresów URL itp. Wskazuje na zalety ograniczeń. Na przykład posiadanie dobrze określonego języka deklaratywnego, takiego jak HTML, jest łatwiejsze do analizy, co umożliwia wyszukiwarkom takim jak Google. Indeksowanie nie jest tak naprawdę możliwe w sieci Kays z kompletnymi obiektami czarnej skrzynki. Zatem brak ograniczeń na obiektach sprawia, że są one znacznie mniej przydatne. Jak cenne są potężne przedmioty, jeśli nie możesz ich znaleźć? Bez standardowego pojęcia linków i adresów URL algorytm rankingu strony Googles nie mógłby działać. W tym przypadku nie byłyby też zakładki.
Kolejnym problemem jest produkcja treści. Teraz mamy różne narzędzia, ale od samego początku każdy amator mógł nauczyć się tworzyć stronę html w notatniku. To właśnie uruchomiło sieć i sprawiło, że rozprzestrzeniła się jak pożar. Zastanów się, czy jedynym sposobem na stworzenie strony internetowej jest rozpoczęcie programowania własnego silnika renderującego? Bariera wejścia byłaby ogromna.
Aplety Java i Silverlight w pewnym stopniu przypominają wizję Kays. Oba systemy są znacznie bardziej elastyczne i wydajne niż Internet (ponieważ można w nich zaimplementować przeglądarkę), ale występują problemy opisane powyżej. Obie technologie są w zasadzie martwe w wodzie.
Tim Berners-Lee był informatykiem, który miał doświadczenie z sieciami i systemami informatycznymi przed wynalezieniem sieci. Wygląda na to, że Kay nie rozumie idei stojących za siecią, dlatego uważa, że projektanci są amatorami bez znajomości historii komputerów. Ale Tim Berners-Lee z pewnością nie był amatorem.
źródło
Czytam to, ponieważ Kay nie jest wystarczająco zaznajomiona z protokołami niższego poziomu, aby założyć, że są znacznie czystsze niż sieć wyższego poziomu. Era „zaprojektowana przez profesjonalistów”, o której mówi, nadal miała poważne problemy z bezpieczeństwem (fałszowanie jest wciąż zbyt łatwe), niezawodnością i wydajnością, dlatego wciąż trwają prace nad dostrajaniem wszystkiego pod kątem szybkich łączy lub dużej utraty pakietów. Cofnij się jeszcze trochę, a nazwy hostów zostały rozwiązane poprzez przeszukanie pliku tekstowego, który ludzie musieli rozpowszechniać!
Oba systemy są złożonymi systemami heterogenicznymi i mają znaczące problemy z kompatybilnością wsteczną za każdym razem, gdy chcesz naprawić brodawkę. Łatwo jest wykryć problemy, ciężko je naprawić, a ponieważ szereg nieudanych konkurentów pokazuje, że zaskakująco trudno jest zaprojektować coś równoważnego bez przechodzenia przez tę samą krzywą uczenia się.
Jak biolog może powiedzieć inteligentnemu projektantowi, jeśli spojrzysz na którykolwiek z nich i zobaczysz genialny projekt, nie przyjrzysz się wystarczająco uważnie.
źródło
Ach tak, kilka razy zadałem Alanowi to pytanie, na przykład kiedy był w Poczdamie i na liście mailingowej fonc . Oto najnowszy cytat z listy, który według mnie całkiem dobrze podsumował:
Rozumiem jego różne odpowiedzi, ponieważ uważa, że przeglądarki internetowe nie powinny wyświetlać dokumentów (HTML), być może wzbogaconych, ale po prostu uruchamiać programy. Osobiście uważam, że się myli, chociaż widzę, skąd pochodzi. Mieliśmy już coś takiego z ActiveX, apletami Java, Flash i teraz „bogatymi” aplikacjami JavaScript, i ogólnie doświadczenie nie było dobre, a moja osobista opinia jest taka, że nawet teraz większość ciężkich stron JavaScript jest krokiem wstecz od dobrego HTML witryny, a nie zatrzymanie do przodu.
Teoretycznie oczywiście wszystko ma sens: próba dodania interaktywności fragmentarycznie do tego, co w zasadzie jest językiem opisu dokumentu, jest wsteczna i przypomina dodawanie coraz większej liczby epicyklów do systemu Ptolemaic, podczas gdy „właściwa” odpowiedź jest taka: ) tekst jest szczególnym przypadkiem programu i dlatego powinniśmy po prostu wysyłać programy.
Biorąc jednak pod uwagę praktyczny sukces WWW, myślę, że rozsądnie jest zmodyfikować nasze teorie, niż przeklinać WWW za to, że żółć nie jest zgodna z naszymi teoriami.
źródło
Naprawdę nie można powiedzieć, że Internet lub Internet zostały wymyślone przez amatorów lub profesjonalistów, ponieważ te dziedziny są absolutnie nowe; wszyscy ludzie byli amatorami protokołów internetowych przed ich wynalezieniem, więc z punktu widzenia wynalazcy Internetu byli również amatorami.
Jeśli mielibyśmy naprawdę osądzać, Internet wcale nie był taki świetny: potrzebny jest IPv6. I nie chodzi tylko o przestrzeń adresową; IPv6 ma nowy nagłówek z mniejszą liczbą różnych pól.
Kolejną dużą różnicą w stosunku do Internetu i Internetu jest to, jak są postrzegane przez programistę; programista rzadko wchodzi w interakcje z Internetem. Z jego punktu widzenia w IP masz adresy, aw TCP dodatkowo port i masz pewność, że paczki zostaną wysłane. To wszystko ... Podczas gdy w sieci programista ma bardziej intensywną interakcję: metody HTTP, nagłówki, HTML, adresy URL itp. Normalne jest dostrzeganie ograniczeń czegoś o wiele więcej możliwości niż w przypadku czegoś, co praktycznie nie ma żadnych możliwości. Dzięki temu nie chcę powiedzieć, że Internet jest prosty:
Jeśli chodzi o wielkość tych dwóch technologii, Internet jest tak doceniany, ponieważ jest to bardzo skalowalna technologia, a pomysł warstwowania był bardzo dobry; w zasadzie na niższych poziomach możesz użyć dowolnej technologii (WLAN, Ethernet, Token Ring itp.) i mieć IP jako standardowy protokół pośredni, na którym umieszczane są TCP i UDP, i powyżej którego możesz w zasadzie dodać żądany protokół aplikacji.
Wielkość sieci jest ściśle związana z wielkością Internetu, ponieważ sieć silnie opiera się na Internecie, pod którym znajduje się stos TCP / IP. Powiedziałbym jednak, że Internet również zależy od sieci; Internet istniał 20 lat przed siecią i był w pewnym sensie anonimowy, ale 20 lat po sieci Internet jest wszechobecny, a wszystko to dzięki sieci.
źródło
Myślę, że wskazywał na coś mniej niejasnego - TBL nie wiedział nic o pracy hipertekstowej, która trwała od lat 60., więc ta praca nie wpłynęła na projekt sieci. Często mówi o informatyce jako popkulturze, w której praktycy nie znają swojej historii i ciągle „wymyślają na nowo płaską oponę”.
źródło
Internet zadziałał wyjątkowo dobrze jako prototyp koncepcji przełączania pakietów odkrytej przez Barana, Pouzina i współczesnych. Wbrew powszechnej opinii nie oznacza to, że przekazany IPv4 jest idealną architekturą protokołu, ani że IPv6 jest właściwą drogą. John Day, który był głęboko zaangażowany w rozwój ARPANET i IP, wyjaśnia to w swojej książce Patterns of Network Architecture z 2008 roku .
Jeśli chodzi o sieć, według słów Richarda Gabriela, „Gorzej jest lepiej”. Konto Tima Bernersa-Lee, Weaving The Web , jest przyzwoite. Sposób, w jaki narodziła się sieć Gillies & Cailliau, jest gęstszy i mniej czytelny, ale zawiera wiele szczegółów i fascynujących powiązań z innymi wydarzeniami z komputerów osobistych w tym czasie. Nie sądzę, że Kay przypisuje to wystarczający kredyt.
źródło
Nie wiem, jakaś część nie-internetowego internetu ma jakieś straszne brodawki. E-mail był wcześniej w Internecie i jest częścią Internetu, a standard jest bardzo otwarty i wymaga wielu włamań, aby rozwiązać (ale nie rozwiązać) problem spamu.
źródło
„Amator” nie odnosi się do braku umiejętności programowania, ale do wyobraźni.
Podstawowym problemem związanym z siecią Tima Bernersa-Lee jest to, że nigdy nie została stworzona dla programistów . (Jest to wyraźny kontrast z siecią Alana Kay.)
Sieć Tima została stworzona dla niekodujących, którzy publikowaliby w Internecie bezpośrednio , grzebiąc w plikach zawierających ich czasopisma / artykuły przeplatane językiem HT-markup: To jest jak WordPerfect z lat 80. i MS-Word, z wyjątkiem tego, że użyliby „ <b> < / b> ”zamiast klikać Bikonę i zapisać ją jako otwarty format „ .htm ”zamiast zastrzeżonego formatu „ .doc ”. Wynalazek tutaj to znacznik „ <a> ”, który pozwala globalnie powiązać te statyczne czasopisma / artykuły.
I to wszystko, to cała wizja sieci autorstwa Tima: jego sieć to zwykła globalna autostrada połączonych cząstek statycznych . Może gdybyś miał pieniądze, możesz kupić edytor, taki jak Dreamweaver, Nexus , Publisher, Citydesk ( ? ) Itp. , Który pomógłby Ci wygenerować wszystkie tagi „ <b> </b> ”, klikając Bikonę.
.. I widzimy, jak jego wizja nie działała zgodnie z przeznaczeniem. Rzeczywiście, od samego początku istnieją potężne czerwone flagi, których świat chciał znacznie bardziej niż to, co oferuje wizja Tima:
Czerwona flaga 1: Szybki wzrost „inteligentnego CGI” (PHP).
Czerwona flaga 2: Szybki wzrost „inteligentnego HTML” (Javascript).
Obecnie mamy jeszcze więcej czerwonych flag, takich jak wzrost Chrome-OS-is-the-browser-is-the-OS ( dokładnie tak, jak Alan Kay chciał, aby przeglądarka była btw) i WASM / rozszerzenia przeglądarki.
Z drugiej strony, w przeciwieństwie do sieci Tima, sieć Alana Kay jest dynamiczną siecią zbudowaną dla programistów: globalna autostrada połączonych programów dynamicznych . Osoby niebędące programistami, które potrzebują „strony”, po prostu opublikują ją za pomocą programu w Internecie . (I sam program został oczywiście napisany przez programistów, a nie dabblerów HTML).
..To jest dokładnie status quo sieci Tima w 2000 roku, ale gdybyśmy mieli sieć Alana, zrobilibyśmy to w latach 90. XX wieku: Zamiast tego, że świat ma „wordpress i friendster” tylko w 2000 roku, zamiast tego mieć je dokładnie, gdy sieć zaczęła się w latach 90.
.. Podobnie, zamiast programów takich jak Steam, Visual Studio, Warcraft, VM Ware w Internecie w latach 40. XX wieku, zamiast tego będziemy mieć je teraz w 2010 roku. (Wieloletnie opóźnienie wynika z faktu, że programy te zostały już zbudowane dla systemu operacyjnego „nie jest przeglądarką”, zmniejszając w ten sposób ekonomiczną zachętę do ich przebudowy w systemie operacyjnym „to jest przeglądarka” -OS.)
Więc to jest to, co ludzie mają na myśli, gdy mówią, Tim Berners-Lee zabił True dynamiczny Web przez popychanie jego „shabby statycznego internecie” na świecie. Słyszałeś kiedyś o terminach „web 2.0”, „web 3.0”? Byliby po prostu nazwani „siecią”, gdybyśmy mieli sieć Alana zamiast sieci Tima. Ale sieć Tima wymaga ciągłej aktualizacji, ponieważ jest tak statyczna .
Oczywiście wszelka nadzieja nie jest stracona, ponieważ sieć można przebudować w dowolny sposób określony przez dostawców przeglądarek. Ale chodzi o to, że wszystkie te „nowatorskie” rzeczy, które „wymyślają” w Internecie, to rzeczy, które zostały już wynalezione dawno temu. Moglibyśmy mieć to wszystko dzisiaj, a nie jutro.
źródło