Znaczące nowe wynalazki w informatyce od 1980 roku


561

To pytanie powstało z komentarzy na temat różnego rodzaju postępów w informatyce w ciągu ostatnich 50 lat.

Inni uczestnicy poprosili mnie o postawienie go jako pytania całemu forum.

Podstawową ideą tutaj nie jest krytykowanie obecnego stanu rzeczy, ale próba zrozumienia czegoś na temat postępów w opracowywaniu fundamentalnych nowych pomysłów i zasad.

Twierdzę, że potrzebujemy naprawdę nowych pomysłów w większości dziedzin informatyki i chciałbym poznać wszelkie ważne i potężne, które zostały ostatnio wykonane. Jeśli tak naprawdę nie możemy ich znaleźć, powinniśmy zapytać „Dlaczego?” i „Co powinniśmy robić?”


77
Jeff Atwood potwierdził, że użytkownik „Alan Kay” to „Alan Kay”. Wiesz, facet, który pracował dla tej firmy produkującej kopiarki ... ;-) pl.wikipedia.org/wiki/Alan_Kay
splattne

1
Obejrzałem ten film: video.google.com/videoplay?docid=-533537336174204822 - Historyczne wideo (1979) o rozwoju Dynabook, dzieci i komputerów oraz wiele innych prezentowanych przez Alana Kay. NIESAMOWITE rzeczy zrobione przed 1970 rokiem - zwłaszcza część „Sketchpad” w 1962 roku.
splattne

2
w zależności od własnej definicji odpowiedź może być dowolna, od „brak” do wyliczenia każdej możliwej technologii. Wszystkie te odpowiedzi byłyby albo poprawne, albo niepoprawne, w zależności od definicji „nowego pomysłu”, którego używa czytelnik / obserwator…
Emile Vrijdags 21.01.2009

3
Po przeanalizowaniu wszystkich odpowiedzi tutaj: Dobry żal! Czy w ciągu ostatnich 30 lat nic nie zrobiliśmy ?
Jeremy Powell

2
@Will: Dziwne, wydaje mi się, że ostatnio dowiedziałem się ciekawej odpowiedzi na to pytanie: algorytmy szybkiego grupowania. DBSCAN jest najnowszym stanem wiedzy na ten temat (O (n log n) w liczbie punktów w zbiorze danych) i pochodzi z 1996 roku. Niestety, przy zamkniętym pytaniu nie przeczytam czasu wiele odpowiedzi, aby dowiedzieć się, czy ktoś mnie pobił.
dmckee --- były moderator kociak

Odpowiedzi:


311

Sam Internet powstał przed 1980 rokiem, ale sieć WWW („rozpowszechniany hipertekst za pomocą prostych mechanizmów”), jak zaproponowano i wdrożono przez Tim Berners-Lee, rozpoczęła się w latach 1989/90.

Chociaż idea hipertekstu istniała już wcześniej ( Xanadu Nelsona próbował wdrożyć schemat rozproszony), WWW było nowym podejściem do wdrażania rozproszonego systemu hipertekstu. Berners-Lee połączył prosty protokół klient-serwer, język znaczników i schemat adresowania w sposób wydajny i łatwy do wdrożenia.

Myślę, że większość innowacji powstaje poprzez ponowne połączenie istniejących elementów w oryginalny sposób. Każdy z elementów WWW istniał wcześniej w jakiejś formie, ale połączenie było oczywiste tylko z perspektywy czasu.

I wiem na pewno, że używasz go teraz.


26
+1 za najbardziej oczywiste, ale także najłatwiejsze do zapomnienia, ponieważ wszyscy przyjmujemy to za pewnik :)
PolyThinker 11.01.2009

20
Obecnie nie korzystam z Internetu. Używam serii rurek zwanych internetami, osiągniętych przez google.
Robert S.

13
@bruceatk: Hypertext to implementacja tekstu. Tekst został wynaleziony w 3500 pne.
Portman

1
@bruceatk: Nie sądzę, że pisał o WWW do 1989 roku. w3.org/People/Berners-Lee
Portman

2
@splattne: I myśl stała się wyszukiwaniem
u0b34a0f6ae

235

Fundacja Wolnego Oprogramowania (założona 1985)

Nawet jeśli nie jesteś gorącym zwolennikiem ich filozofii, propagowane przez nich idee wolnego oprogramowania typu open source miały niesamowity wpływ na przemysł oprogramowania i ogólnie treści (np. Wikipedię).


9
Zgadzam się, że FSF był bardzo wpływowy, ale wśród jego zwolenników istnieje tendencja do „grupowego myślenia”. Tak wiele FSF nie może zaakceptować faktu, że Apple OSX i MS Windows są znacznie lepsze niż jakikolwiek system operacyjny typu open source dla przeciętnego użytkownika. Nikt nie chce tego przyznać.
RussellH

32
Głównym celem FSF jest promowanie oprogramowania, które może być dowolnie używane, modyfikowane i rozpowszechniane przez wszystkich. OSX i Windows nie są pod tym względem „lepsze”.
Adam Lassek

5
@ RussellH: mylisz „Open Source” i „Free (as in Freedom) Software”. Twój komentarz w rzeczywistości dokładnie pokazuje, dlaczego to rozróżnienie jest ważne. Ale tak czy inaczej Firefox jest lepszy niż Internet Explorer i Safari, i jest ważniejszy dla użytkowników niż Windows vs MacOS vs Linux.
niXar

8
Janie, nie musisz być zwolennikiem, aby zobaczyć, że zasady, które wprowadzają, wywarły znaczący wpływ na przemysł. Nie jestem zainteresowany wciąganiem się w dyskusję na temat tego, czy FSF jest komunistyczny, czy też powinieneś przyjąć jakieś komunistyczne zasady.
Dziwne,

9
Legalny wynalazek, a nie wynalazek komputerowy.
Charles Stewart

150

Myślę, że uczciwie jest powiedzieć, że w 1980 roku, jeśli korzystałeś z komputera, zarabiałeś za to lub byłeś maniakiem ... co się zmieniło?

  • Drukarki i publikowanie na poziomie konsumenckim . Oznacza to, że nie potrzebujesz prasy drukarskiej do drukowania dużych ilości materiałów o wysokiej jakości. To było duże - oczywiście w dzisiejszych czasach całkowicie przyjmujemy to za pewnik, a przeważnie nawet nie zawracamy sobie głowy częścią drukarską, ponieważ i tak wszyscy są online.

  • Kolor . Poważnie. Kolorowe ekrany miały ogromny wpływ na postrzeganie gier i aplikacji przez nie-maniaków. Nagle gry wydawały się mniej ciężką pracą, a bardziej oglądaniem telewizji, co otworzyło drzwi dla Sega, Nintendo, Atari i innych, aby wprowadzić gry konsumenckie do domu.

  • Kompresja multimediów (pliki MP3 i pliki wideo). I cała masa rzeczy - takich jak TiVO i iPody - których tak naprawdę nie uważamy za komputery, ponieważ są tak wszechobecne i przyjazne dla użytkownika. Ale oni są.

Myślę, że wspólnym wątkiem są rzeczy, które kiedyś były niemożliwe (tworzenie drukowanych dokumentów; dokładne odtwarzanie kolorowych obrazów; wysyłanie wiadomości na całym świecie w czasie rzeczywistym; dystrybucja materiałów audio i wideo), a następnie były drogie ze względu na sprzęt i logistykę zaangażowany i jest teraz na poziomie konsumenta. Więc - co robią teraz duże korporacje, co kiedyś było niemożliwe, ale może być fajne, jeśli potrafimy wymyślić, jak to zrobić małe i tanie?

Ciekawe jest wszystko, co nadal wymaga transportu fizycznego. Wideokonferencje nie zastąpiły (jeszcze) prawdziwych spotkań - ale przy odpowiedniej technologii mogą nadal. Niektóre podróże rekreacyjne można wyeliminować dzięki całkowicie zmysłowemu, wciągającemu otoczeniu - kino domowe jest banalnym przykładem; innym jest „wirtualne pole golfowe” w budynku biurowym w Soho, gdzie grasz na 18 dołkach prawdziwego golfa na symulowanym polu golfowym.

Dla mnie kolejną naprawdę wielką rzeczą będzie fabrykacja. Tworzenie rzeczy. Łyżki, gitary, krzesła, ubrania, samochody, płytki i inne rzeczy. Rzeczy, które nadal polegają na infrastrukturze produkcji i dystrybucji. Nie muszę już iść do sklepu, żeby kupić film lub album - ile czasu muszę iść do sklepu po odzież i przybory kuchenne?

Pewnie, dzieje się coś ciekawego z wyświetlaczami OLED, GPS i mobilnymi kontenerami szerokopasmowego Internetu, kontenerami IoC i skryptami, a także „chmurą” - ale to wciąż nowatorskie sposoby wyświetlania zdjęć na ekranie. Mogę drukować własne zdjęcia i pisać własne strony internetowe, ale chcę mieć możliwość wytworzenia płóciennego kosza, który dokładnie pasuje do tego zaułka obok biurka, wspornika montażowego do przyklejenia gitary do biurka i czegoś takiego do przypinania mojego telefonu komórkowego do kierownicy roweru.

Nie związany z programowaniem? Nie ... ale w 1980 roku nie było też produkcji dźwięku. Lub dystrybucja wideo. Lub wysyłanie wiadomości do swoich krewnych w Zambii. Myśl, ludzie ... :)


1
Myślę, że kompresja multimediów nie jest nową koncepcją (wraca do pracy Shannona w latach 50.), stała się możliwa dzięki ulepszonemu sprzętowi (wystarczająco szybki, zdolny do odtwarzania multimediów).
Kornel

Musiałbym się zgodzić z tym, że wytwarzanie jest czymś, co moim zdaniem może być jedną z kolejnych wielkich rzeczy. Kiedy obiektowe „drukarki” stają się głównym nurtem (drukarki, które mogą powielać proste elementy fizyczne, które są trwałe), myślę, że tam będziemy.
Andy Webb,

Byłoby również świetnie skanować istniejące elementy, aby można było dokonać wymiany. Wielokrotnie musiałem kupować dziwną śrubę lub część, aby wymienić tę, która zepsuła się w domu lub na rowerze. Za pomocą takiego systemu mógłbym zeskanować starą część, naprawić ją w oprogramowaniu, a następnie utworzyć zamiennik.
Andy Webb,

44
Publikowanie na pulpicie i drukowanie w wysokiej jakości zostało wynalezione w Xerox PARC w latach 70. XX wieku, wówczas niektórzy Altos mieli również kolorowe ekrany wysokiej jakości. Internet sprzed 1980 roku. Kompresja mediów przed 1980 rokiem. Pytanie dotyczy tego, jakie podstawowe nowe technologie zostały wynalezione od 1980 roku
Alan Kay

3
Pan jest wizjonerem. Nie pozwól, żeby mężczyzna cię przygniótł. Drukarki „drukujące” to kolejna wielka rewolucja.
Waylon Flinn

137

Zarządzanie pakietami i rozproszona kontrola wersji.

Te wzorce w sposobie opracowywania i dystrybucji oprogramowania są dość nowe i wciąż zaczynają przynosić efekty.

Ian Murdock nazwał zarządzanie pakietami „największym pojedynczym osiągnięciem Linuksa w branży”. Cóż, zrobiłby to, ale ma rację. Sposób instalacji oprogramowania zmienił się znacząco od 1980 roku, ale większość użytkowników komputerów nadal nie doświadczyła tej zmiany.

Joel i Jeff rozmawiali o kontroli wersji (lub kontroli wersji lub kontroli źródła) z Erikiem Sink w Podcastu # 36 . Wygląda na to, że większość programistów jeszcze nie dogoniła scentralizowanych systemów, a DVCS jest powszechnie postrzegany jako tajemniczy i niepotrzebny.

Z transkrypcji Podcast 36 :

0:06:37

Atwood: ... Jeśli założycie - i to jest duże założenie - że większość programistów ma trochę opanowaną podstawową kontrolę źródła - co, moim zdaniem, nie jest prawdą, szczerze mówiąc ...

Spolsky: Nie. Większość z nich, nawet jeśli tak, to rozumieją odprawę, wymeldowanie, ale rozgałęzianie się i łączenie - to ich dezorientuje.


1
Jeśli ktoś liczy się jako znaczący nowy wynalazek, to git.
hasen

8
hasen j: git to fantastyczny DCMS, jednak przed git zaimplementowano kilka innych - git, to znacząca nowa implementacja pomysłu.
Arafangion

+1 za zarządzanie pakietami. Wciąż jedna z głównych rzeczy, które Linux / BSD musi trzymać nad głowami wszystkich innych, chociaż reszta się do nich zbliża (tylko bardzo powoli).
new123456

Nawet oparte na serwerze systemy kontroli wersji są w dużej mierze opracowywane po 1980 r. I przechodzenie od stanu obecnego do historii stanu również… to kolosalna i subtelna zmiana.
Donal Fellows

Rozproszona kontrola wersji jest złą nazwą. Nikt nie dba o to, czy Twój system jest scentralizowany. Ważne jest, czy śledzisz zestawy zmian czy wersje. Ale przez większość czasu spotykają się (GIT, Mercurial), co wprowadza wszystkich w błąd. Joel Spolsky powiedział to sam w poście na blogu :With distributed version control, the distributed part is actually not the most interesting part.
Benjamin Crouzier

123

BitTorrent . Całkowicie odwraca to, co wcześniej wydawało się oczywiście niezmienną zasadą - czas potrzebny na pobranie pliku przez jedną osobę wzrasta proporcjonalnie do liczby osób, które go pobierają. Zajmuje się także wadami poprzednich rozwiązań peer-to-peer, szczególnie wokół „pijawek”, w sposób organiczny dla samego rozwiązania.

BitTorrent elegancko zmienia to, co zwykle jest wadą - wielu użytkowników próbuje pobrać pojedynczy plik jednocześnie - w korzyść, dystrybuując go geograficznie jako naturalną część procesu pobierania. Strategia optymalizacji wykorzystania przepustowości między dwoma urządzeniami równorzędnymi zniechęca do działania pijawek jako efektu ubocznego - wymuszenie ograniczania przepustowości leży w najlepszym interesie wszystkich uczestników.

Jest to jeden z tych pomysłów, który, gdy ktoś go wymyśli, wydaje się prosty, jeśli nie oczywisty.


To prawda, że ​​chociaż BitTorrent może być nieco inny / ulepszony, znaczącym nowym wynalazkiem naprawdę powinna być dystrybucja P2P, a nie jakakolwiek konkretna implementacja, taka jak BitTorrent.
Ilari Kajaste

10
Nie zgadzam się. P2P wcale nie jest nowy, jest starszy niż USENET. Wstępnie bitTorrentowe aplikacje „P2P” na komputery stacjonarne (Kazaa i tym podobne) po prostu przepakowują koncepcję klient-serwer, dodając dynamiczny centralny katalog serwerów. Każdy klient „równorzędny” łączy się z innym serwerem „równorzędnym” w celu przesłania pliku. Fakt, że pojedynczy węzeł robi oba te elementy, jest stary (przynajmniej dla systemów starszych niż Windows). Protokół bitTorrent to (AFAIK) całkowicie nowy sposób przesyłania plików, który wykorzystuje wiele systemów do przesyłania plików między sobą w prawdziwie rozproszony sposób.
Kief

7
@JL: Teoretycznie bezpośrednie pobieranie jest szybsze, ale nie w praktyce. Z jednym siewnikiem i jednym lejarzem nie powinno być żadnej różnicy. Gdy tylko dodasz kolejnego leachera, ten może zacząć pobierać elementy od tego, kto ma szybsze połączenie (nawet jeśli klient z szybszym połączeniem nie ma pełnego pliku). Dzięki bezpośredniemu pobieraniu, aby skorzystać z szybszego połączenia, musisz najpierw poczekać, aż klient zakończy pobieranie, zanim zaczniesz.
Peter Di Cecco,

1
Myślę, że lepszym pytaniem staje się to, ile przepustowości oszczędzasz, hostując torrent i obsadzając go czymś, co byłoby bezpośrednim polem pobierania. Tylko firmy takie jak Blizzard wiedzą o tym teraz i nie widziałem, żeby rozmawiały z numerami. Bez „super seed” torrenty będą polegać na użytkownikach do seedowania, co po prostu nie działa z połączeniami asynchronicznymi i ludźmi, którzy nie chcą pozostawiać swojego komputera włączonego i nasyconego.
pół

6
@JL: torrenty są wolniejsze niż bezpośrednie pobieranie? Moje „praktyczne” doświadczenie mówi inaczej; spróbuj pobrać Eclipse na dwa sposoby.
Dziekan J

120

Wnioskowanie typu Damas-Milner (często nazywane wnioskowanie typu Hindley-Milner) zostało opublikowane w 1983 roku i od tego czasu stanowiło podstawę każdego wyrafinowanego układu typu statycznego. Był to naprawdę nowy pomysł w językach programowania (przyjęty na podstawie pomysłów opublikowanych w latach 70. XX wieku, ale praktyczny dopiero po 1980 r.). Jeśli chodzi o ważność, zgadzam się z Jaźnią i technikami stosowanymi do implementacji Jaźni; pod względem wpływu nie ma sobie równych. (Reszta świata OO wciąż robi różne wersje na Smalltalk lub Simula.)

Nadal odgrywają wariacje wnioskowania typu; Najbardziej wyróżniającą się odmianą jest mechanizm klasy typu Wadlera i Blotta służący do usuwania przeciążenia, który później odkryto, że oferuje bardzo potężne mechanizmy programowania na poziomie typu. Koniec tej historii jest wciąż w trakcie pisania.


3
Systemy +1 typu statycznego to ogromny ogromny krok w rozwoju oprogramowania. Nie mogłem bardziej zgodzić się z tą odpowiedzią.
Jeremy Powell,

104

Oto wtyczka do zmniejszania map Google , nie tylko dla siebie, ale jako przybliżenie osiągnięcia przez Google szybkich, niezawodnych usług na farmach nierzetelnych, towarowych maszyn. Zdecydowanie ważny wynalazek i całkowicie odmienny od wielkoformatowych komputerów mainframe do obliczeń wagi ciężkiej, które rządziły rajem w 1980 roku.


10
redukcja mapy wcale nie jest wynalazkiem Google.
akappa

20
Jestem programistą funkcjonalnym. Moim pierwszym językiem był APL. Twój punkt dokładnie?
Norman Ramsey

15
Więc (mapcar fl) i (zmniejsz fl) w Lisp automatycznie działają na dowolnej liczbie maszyn towarowych, obsługując całą komunikację, awarie i restartują?
Jared Updike

16
Google-redukcja mapy nie ma wiele wspólnego z funkcjonalnym zmniejszaniem mapy.
aehlke

91

Tagowanie , sposób podziału informacji na kategorie. Tak, małe pola tekstu pod każdym pytaniem.

To niesamowite, że wynalezienie tagowania zajęło około 30 lat. Użyliśmy list i spisów treści; korzystaliśmy z rzeczy zoptymalizowanych pod kątem książek drukowanych.

Jednak 30 lat jest znacznie krótsze niż czas potrzebny ludziom na uświadomienie sobie, że książki drukowane mogą mieć mniejszy format. Ludzie mogą trzymać książki w rękach.

Myślę, że koncepcja znaczników jest niedoceniana wśród głównych facetów CS. Wszystkie badania koncentrują się na przetwarzaniu języka naturalnego (podejście odgórne). Ale tagowanie to pierwszy język, w którym zarówno komputery, jak i ludzie mogą dobrze rozumieć. To podejście oddolne sprawia, że ​​komputery używają języków naturalnych.


1
Zgadzam się - to koreluje z moim twierdzeniem, że jedyną nową rzeczą, o której mogę myśleć, jest znacznik składniowy do zapytania w wielu domenach - ale powiedziałeś to lepiej.
dkretz

40
Sprawdź Engelbart około 1962-72
Alan Kay

Dla mnie tagowanie jest bardzo podobne do wczesnych wyszukiwarek, które używały tagu meta = keywords (to również po latach 80-tych, tylko argumentuję, że tagowanie nie jest warte wspomnienia).
Kornel

1
Podczas gdy tagowanie w informatyce jest stosunkowo nowym podejściem, tagowanie jest również pojęciem odziedziczonym z książek; w książkach nazywa się to indeksowaniem.
Domchi,

6
biblioteki używają „znaczników” od… cóż, nie wiem, ale od dłuższego czasu. Pomyśl o kartach książek (przepraszam, nie jestem pewien, jak są nazywane po angielsku) oznaczonych jako „książki o xxx”.
nico

80

Myślę, że patrzymy na to w niewłaściwy sposób i wyciągamy błędne wnioski. Jeśli dobrze to zrozumiem, cykl przebiega:

Pomysł -> pierwsze wdrożenie -> przyjęcie mniejszości -> masa krytyczna -> produkt towarowy

Od pierwszego pomysłu do towaru często masz stulecia, zakładając, że pomysł dotrze do tego etapu. Da Vinci mógł narysować jakiś helikopter w 1493 roku, ale potrzeba było około 400 lat, aby uzyskać maszynę zdolną do uniesienia się z ziemi.

Od pierwszego opisu okrętu podwodnego Williama Bourne'a w 1580 r. Do pierwszego wdrożenia w 1800 r., Masz 220 lat, a obecne okręty podwodne są wciąż w fazie niemowlęcej: prawie nie wiemy nic o podwodnych podróżach (z 2/3 planety pod powierzchnią morza, pomyśl o potencjalna nieruchomość;).

I nie można powiedzieć, że nie było wcześniejszych, znacznie wcześniejszych pomysłów, o których po prostu nigdy nie słyszeliśmy. Opierając się na niektórych legendach, wygląda na to, że Aleksander Wielki użył jakiegoś dzwonka nurkowego w 332 rpne (co jest podstawową ideą łodzi podwodnej: urządzenia do przenoszenia ludzi i zapasu powietrza pod powierzchnią morza). Biorąc to pod uwagę, patrzymy na 2000 lat od pomysłu (nawet z podstawowym prototypem) do produktu.

Mówię o tym, że dzisiaj szukając wdrożeń, nie mówiąc już o produktach, które nie były nawet pomysłami przed 1980 r., ... założę się, że algorytm „szybkiego sortowania” był używany przez jakiegoś urzędnika plików bez nazwy w starożytnych Chinach. Więc co?

Oczywiście 40 lat temu istniały komputery w sieci, ale to nie dorównuje dzisiejszemu Internetowi. Była tam podstawowa idea / technologia, ale bez względu na to, że nie mogłeś zagrać w grę Warcraft online.

Twierdzę, że potrzebujemy naprawdę nowych pomysłów w większości dziedzin informatyki i chciałbym poznać wszelkie ważne i potężne, które zostały ostatnio wykonane. Jeśli tak naprawdę nie możemy ich znaleźć, powinniśmy zapytać „Dlaczego?” i „Co powinniśmy robić?”

Historycznie rzecz biorąc, nigdy nie byliśmy w stanie tak szybko „znaleźć ich” tak blisko idei. Myślę, że cykl przyspiesza, ale komputery są wciąż cholernie młode.

Obecnie próbuję wymyślić, jak zrobić hologram (rodzaj Gwiezdnych wojen, bez jakiegokolwiek wsparcia fizycznego). Myślę, że wiem, jak to zrobić. Nawet nie zebrałem narzędzi, materiałów, finansowania, a nawet jeśli miałbym w jakimkolwiek stopniu odnieść sukces, faktyczny pomysł miałby już co najmniej kilka dekad, a powiązane wdrożenia / technologie były wykorzystywane równie długo .

Gdy tylko zaczniesz wymieniać rzeczywiste produkty, możesz być całkiem pewien, że koncepcje i pierwsze wdrożenia istniały jakiś czas temu. Nie ma znaczenia

Można argumentować z jakiegoś powodu, że nic nie jest nowe, nigdy, lub że wszystko jest nowe, zawsze. To jest filozofia i oba punkty widzenia można bronić.

Z praktycznego punktu widzenia prawda leży gdzieś pośrodku. Prawda nie jest pojęciem binarnym, niech będzie przeklęta logika boolowska.

Chińczycy mogli kiedyś wymyślić maszynę drukarską, ale minęło około 10 lat, że większość ludzi może wydrukować w domu przyzwoite kolorowe zdjęcia za rozsądną cenę.

Wynalazek jest nigdzie i wszędzie, w zależności od twoich kryteriów i ram odniesienia.


1
+1. Spójrz na przykład na iPada;) Zobacz stackoverflow.com/questions/432922/…
VonC

4
Gdyby tylko była ulubiona. tag odpowiedzi ... gdyby tylko była możliwość wydania 2 głosów pozytywnych ...
tshepang

Świetna odpowiedź. Może powinniśmy wtedy zapytać, jakie nowe pomysły pojawiły się w ciągu ostatnich 30 lat (nie nowe produkty / wynalazki). A ponieważ zbyt trudno jest stwierdzić, czy będą one „znaczące” czy rewolucyjne, zanim jeszcze zostaną zbudowane… może możemy spekulować, a następnie zdecydować, gdzie wydać więcej energii.
mpen

3
W ciągu ostatnich 30 lat pojawiło się wiele niesamowitych nowych pomysłów, ale niekoniecznie było czas, aby zobaczyć, które mają znaczenie. Wybierz dowolną dziedzinę informatyki i po prostu przejrzyj badania opublikowane w zeszłym roku, a nie znajdziesz nowych pomysłów, od drobnych ulepszeń po kompletne remonty. Jednak lata osiemdziesiąte i wcześniejsze wydają się tak rewolucyjne i pełne, ponieważ pomysły te zostały teraz zrealizowane i są wszechobecne, więc wydają się znaczące. Tę samą dyskusję będziemy prowadzić za 30 lat, kiedy pomysły odtąd przerodzą się w wspaniałe wynalazki.
Perrako,

@Mark: Co kwalifikuje się jako „nowy pomysł”? Każdy pomysł, fragment kodu, organizm biologiczny ma kontekst, który w jednym ujęciu nie uczyniłby niczego naprawdę nowego. Problem z pytaniem prof. Kay polega na tym, że filozofia stojąca za ogniem, którą on i jego koledzy z Xerox Parc (i Engelbart 10 lat przed nim) zapalili pod przemysłem komputerowym / technologicznym, płonął jak niekontrolowany ogień i zmienił świat, kontekst. Prawdziwie nowe pomysły nie mają wpływu, więc nikt z nas o nich nie słyszał - systemy operacyjne napisane z dowodami ich poprawności i bezpieczeństwa jądra, architektur innych niż ARM, architektur innych niż x86 itp.
Jared Updike

68

Algorytm Google Page Rank . Chociaż może to być postrzegane jedynie jako udoskonalenie wyszukiwarek indeksujących strony internetowe, chciałbym zauważyć, że one również zostały opracowane po 1980 roku.


„Po prostu udoskonalenie” jest często oksymoronem. W tym przypadku udoskonaleniem jest technologia. Internet był znacznie bardziej przerażającym miejscem, zanim Google wprowadził ten algorytm rangi strony (i dostarczył wyniki szybko i bez bałaganu strony oraz wszystkie inne pogłębiarki, które musieliśmy cierpieć, aby korzystać z innych wyszukiwarek w przeszłości).
David Berger,

19
nie sądzę, żebyś wiedział, czym jest oksymoron.
Jason,

1
Pamiętasz altavistę i tę mało znaną firmę: yahoo?
Esteban Küber

@voyager: Hotbot i Lycos też nie były złe.
Dziekan J

2
@martin to oksymoron inny niż oksymoron . sprzeczność znajduje się w definicji: ninjawords.com/oxymoron
Jason

66

DNS, 1983 i zaległe postępy, takie jak rozwiązywanie hosta poczty e-mail za pomocą rekordów MX zamiast ścieżek bang. *dreszcz*

Zeroconf działający na DNS, 2000. Podłączam drukarkę do sieci i mój laptop ją widzi. Uruchamiam serwer sieciowy w sieci i moja przeglądarka go widzi. (Zakładając, że transmitują swoją dostępność.)

NTP (1985) oparty na algorytmie Marzullo (1984). Dokładny czas w roztrzęsionych sieciach.

Kółko myszy, 1995. Używanie myszy bez niego wydaje się takie prymitywne. I nie, to nie jest coś, o czym pomyślał zespół Engelbarta i zapomniał o nim wspomnieć. Przynajmniej nie, kiedy zapytałem kogoś, kto był wtedy w zespole. (Było to na jakiejś imprezie Engelbart w 1998 roku. Mam do czynienia z jedną z pierwszych myszy.)

Unicode, 1987 i jego zależne postępy w zakresie różnych rodzajów kodowania, normalizacji, tekstu dwukierunkowego itp.

Tak, ludzie często używają wszystkich 5 z nich każdego dnia.

Czy to „naprawdę nowe pomysły”? W końcu były myszy, były kodowania znaków, było mierzenie czasu w sieci. Powiedz mi, jak mogę odróżnić „nowy” od „naprawdę nowego”, a ja odpowiem na to za ciebie. Moja intuicja mówi, że są one wystarczająco nowe.

W mniejszych domenach można łatwo wprowadzić nowsze wersje. Na przykład w bioinformatyce Smith-Waterman (1981), a zwłaszcza BLAST (1990) skutecznie umożliwiają tę dziedzinę. Ale brzmi to tak, jakbyś prosił o pomysły, które są bardzo szerokie na całym obszarze komputerów, a nisko wiszące owoce są wybierane jako pierwsze. Tak jest zawsze z nowym polem.


63

Co z aparatami cyfrowymi?

Według Wikipedii pierwszy prawdziwy aparat cyfrowy pojawił się w 1988 r., A aparaty cyfrowe dostępne na rynku masowym stały się dostępne pod koniec lat 90. XX wieku.


Ale pomysł, wynalazek i patenty pojawiły się na początku lat 70. (patrz rozdział „Wczesny rozwój”)
saschabeaumont

10
Aparat cyfrowy? Zastanawia się, sądząc po głosowaniu, co ludzie rozumieją dziś pod pojęciem „informatyka”.
MaD70,

1
Zdjęcia są tym, na czym opiera się współczesne przetwarzanie konsumenckie. Bez kamery internetowej, wycelowanej i drogiej lustrzanki (do gazet) współcześni konsumenci nie potrzebowaliby komputerów.
Marius

14
@ MaD70: Myślę, że nie interesujesz się fotografią, prawda? Żeby wymienić tylko kilka: automatyczne rozpoznawanie twarzy, autofocus, „tryb panoramiczny”, automatyczny balans bieli… zdecydowanie wpada w pracę z komputerem.
nico

6
Niestety, pierwszy prototypowy aparat cyfrowy został najwyraźniej wyprodukowany przez Kodaka w 1975 roku. pluggedin.kodak.com/post/?ID=687843
Mark Ransom

50

Nowoczesne języki cieniowania i rozpowszechnienie współczesnych układów GPU.

GPU jest również tanim równoległym superkomputerem z narzędziami takimi jak CUDA i OpenCL do błyskawicznego szybkiego kodu równoległego wysokiego poziomu . Dziękujemy wszystkim graczom, którzy obniżają ceny tych coraz bardziej imponujących cudów sprzętu. W ciągu najbliższych pięciu lat mam nadzieję, że każdy sprzedany nowy komputer (także iPhone) będzie miał możliwość uruchamiania masowo równoległego kodu jako podstawowego założenia, podobnie jak 24-bitowy kolor lub 32-bitowy tryb chroniony.


Spróbuj. Nie spodoba ci się to. Systemy wielordzeniowe są znacznie szybsze w przypadku większości rzeczywistych problemów. YMMV. Dobry dla grafiki i niewiele więcej.
xcramps

Jest powód, dla którego nazywane są GPU, a nie PPU… (Jednostki przetwarzania równoległego). Większość ludzi nie ma cierpliwości i / lub umiejętności pisania dobrego kodu dla nich. Chociaż rośnie liczba projektów badawczych, które badają przy użyciu GPUS do celów innych niż grafika.
RCIX

3
Próbowałem tego. Lubię to. Mogę uruchomić cały mój kod Matlab na GPU, bez żadnych modyfikacji kodu źródłowego, z wyjątkiem kilku zmian typu rzutów, które możesz zrobić za pomocą search'n’place. Google „Matlab GPU computing”.
Contango,

3
Zgadzam się z PO. Programowalny potok, chociaż coś, co teraz możemy uznać za coś oczywistego, całkowicie zmienił świat grafiki i wygląda na to, że może nadal zmieniać inne części świata programowania. @xcramps: Myślę, że czegoś mi brakuje; ostatnio sprawdziłem, GPU były systemami wielordzeniowymi. Tylko z większą ilością rdzeni. Coś w rodzaju ... superkomputerów. Ale
wydaje

Dwa lata później (nie 5, jak powiedziałem) i urządzenia mobilne z OpenCL są na horyzoncie: macrumors.com/2011/01/14/…
Jared Updike

43

Kompilacja JIT została wynaleziona pod koniec lat 80.


Cóż, cała praca nad implementacją języka Self (który został całkowicie skompilowany w JIT) była niesamowita, a jego przydatność można dziś zobaczyć w Javascript w Google V8. I to z przełomu lat 80. i wczesnych 90.
Blaisorblade,

7
Pierwszy raz zobaczyłem ten pomysł w ostatnim rozdziale książki Johna Allena Anatomy of Lisp, opublikowanej w latach 70. Jako pomysłodawca podał referencję do pracy doktorskiej z lat 70.
Darius Bacon

Może powinniśmy dopracować ją do „opartej na profilach adaptacyjnej kompilacji JIT”, takiej jak Self JIT lub Suns Java Java Hotspot
kohlerm

34
Jedną z prac doktorskich na początku lat 70., która miała JIT, była praca Jima Mitchella na CMU - później poszedł do PARC
Alan Kay

2
Nori, KV; Ammann, U .; Jensen; Nageli, H. (1975). Uwagi dotyczące implementacji kompilatora Pascal P. Zurych: Eidgen. Tech. Hochschule. (Dzięki wikipedia)
Arafangion

42

Aby odpowiedzieć na dwa pytania dotyczące „Dlaczego śmierć nowych pomysłów” i „Co z tym zrobić”?

Podejrzewam, że duży brak postępu wynika z ogromnego napływu kapitału i zakorzenionego bogactwa w branży. Brzmi to sprzecznie z intuicją, ale myślę, że stało się powszechną mądrością, że każdy nowy pomysł dostaje jeden strzał; jeśli nie uda się za pierwszym razem, nie może wrócić. Kupuje go ktoś z zakorzenionymi zainteresowaniami lub po prostu nieudanymi, a energii już nie ma. Kilka przykładów to tablety i zintegrowane oprogramowanie biurowe. Newton i kilku innych mieli prawdziwy potencjał, ale ostatecznie (przez konkurencyjne wyczerpanie i zły osąd) zmarnowali swoje prawa autorskie, zabijając całe kategorie. (Szczególnie podobały mi się ramy Ashtona Tate'a, ale nadal utknąłem w programach Word i Excel).

Co robić? Pierwszą rzeczą, jaka przychodzi mi na myśl, jest Wm. Rada Szekspira: „Zabijmy wszystkich prawników”. Ale obawiam się, że teraz są zbyt dobrze uzbrojeni. Myślę, że najlepszą alternatywą jest znalezienie jakiejś inicjatywy Open Source. Wydaje się, że lepiej utrzymują dostępność i stopniową poprawę niż alternatywy. Ale przemysł stał się na tyle duży, że potrzebny jest jakiś organiczny mechanizm współpracy, aby uzyskać przyczepność.

Uważam również, że istnieje dynamika, która mówi, że zakorzenione interesy (zwłaszcza platformy) wymagają znacznych zmian - rezygnacji - aby uzasadnić ciągłe strumienie dochodów; i to pochłania dużo kreatywnej energii, którą można by wydać na lepsze sposoby. Zobacz, ile czasu spędzamy krocząc po wodzie dzięki najnowszej wersji Microsoft, Sun, Linux lub Firefox, wprowadzając zmiany w systemach, które w większości już działają dobrze. Nie dlatego, że są źli, to po prostu wbudowane w przemysł. Nie ma czegoś takiego jak Stabilna Równowaga; wszystkie mechanizmy sprzężenia zwrotnego są pozytywne, faworyzując zmianę zamiast stabilności. (Czy widziałeś kiedyś funkcję wycofaną lub wycofaną zmianę?)

Inną wskazówką, która była dyskutowana na temat SO, jest zespół Skunkworks (zob. Geoffrey Moore): prawdziwa innowacja w dużych organizacjach prawie zawsze (90% +) pojawia się w nieautoryzowanych projektach, które pojawiają się spontanicznie, napędzane wyłącznie przez inicjatywę indywidualną lub małą grupę ( i częściej niż formalne hierarchie zarządzania nie są temu przeciwne). Tak więc: Urząd pytania, Buck the System.


Uwielbiałem Framework i nadal można go kupić, ale jest drogi.
Norman Ramsey,

7
Zawsze łatwiej jest mieć nowe pomysły w nowej dziedzinie wiedzy, dlatego bardzo duża liczba ważnych pomysłów pojawiła się w latach 50. i 60. XX wieku. Większość z nich możemy teraz zrobić o wiele lepiej.
David Thornley,

6
Myślę, że ta odpowiedź i komentarze są bardzo dobrze przedstawione.
Alan Kay

5
@David: „Teraz o wiele lepiej”. I taniej. I mniejszy. Umożliwia to nowe sposoby lepszego wykonywania innych czynności. Np. 10 piosenek -> 1000 piosenek -> 1000 albumów w mojej kieszeni, to na pewno kwestia stopnia, ale to wszystko zmienia, nawet jeśli ktoś sprzed 1980 roku pokazał, że można to zrobić teoretycznie na gigantycznej płycie głównej. Elementy mogły tam być, ale niektóre wynalazki, takie jak iPod, są czymś więcej niż tylko sumą części.
Jared Updike

@Alan Kay, @le dorfier: wydaje mi się, że jednym częściowym kontrprzykładem z takim zakorzenionym nastawieniem jest decyzja Donalda Knutha o asymptotycznym zwiększeniu wersji TeXa w kierunku pi. Ale jest instytucją, a nie korporacją. Jestem przerażony wyścigiem Mozilli i Google'a do wersji 100 ich przeglądarek, podczas gdy inteligentna i kreatywna standaryzacja, a także innowacje w zakresie dostępu do danych i transformacji są opóźnione.
ogerard

36

Jedną rzeczą, która mnie zadziwia, jest skromny arkusz kalkulacyjny. Ludzie niebędący programistami budują dzikie i wspaniałe rozwiązania rzeczywistych problemów za pomocą prostej siatki formuł. Replikacja ich wysiłków w aplikacji komputerowej często zajmuje 10 do 100 razy dłużej niż napisanie arkusza kalkulacyjnego, a wynikowa aplikacja jest często trudniejsza w użyciu i pełna błędów!

Uważam, że kluczem do sukcesu arkusza kalkulacyjnego jest automatyczna analiza zależności. Gdyby użytkownik arkusza kalkulacyjnego był zmuszony użyć wzorca obserwatora, nie miałby szans na poprawne wykonanie tego wzoru.

Dużym postępem jest więc automatyczna analiza zależności. Dlaczego więc żadna nowoczesna platforma (Java, .Net, Web Services) nie wbudowała tego w rdzeń systemu? Zwłaszcza w dobie skalowania poprzez paralelizację - wykres zależności prowadzi do trywialnych ponownych obliczeń.

Edycja: Dang - właśnie zaznaczone. VisiCalc został wydany w 1979 roku - udawajmy, że jest to wynalazek po 1980 roku.

Edit2: Wygląda na to, że Alan i tak już odnotował ten arkusz kalkulacyjny - jeśli pytanie, które go kupiło na tym forum, jest prawidłowe!


5
Myślałem o tej odpowiedzi, ale Visicalc został zwolniony zaledwie przed upływem terminu z 1980 roku. ( en.wikipedia.org/wiki/VisiCalc )
Oddthinking 11.01.2009

ale ujawnia to interesujący punkt: samo przedstawienie prostego sposobu wyświetlania i manipulowania danymi stworzyło niezwykle przydatną klasę narzędzi. czy jest jakiś inny pomysł „umożliwiający” taki jak ten? potrzebujemy jednego? Chyba tak.
Javier


Zgadzam się z całego serca. Automatyczna analiza zależności może i powinna być częścią współczesnych języków programowania.
Jesse Pepper,

1
@hasen j: Excel to arkusz kalkulacyjny Nawiasem mówiąc, istnieją nowoczesne platformy, które utrzymują zależności między obliczeniami - na przykład Haskel (Excel i języki funkcjonalne mają wiele wspólnego - na przykład czyste funkcje i leniwe ocenianie). Excel jest po prostu znacznie bardziej intuicyjny niż Haskel :)
Haskel

36

Oprogramowanie:

  • Wirtualizacja i emulacja

  • Przesyłanie danych P2P

  • projekty społecznościowe, takie jak Wikipedia, SETI @ home ...

  • indeksowanie i wyszukiwarki internetowe, tj. indeksujące informacje rozpowszechnione na całym świecie

Sprzęt komputerowy:

  • modułowy komputer PC

  • E-papier


6
Wirtualizacja została wdrożona na VM / CMS w 1972 roku. Co rozumiesz przez „modułowy komputer”?
Hudson

Myślę, że „modułowy komputer” oznacza, że ​​każdy może kupić prawie wymienne komponenty i zbudować własny komputer.
Psycho_Penguin

14
P2P zostało wynalezione w Xerox PARC w latach 70. - Altos to wszyscy P2P, a zasoby plików, drukarki i „routery” to wszystkie P2P Altos
Alan Kay

1
Widziałem „e-papier” i pomyślałem, co? jak to wpływa na mnie każdego dnia. Cieszę się, że istnieje, ale e-czytniki nie są bardzo ważnymi technologiami na szeroką skalę, w porównaniu do, powiedzmy, telefonu komórkowego lub iPoda.
Jared Updike,

3
Chciałbym
zauważyć

36

Ponowne odkrycie monady przez badaczy programowania funkcjonalnego. Monada przyczyniła się do tego, że czysty, leniwy język (Haskell) stał się praktycznym narzędziem; wpłynęło to również na projekt bibliotek kombinatora (kombinatory monadycznego parsera nawet znalazły drogę do Pythona).

Moggijskie „Teoretyczne konto modułów programowych” (1989) jest powszechnie przypisywane wprowadzaniu monad w celu uzyskania efektywnych obliczeń; Praca Wadlera (na przykład „Imperatywne programowanie funkcjonalne” (1993)) przedstawiła monady jako praktyczne narzędzie.


36

Oprogramowanie Shrinkwrap

Przed 1980 r. Oprogramowanie było w większości specjalnie napisane. Jeśli prowadziłeś firmę i chciałeś skomputeryzować, zazwyczaj kupowałbyś komputer, kompilator i bazę danych, a także pisałeś własne rzeczy. Oprogramowanie biznesowe zwykle pisano w celu dostosowania do praktyk biznesowych. Nie oznacza to, że nie było żadnego oprogramowania w puszkach (pracowałem z SPSS przed 1980 r.), Ale nie było to normą, a to, co widziałem, zwykle było oprogramowaniem infrastrukturalnym i badawczym.

W dzisiejszych czasach możesz iść do sklepu komputerowego i znaleźć na półce wszystko, czego potrzebujesz do prowadzenia małej firmy. Nie jest zaprojektowany tak, aby bezproblemowo pasował do wszelkich praktyk, które kiedyś miałeś, ale będzie działał dobrze, gdy nauczysz się pracować mniej więcej zgodnie z jego przepływem pracy. Duże firmy są o wiele bliżej niż folia termokurczliwa niż kiedyś, z takimi rzeczami jak SAP i PeopleSoft.

Nie jest to czysta przerwa, ale po 1980 r. Nastąpiło bardzo wyraźne przejście z drogiego oprogramowania niestandardowego na tanie, gotowe oprogramowanie i elastyczność przeniesiona z oprogramowania na procedury biznesowe.

Wpłynęło to również na ekonomikę oprogramowania. Niestandardowe rozwiązania programowe mogą być opłacalne, ale nie skalują się. Możesz obciążać tylko jednego klienta i nie możesz sprzedać tego samego wielu klientom. Dzięki oprogramowaniu shrinkwrap możesz sprzedawać wiele takich samych rzeczy, amortyzując koszty rozwoju w stosunku do bardzo dużej bazy sprzedaży. (Musisz zapewnić wsparcie, ale to skaluje się. Uważaj to za marginalny koszt sprzedaży oprogramowania.)

Teoretycznie, tam gdzie są wielcy zwycięzcy od zmiany, będą przegrani. Do tej pory działalność związana z oprogramowaniem stale się rozwijała, więc wraz z upowszechnianiem się obszarów otwierają się inne obszary. To prawdopodobnie kiedyś dobiegnie końca, a umiarkowanie utalentowani programiści znajdą się w prawdziwym kryzysie, niezdolni do pracy dla dużych chłopców i wypchnięci z rynku. (Przypuszczalnie dzieje się tak w innych dziedzinach; podejrzewam, że popyt na księgowych jest znacznie mniejszy niż w przypadku QuickBooks i tym podobnych).


Turbo Pascal i C w cenie 100 USD w systemie MS-DOS sprowokowało cenę 100 USD na kompilatorze C dla C / PM od innych.
CW Holeman II

Przepraszamy, całkiem pewny, że Microsoft sprzedawał oprogramowanie do pakowania w folię termokurczliwą przed 1980 rokiem. Nie tylko one.
Mark Ransom,

34

Poza innowacjami sprzętowymi mam tendencję do stwierdzania, że ​​pod słońcem nie ma nic nowego lub nic nowego. Większość naprawdę wielkich pomysłów sięga ludzi takich jak von Neumann i Alan Turing.

Wiele rzeczy, które w dzisiejszych czasach są oznaczone jako „technologia”, to tak naprawdę tylko program lub biblioteka, którą ktoś napisał, lub ponowne czytanie starego pomysłu z nową metaforą, akronimem lub marką.


3
Nie widać lasu, ponieważ wszystkie drzewa stoją na przeszkodzie ... Bloki konstrukcyjne są prawie takie same, ale wynik się zmienił / ewoluował.
Johan

8
... taka jest definicja technologii;) „praktyczne zastosowanie wiedzy ...”
steamer25

1
Zgadzam się, że czas na kolejną wielką rzecz. Jestem zmęczony ponownym pakowaniem rzeczy zapomnianych z przeszłości jako czegoś nowego. Jak Javascript = AJAX.
James

32

Robaki komputerowe były badane na początku lat osiemdziesiątych ubiegłego wieku w Xerox Palo Alto Research Center.

Z programów Johna Shocha i Jona Huppa „Robaki” - wczesne doświadczenia z obliczeniami rozproszonymi ”(komunikat ACM, marzec 1982 r., Tom 25, numer 3, s. 172–180, marzec 1982 r.):

W Jeźdźcu Shockwave , J. Brunner opracowała koncepcję programu wszechmocnego „tasiemiec” bieganie luzem poprzez sieć komputerów - pomysł, który może wydawać się dość niepokojące, ale który jest również dość poza nasze obecne możliwości. Podstawowy model pozostaje jednak bardzo prowokujący: program lub obliczenia, które mogą przenosić się z maszyny na maszynę, wykorzystując zasoby w razie potrzeby i replikując się w razie potrzeby.

W podobny sposób opisaliśmy kiedyś model obliczeniowy oparty na klasycznym filmie science fiction, The Blob: program, który zaczął działać na jednej maszynie, ale wraz ze wzrostem apetytu na cykle obliczeniowe, mógł sięgać, znajdować nieużywane maszyny i rosnąć, aby objąć te zasoby. W środku nocy taki program mógłby zmobilizować setki maszyn w jednym budynku; rano, gdy użytkownicy odzyskają swoje maszyny, „obiekt blob” musiałby wycofać się w uporządkowany sposób, zbierając pośrednie wyniki jego obliczeń. Zaszyty na jednej lub dwóch maszynach w ciągu dnia, program może pojawić się ponownie później, gdy zasoby staną się dostępne, ponownie rozszerzając obliczenia. (To powinowactwo do nocnych eksploracji doprowadziło jednego badacza do opisania ich jako „programów wampirów”).

Cytując Alana Kay: „Najlepszym sposobem przewidzenia przyszłości jest jej wymyślenie”.


@Bobby: Zgodnie z podstawami bezpieczeństwa komputerowego, 2006, Lehtinen, Russell & Gangemi, prace rozpoczęły się „około 1980 roku”. Jeśli więc zignorujesz prekursory science fiction, to się liczy.
Charles Stewart

31

Lepsze interfejsy użytkownika.

Dzisiejsze interfejsy użytkownika nadal są do bani. I nie mam na myśli małych, ale dużych, fundamentalnych sposobów. Nie mogę nie zauważyć, że nawet najlepsze programy nadal mają interfejsy, które są albo niezwykle złożone, albo wymagają dużo abstrakcyjnego myślenia na inne sposoby, i które po prostu nie podchodzą do łatwości konwencjonalnych, nieprogramowych narzędzi.

To prawda, że ​​wynika to z faktu, że oprogramowanie pozwala robić o wiele więcej niż konwencjonalne narzędzia. Nie jest to jednak powód do przyjęcia status quo. Ponadto większość oprogramowania nie jest po prostu dobrze wykonana.

Ogólnie rzecz biorąc, aplikacjom nadal brakuje pewnego poczucia „po prostu działa”, są zbytnio zorientowane na to, co można zrobić, a nie na to, co należy zrobić. Jedną z kwestii, która była wielokrotnie podnoszona i której wciąż nie rozwiązano, jest kwestia oszczędzania. Awaria aplikacji, niszcząc godziny pracy. Mam zwyczaj naciskać Ctrl + S co kilka sekund (oczywiście nie działa to już w aplikacjach internetowych). Dlaczego muszę to zrobić? To zdumiewająco głupie. Jest to oczywiście zadanie automatyzacji. Oczywiście aplikacja musi także zapisać różnicę dla każdej modyfikacji, którą wprowadzam (w zasadzie nieskończoną listę cofnięć) na wypadek, gdyby popełniłem błąd.

Rozwiązanie tego problemu nie jest nawet trudne. Trudno byłoby go zaimplementować w każdej aplikacji, ponieważ nie ma do tego dobrego API. Narzędzia programistyczne i biblioteki muszą ulec znacznej poprawie, zanim możliwe będzie bezproblemowe wdrożenie takich efektów na wszystkich platformach i programach, dla wszystkich formatów plików z dowolnym miejscem przechowywania kopii zapasowych i bez wymaganej interakcji użytkownika. Jest to jednak niezbędny krok, zanim w końcu zaczniemy pisać „dobre” aplikacje zamiast tylko odpowiednich.

Uważam, że Apple pod pewnymi względami zbliża się do tego, że „po prostu działa”. Weźmy na przykład ich najnowszą wersję iPhoto z funkcją rozpoznawania twarzy, która automatycznie grupuje zdjęcia według osób na nich obecnych. Jest to klasyczne zadanie, którego użytkownik nie chce wykonywać ręcznie i nie rozumie, dlaczego komputer nie wykonuje tego automatycznie. Nawet iPhoto jest jeszcze bardzo daleko od dobrego interfejsu użytkownika, ponieważ ta funkcja nadal wymaga ostatecznego potwierdzenia przez użytkownika (dla każdego zdjęcia!), Ponieważ silnik rozpoznawania twarzy nie jest idealny.


3
Picasa Google już to ma. W rzeczywistości Picasa ma tak wiele innych funkcji, które powoli indeksują się do iPhoto.
akshaykarthik

30

Systemy HTM ( Hiearchical Temporal Memory ).

Nowe podejście do sztucznej inteligencji, zainicjowane przez Jeffa Hawkinsa poprzez książkę „ O inteligencji ”.

Obecnie działająca jako firma o nazwie Numenta, w której pomysły te są testowane poprzez rozwój „prawdziwej” sztucznej inteligencji, z zaproszeniem do społeczności, aby uczestniczyć w niej za pomocą zestawu SDK.

Chodzi bardziej o budowanie inteligencji maszyn od podstaw, niż o naśladowanie ludzkiego rozumowania.


11
Kiedy zrobią coś interesującego, będę pierwszym i najgłośniejszym przywódcą oklasków
Alan Kay

@AlanKay Wygląda na to, że HTM jest już używany w prawdziwych produktach. Na przykład: vitamind inc pozwala rozpoznać obiekty lub osoby na materiałach z telewizji przemysłowej. Vitamindinc jest w całości zasilany przez HTM. W tym artykule widać, że HTM faktycznie wyprzedza podejście SVM do ręcznego rozpoznawania w zestawach danych, takich jak USPS. To, że jest jednocześnie inspirowane biologicznie i ma wysoką wartość praktyczną, podnieca mój umysł. Myślę, że możesz teraz zacząć klaskać.
Benjamin Crouzier

26

Wykorzystanie fizyki w interakcji człowiek-komputer w celu dostarczenia alternatywnej, zrozumiałej metafory. To w połączeniu z gestami i dotykiem prawdopodobnie zastąpi obecną powszechną metaforę GUI, wynalezioną w latach 70. i powszechnie stosowaną od połowy lat 80.

Moc obliczeniowa nie była obecna w 1980 roku, aby było to możliwe. Wydaje mi się, że Gry prawdopodobnie tu wiodły. Przykład można łatwo zobaczyć w interakcji przewijania listy w urządzeniu iPod Touch / iPhone. Mechanizm interakcji opiera się na intuicji działania pędu i tarcia w świecie rzeczywistym, aby zapewnić prosty sposób przewijania listy elementów, a użyteczność zależy od gestu fizycznego, który powoduje przewijanie.


Najwcześniejszym przykładem, jaki mogę wymyślić, był zestaw alternatywnej rzeczywistości Randy'ego Smitha, zbudowany w Smalltalk-80 w PARC w latach '86 lub '87. Możesz implementować nowe obiekty za pomocą fizycznej metafory. Każdy obiekt miał lokalizację, masę, pęd i wyskakujące menu do interakcji z nim za pośrednictwem interfejsu wiadomości.
PanCrit

25

Uważam, że testy jednostkowe, TDD i ciągła integracja to znaczące wynalazki po 1980 roku.


2
Najpierw przetestowałem bardzo starą metodę, która, jak sądzę, została ponownie opracowana.
Johnno Nolan,

To kwestia inżynierii oprogramowania, a nie „komputerowe”
SquareCog

7
Zgadzam się z Johnem, na przykład Brooks opisuje podejście do testu w The Mythical Man-Month (1975).
Fabian Steeg

28
Ciągła integracja została po raz pierwszy poważnie wykonana w BBN Lisp 1.85 pod koniec lat 60. XX wieku, która stała się Interlisp w PARC. Smalltalk w PARC w latach 70. był również systemem ciągłej integracji.
Alan Kay

3
TDD stało się ogólnie przydatne tylko wtedy, gdy komputery były wystarczająco szybkie, aby uruchamiać małe testy tak szybko, że możesz je uruchamiać w kółko.
Jay Bazuzi

25

Telefony komórkowe.

Podczas gdy pierwszy patent na „telefon bezprzewodowy” miał miejsce w 1908 r. I gotowali przez długi czas (0G w 1945 r., 1G wprowadzono na rynek w Japonii w 1979 r.), Nowoczesne cyfrowe telefony komórkowe 2G pojawiły się dopiero w 1991 r. SMS nie istniał do 1993 r., a dostęp do Internetu pojawił się w 1999 r.


4
Japonia w 1979 roku, to jest przed 1980 rokiem. Szukamy nowych wynalazków - pomyśl laboratoria badawcze, uniwersytety, praktyczne demonstracje wniosków patentowych ... wszystko, co wyprzedzi dostępność na rynku masowym o wiele lat.
saschabeaumont

1
Różnica między 1G a 2G jest prawie tak duża, jak różnica między komputerem analogowym a cyfrowym. Myślę, że 2G (1991) zasługuje na status „nowego” wynalazku.
Domchi,

I zależy od technologii oszczędzania energii i dobrych akumulatorów.
Johan

23

Zacząłem programować 2 stycznia 1980 roku. W ciągu mojej kariery starałem się myśleć o znaczących nowych wynalazkach. Z trudem o tym myślę. Większość tego, co uważam za znaczące, zostało faktycznie wynalezionych przed 1980 r., Ale potem nie zostało szeroko przyjęte ani ulepszone aż do tego czasu.

  1. Graficzny interfejs użytkownika.
  2. Szybkie przetwarzanie
  3. Duża pamięć (zapłaciłem 200,00 $ za 16 tys. W 1980 r.).
  4. Małe rozmiary - telefony komórkowe, komputery kieszonkowe, iPhone'y, netbooki.
  5. Duże pojemności magazynowe. (Przeszedłem z noszenia dużej dyskietki 90k na 8-gigabajtową pamięć USB.
  6. Wiele procesorów. (Prawie wszystkie moje komputery mają teraz więcej niż jeden, oprogramowanie stara się je zająć).
  7. Standardowe interfejsy (takie jak USB) do łatwego podłączania urządzeń peryferyjnych.
  8. Wyświetlacze wielodotykowe.
  9. Łączność sieciowa - prowadząca do eksplozji Internetu w połowie lat 90.
  10. IDE z Intellisense i kompilacją przyrostową.

Podczas gdy sprzęt ogromnie się poprawił, przemysł oprogramowania stara się nadążyć. Jesteśmy o lata świetlne przed 1980 rokiem, ale większość ulepszeń to udoskonalenia, a nie wynalazki. Od 1980 roku jesteśmy zbyt zajęci stosowaniem tego, co pozwalają nam postępy, a nie wymyślaniem. Same w sobie większość tych przyrostowych wynalazków nie są ważne ani potężne, ale kiedy spojrzysz wstecz przez ostatnie 29 lat, są one dość potężne.

Prawdopodobnie musimy zastosować dodatkowe ulepszenia i sterować nimi. Wierzę, że prawdziwie oryginalne pomysły będą prawdopodobnie pochodzić od ludzi o niewielkim kontakcie z komputerami i coraz trudniej je znaleźć.


„oryginalne pomysły prawdopodobnie będą pochodzić od osób o niewielkim kontakcie z komputerami”, więc to prawda. i jeszcze bardziej smutne, ponieważ większość tego „odrętwiającego” narażenia dotyczy okien / biura.
Javier

1
Niektóre daty wcześniejszych wynalazków: GUI Engelbarta zostało zaprezentowane w 1968 r., A Xerox PARC Alto został opracowany w 1973 r. Wiele procesorów jest nowych na komputerze stacjonarnym, ale nie w maszynowni - klaster VAX po raz pierwszy udostępniono w 1978 r.
Hudson

Programowałeś zanim się urodziłem. Dang, mam przed sobą długą drogę.
Kezzer

Auć. Nie zacząłem, dopóki nie miałem 26 lat, teraz naprawdę czuję się stary. :)
bruceatk

Czy wziąłeś pod uwagę inflację dla tego układu pamięci o wartości 16 000 $?
Tim Tonnesen

22

Nic.

Myślę, że to dlatego, że ludzie zmienili swoje nastawienie. Ludzie wierzyli, że jeśli tylko znajdą ten „wielki pomysł”, to uznają go za bogaty. Dzisiaj ludzie wierzą, że to egzekucja, a nie odkrycie najbardziej się opłaca. Masz mantry, takie jak: „pomysły to dziesiątka” i „druga mysz dostaje ser”. Dlatego ludzie koncentrują się na wykorzystywaniu istniejących pomysłów, zamiast wymyślać nowe.


3
Tak wiele istniejących pomysłów jeszcze nie zostało wdrożonych.
Breton

3
Zawsze jest kilku wariatów, którzy wymyślą nowe pomysły, po prostu nic nie poradzą ;-)
Johan

Ale są wariatami, więc nie mogą sprzedawać swoich pomysłów, ponieważ nikt ich nie wysłucha.
Adam Jaskiewicz

Pomysły są bardziej prowincją artystów. To, co robimy, to praktyczne wdrożenie. Patrzenie na inżynierów na zupełnie nowe pomysły jest rodzajem łowienia w złym stawie. Aby uzyskać jasne nowe pomysły, przeczytaj Sf i dowiedz się, jak można to zrobić (myślę, że wiele można zrobić). Jednak realizacja szalonego pomysłu może potrwać lata. Artyści mogą uciec sprzedając pomysły i marzenia, ale od inżynierów oczekuje się, że wymyślą produkty ... i oni też muszą jeść.
Sylverdrag,

16

Rozwój społeczności Open Source.


2
W rzeczywistości grupa użytkowników SIG / M dyskuje coś, co nazywamy teraz open source. Zawierał setki dysków (odmiany dyskietek) pełnych oprogramowania CP / M, w większości otwartego (chociaż wtedy termin „open source” nie istniał).
Mike Thompson

2
W sensie otwartej współpracy i rozwoju między ludźmi, którzy mieli dostęp do komputera, przypomina to grupy użytkowników IBM w latach 60. Po prostu więcej ludzi stać teraz na komputery.
David Thornley,

2
Zgadzam się z Davidem, stało się to teraz bardziej widoczne, ponieważ komputery przeniosły się z obszarów edukacji i nauki do świata biznesu, co spowodowało powstanie oprogramowania „zamkniętego źródła”, myląc licencje. Zawsze tam było, po prostu nie potrzebowało imienia, dopóki prawnicy się nie zaangażowali.
saschabeaumont

1
Tak, muszę również zgodzić się z Davidem tutaj. Open Source jest znacznie wcześniejszy niż 1980. Przewyższa go o co najmniej 20 lat. Myślałem, że to były lata 50., a nie lata 60.
Brendan Enrick

16

IPad (Wydany dnia April 2010): na pewno taka koncepcja jest absolutnie rewolucyjny!

alt text http://www.ubergizmo.com/photos/2010/1/apple-ipad//apple-ipad-05.JPG

Alan Kay nie widział że pochodzi z lat siedemdziesiątych!
Wyobraź sobie takiego „osobistego, przenośnego manipulatora informacji” ...


...

Czekać? Co!? TheDynabook mówisz?

alternatywny tekst

Przemyślone przez Alana Kaya już w 1968 r. I szczegółowo opisane w tym artykule z 1972 r ?

NIEEEEE ooooo ....

No cóż ... nieważne.


Zobacz stackoverflow.com/questions/432922/... w celu uzyskania większego kontekstu zilustrowanego przez tę odpowiedź.
VonC

Cóż, z pewnością pomysł był już wcześniej (na przykład jabłkowy Newton); jednak technologia postępowała tak daleko, że można zbudować tanie (i świetne) urządzenie konsumenckie.
Nils
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.