Historia oprogramowania - History of software

Oprogramowanie to zestaw zaprogramowanych instrukcji przechowywanych w pamięci komputerów cyfrowych z zapisanym programem do wykonania przez procesor. Oprogramowanie jest najnowszym osiągnięciem w historii ludzkości i ma fundamentalne znaczenie dla ery informacji .

Ada Lovelace „programy s dla Charles Babbage ” s Analytical silnika w 19 wieku jest często uznawany za twórcę tej dyscypliny, choć wysiłki matematyk pozostał tylko teoretyczny, jako technologii Lovelace and Babbage'a dnia okazały się niewystarczające, aby zbudować swój komputer. Alan Turing jest uznawany za pierwszą osobę, która w 1935 roku stworzyła teorię oprogramowania, która doprowadziła do powstania dwóch akademickich dziedzin: informatyki i inżynierii oprogramowania .

Pierwsza generacja oprogramowania dla wczesnych komputerów cyfrowych z przechowywanymi programami pod koniec lat 40. miała instrukcje napisane bezpośrednio w kodzie binarnym , zwykle napisanym dla komputerów typu mainframe . Później rozwój nowoczesnych języków programowania wraz z rozwojem komputera domowego znacznie poszerzyłby zakres i szerokość dostępnego oprogramowania, zaczynając od języka asemblera i kontynuując poprzez programowanie funkcjonalne i paradygmaty programowania obiektowego.

Przed komputerami cyfrowymi z zapisanym programem

Początki informatyki

Computing jako koncepcja sięga czasów starożytnych, z urządzeniami, takimi jak liczydła , z mechanizmem Antikythera i Al-Jazari „s programowalnego zegara zamkowego. Jednak urządzenia te były czystym sprzętem i nie miały oprogramowania - ich moc obliczeniowa była bezpośrednio związana z ich specyficzną formą i inżynierią.

Oprogramowanie wymaga koncepcji procesora ogólnego przeznaczenia – co jest obecnie określane jako maszyna Turinga – a także pamięci komputera, w której można przechowywać, uruchamiać i zatrzymywać pojedynczo zestawy procedur i funkcji matematycznych wielokrotnego użytku składające się z programów i pojawia się dopiero od niedawna w historii ludzkości.

Pierwszy znany algorytm komputerowy został napisany przez Adę Lovelace w XIX wieku dla Silnika Analitycznego , aby przetłumaczyć pracę Luigiego Menabrei o liczbach Bernoulliego na potrzeby instrukcji maszynowych. Pozostało to jednak tylko teoretyczne - słabszy stan inżynierii za życia tych dwóch matematyków okazał się niewystarczający do skonstruowania Silnika Analitycznego.

Pierwsza współczesna teoria oprogramowania została zaproponowana przez Alana Turinga w jego eseju z 1935 r. Liczby obliczalne z zastosowaniem do Entscheidungsproblem (problem decyzyjny) .

Doprowadziło to ostatecznie do powstania bliźniaczych dziedzin akademickich: informatyki i inżynierii oprogramowania , które zajmują się zarówno badaniem oprogramowania, jak i jego tworzeniem. Informatyka jest bardziej teoretyczna (esej Turinga jest przykładem informatyki), podczas gdy inżynieria oprogramowania koncentruje się na bardziej praktycznych zagadnieniach.

Jednak przed 1946 r. oprogramowanie, jakie teraz rozumiemy – programy przechowywane w pamięci komputerów cyfrowych z zapisanym programem  – jeszcze nie istniało. Zamiast tego pierwsze elektroniczne urządzenia komputerowe zostały ponownie okablowane w celu ich „przeprogramowania”. ENIAC , jeden z pierwszych komputerów elektronicznych, został zaprogramowany w dużej mierze przez kobiety, które uprzednio pracujących w komputerach człowieka . Inżynierowie dawali programistom plany okablowania ENIAC i oczekiwali, że wymyślą, jak zaprogramować maszynę. Kobiety, które pracowały jako programistki, przygotowały ENIAC do jego pierwszej publicznej prezentacji, łącząc ze sobą panele krosowe na potrzeby demonstracji. Kathleen Booth opracowała język asemblera w 1950 roku, aby ułatwić programowanie komputerów, na których pracowała w Birkbeck College .

Grace Hopper i UNIVAC

Grace Hopper pracował jako jeden z pierwszych programistów z Harvard Mark I . Później stworzyła 500-stronicowy podręcznik do komputera. Hopper jest często fałszywie przypisywany temu, że ukuł terminy „błąd” i „ debugowanie ”, kiedy znalazła ćmę w Mark II, powodującą awarię; jednak termin ten był już w użyciu, kiedy znalazła ćmę. Hopper opracowała pierwszy kompilator i przeniósł swój pomysł z pracy na komputerach Mark do pracy w firmie UNIVAC w latach pięćdziesiątych. Hopper opracował również język programowania FLOW-MATIC do programowania UNIVAC. Frances E. Holberton , również pracująca w UNIVAC, opracowała kod C-10, który pozwalał programistom korzystać z klawiatury i stworzyła Generator Sort-Merge w 1951 roku. Adele Mildred Koss i Hopper stworzyli również prekursor generatora raportów .

Wczesne dni oprogramowania komputerowego (1948-1979)

W swoim rękopisie „A Mathematical Theory of Communication” Claude Shannon (1916–2001) przedstawił zarys, w jaki sposób logika binarna może zostać zaimplementowana do programowania komputera. Następnie pierwsi programiści komputerowi używali kodu binarnego do instruowania komputerów do wykonywania różnych zadań. Niemniej jednak proces ten był bardzo żmudny. Programiści komputerowi musieli dostarczyć długie ciągi kodu binarnego, aby poinformować komputer, jakie dane ma przechowywać. Kod i dane musiały być ładowane na komputery przy użyciu różnych żmudnych mechanizmów, w tym przełączników lub dziurkowania w określonych miejscach w kartach oraz ładowania tych dziurkowanych kart do komputera. W przypadku takich metod, w przypadku popełnienia błędu, cały program może wymagać ponownego załadowania od początku.

Po raz pierwszy komputer z przechowywanymi programami utrzymywał oprogramowanie w pamięci elektronicznej i wykonywał je pomyślnie, miał miejsce o godzinie 11 21 czerwca 1948 r. na Uniwersytecie w Manchesterze na komputerze Manchester Baby . Został napisany przez Toma Kilburna i obliczył najwyższy współczynnik liczby całkowitej 2^18 = 262,144. Zaczynając od dużego dzielnika próbnego, wykonywał dzielenie 262144 przez wielokrotne odejmowanie, a następnie sprawdzał, czy reszta wynosi zero. Jeśli nie, zmniejszał dzielnik próbny o jeden i powtarzał proces. Google wydał hołd dla Manchester Baby, świętując je jako „narodziny oprogramowania”.

FORTRAN został opracowany przez zespół kierowany przez Johna Backusa w IBM w latach 50. XX wieku. Pierwszy kompilator został wydany w 1957 roku. Język okazał się tak popularny w obliczeniach naukowych i technicznych, że do 1963 roku wszyscy najwięksi producenci wdrożyli lub ogłosili FORTRAN dla swoich komputerów.

COBOL powstał, gdy Mary K. Hawes zwołała spotkanie (w którym uczestniczyła Grace Hopper ) w 1959 roku, aby omówić sposób stworzenia języka komputerowego, który miałby być dzielony między firmami. Innowacja Hoppera z COBOL polegała na opracowaniu nowego symbolicznego sposobu pisania programowania. Jej programowanie było samodokumentujące. Betty Holberton pomogła w redagowaniu języka, który został zgłoszony do Government Printing Office w 1960 roku. FORMAC został opracowany przez Jeana E. Sammeta w 1960 roku. Jej książka Języki programowania: historia i podstawy (1969) stała się ważnym tekstem.

Misja Apollo

Margaret Hamilton obok stosu kodu, który ona i jej zespół napisali dla komputerów Apollo Mission.

Misji Apollo na Księżyc zależało od oprogramowania do programowania komputerów w modułach lądowania. Komputery zostały zaprogramowane w języku o nazwie „Basic” (brak związku z językiem programowania BASIC opracowanym w Dartmouth mniej więcej w tym samym czasie). Oprogramowanie posiadało również interpreter, który składał się z szeregu procedur i wykonawczego (jak współczesny system operacyjny ), który określał, które programy uruchamiać i kiedy. Oba zostały zaprojektowane przez Hala Laninga . Margaret Hamilton , która wcześniej zajmowała się problemami z niezawodnością oprogramowania podczas pracy nad amerykańskim systemem obrony powietrznej SAGE, była również częścią zespołu programistycznego Apollo. Hamilton był odpowiedzialny za oprogramowanie pokładowe dla komputerów Apollo. Hamilton uważał, że operacje na oprogramowaniu nie są tylko częścią maszyny, ale są również misternie związane z ludźmi, którzy obsługiwali oprogramowanie. Hamilton ukuła również termin „ inżynieria oprogramowania ”, gdy pracowała w NASA.

Właściwe „oprogramowanie” komputerów w misjach Apollo składało się z przewodów, które przewleczono przez rdzenie magnetyczne. Tam, gdzie drut przechodził przez rdzeń magnetyczny, które reprezentowało „1”, a gdzie drut przechodził wokół rdzenia, to reprezentowało „0”. Każdy rdzeń przechowywał 64 bity informacji. Hamilton i inni stworzyli oprogramowanie, wybijając dziurki w kartach dziurkowanych, które następnie były przetwarzane na komputerze mainframe Honeywell, gdzie oprogramowanie mogło być symulowane. Kiedy kod był „solidny”, wysyłano go do wplecenia w rdzenie magnetyczne w Raytheon , gdzie nad drutami pracowały kobiety znane jako „Małe Staruszki”. Sam program był „niezniszczalny” i mógł wytrzymać nawet uderzenia piorunów, które przytrafiły się Apollo 12 . Okablowanie komputerów zajęło kilka tygodni, co spowodowało zatrzymanie rozwoju oprogramowania w tym czasie.

Korzystając z symulatorów do testowania oprogramowania, Hamilton odkrył sposoby, w jakie kod może powodować niebezpieczne błędy, gdy podczas jego używania popełniane są ludzkie błędy. NASA wierzyła, że ​​astronauci nie popełnią błędów podczas szkolenia. Hamilton nie mogła programować kodu, aby zapobiec błędom, które mogłyby doprowadzić do awarii systemu, więc dodała adnotacje do kodu w dokumentacji programu. Jej pomysły na dodanie kodu sprawdzającego błędy zostały odrzucone jako „nadmierne”. Jednak dokładnie to, co przewidział Hamilton, miało miejsce podczas lotu Apollo 8 , kiedy błąd człowieka spowodował, że komputer wymazał wszystkie dane nawigacyjne.

Łączenie oprogramowania ze sprzętem i jego kwestie prawne

Później oprogramowanie było sprzedawane wielu klientom w pakiecie ze sprzętem od producentów oryginalnego sprzętu (OEM), takich jak Data General , Digital Equipment i IBM. Gdy klient kupił minikomputer , wówczas najmniejszy komputer na rynku, komputer nie był dostarczany z preinstalowanym oprogramowaniem , ale musiał zostać zainstalowany przez inżynierów zatrudnionych przez producenta OEM.

Ta sprzedaż wiązana zwróciła uwagę amerykańskich organów antymonopolowych, które w 1969 r. pozwały IBM za niewłaściwe „wiązanie” twierdząc, że było to naruszenie prawa antymonopolowego, ponieważ klienci, którzy chcieli uzyskać jego oprogramowanie, musieli również kupić lub wydzierżawić jego sprzęt, aby to zrobić. Jednak sprawa została umorzona przez Departament Sprawiedliwości Stanów Zjednoczonych, po wielu latach wyczerpania, ponieważ uznał, że była „bezzasadna”.

Data General napotkała również problemy prawne związane z sprzedażą wiązaną – choć w tym przypadku było to spowodowane pozwem cywilnym ze strony potencjalnego konkurenta. Gdy dane ogólne wprowadziła dane ogólne Nova , firma o nazwie Digidyne chciał wykorzystać swoją RDOŚ system operacyjny na swoim klonie sprzętowej . Data General odmówiła licencji na swoje oprogramowanie i zażądała „praw do sprzedaży wiązanej”. Amerykański Sąd Najwyższy precedensem nazwie Digidyne v. Dane ogólne w 1985 roku, pozwalając decyzję sądu apelacyjnego obwodu 9-ty na obudowie podstawki, a dane ogólne w końcu został zmuszony do licencji na system operacyjny, ponieważ zostało wykluczone, że ograniczenie licencji tylko DG sprzęt był nielegalną umową wiązaną . Mimo że Sąd Okręgowy zauważył, że „żaden rozsądny sędzia nie mógł stwierdzić, że na tym dużym i dynamicznym rynku ze znacznie większymi konkurentami”, Data General „miało władzę rynkową, aby ograniczyć handel poprzez nielegalną umowę powiązaną”, wiązanie działalności operacyjnej system do sprzętu został uznany za niezgodny z prawem w postępowaniu odwoławczym.

W 2008 roku firma Psystar Corporation została pozwana przez firmę Apple Inc. za dystrybucję nieautoryzowanych klonów komputerów Macintosh z preinstalowanym systemem OS X i została pozwana przeciwnie . Jednym z argumentów w pozwie – powołując się na sprawę Data General – było to, że Apple dominuje na rynku komputerów kompatybilnych z OS X, nielegalnie wiążąc system operacyjny z komputerami Apple. Sędzia Sądu Okręgowego William Alsup odrzucił ten argument, twierdząc, że, jak orzekł Sąd Okręgowy w sprawie Data General ponad 20 lat wcześniej, właściwym rynkiem nie jest po prostu jeden system operacyjny (Mac OS), ale wszystkie systemy operacyjne PC, w tym Mac OS. i zauważając, że Mac OS nie miał pozycji dominującej na tym szerszym rynku. Wyrok Alsup jest również zauważyć, że zaskakujące dane ogólne precedens, że sprzedaż wiązana produktów chronionych prawem autorskim zawsze była nielegalna miał od tej pory „w sposób dorozumiany uchylona” wyrokiem w Illinois Tool Works Inc. v. Niezależny Ink, Inc. sprawy.

Pakiety oprogramowania (koniec 1960-obecnie)

Pod koniec lat sześćdziesiątych zaczęła się rozwijać branża produkująca oprogramowanie w niezależnych pakietach – oprogramowanie, które nie było ani produkowane jednorazowo dla indywidualnego klienta, ani „dołączane” do sprzętu komputerowego.

Unix (1970-obecnie)

Unix był wczesnym systemem operacyjnym, który stał się popularny i bardzo wpływowy, i istnieje do dziś. Najpopularniejszym obecnie wariantem Uniksa jest macOS (wcześniej nazywany OS X i Mac OS X), podczas gdy Linux jest blisko spokrewniony z Uniksem.

Powstanie mikrokomputerów

W styczniu 1975 roku firma Micro Instrumentation and Telemetry Systems rozpoczęła sprzedaż wysyłkową zestawu mikrokomputerowego Altair 8800 . Microsoft wypuścił swój pierwszy produkt Altair BASIC jeszcze w tym samym roku, a hobbyści zaczęli opracowywać programy do uruchamiania na tych zestawach. Tiny BASIC został opublikowany jako program do wpisywania w czasopiśmie Dr. Dobb's Journal i opracowany wspólnie.

W 1976 roku Peter R. Jennings na przykład stworzył swój Microchess program MOS Technologii „s KIM-1 zestawie, ale ponieważ nie pochodzą z napędu taśmowego, chciał wysłać kod źródłowy w małej książeczce do swoich klientów wysyłkowej i musieliby wpisać cały program ręcznie. W 1978 roku Kathe i Dan Spracklen opublikowali źródło swojego programu Sargon (szachy) w czasopiśmie komputerowym. Jennings później przerzucił się na sprzedaż taśmy papierowej, a ostatecznie na kompaktowe kasety z programem.

To był niewygodny i powolny proces wpisywania kodu źródłowego z magazynu komputerowego, a pojedynczy błędnie wpisany – lub, co gorsza, błędnie wydrukowany – znak mógł uniemożliwić działanie programu , ale ludzie nadal to robili. ( Technologia optycznego rozpoznawania znaków , która teoretycznie mogłaby być wykorzystywana do skanowania w wykazach, a nie do ręcznego ich przepisywania, nie była jeszcze powszechnie stosowana.)

Nawet po rozpowszechnieniu kaset i kaset magnetofonowych w latach 80. do dystrybucji komercyjnego oprogramowania, darmowe programy (takie jak proste programy edukacyjne do nauki technik programowania) były nadal często drukowane, ponieważ było to tańsze niż robienie i dołączanie kaset magnetofonowych do czasopisma.

Jednak ostatecznie połączenie czterech czynników doprowadziło do zaprzestania praktyki drukowania kompletnych list kodu źródłowego całych programów w czasopismach komputerowych:

  • programy zaczęły się rozrastać
  • dyskietki zaczęły być wykorzystywane do dystrybucji oprogramowania, a następnie spadły w cenie
  • zwykli ludzie zaczęli używać komputerów – i chcieli prostego sposobu na uruchomienie programu
  • w czasopismach komputerowych zaczęły pojawiać się kasety magnetofonowe lub dyskietki z bezpłatnymi lub próbnymi wersjami oprogramowania

Bardzo szybko oprogramowanie komercyjne zaczęło być pirackie , a producenci oprogramowania komercyjnego byli z tego bardzo niezadowoleni. Bill Gates , współzałożyciel Microsoft , był wczesnym moralizatorem przeciwko piractwu komputerowemu w swoim słynnym liście otwartym do hobbystów w 1976 roku.

1980-obecnie

Przed pojawieniem się mikrokomputera udany program zwykle sprzedawał do 1000 jednostek po 50 000–60 000 USD za sztukę. W połowie lat 80. oprogramowanie komputerów osobistych sprzedało się w tysiącach egzemplarzy po 50–700 dolarów za sztukę. Firmy takie jak Microsoft, MicroPro i Lotus Development miały dziesiątki milionów dolarów rocznej sprzedaży. W podobny sposób zdominowali rynek europejski z lokalnymi wersjami już udanych produktów.

Przełomowym momentem w historii komputerów była publikacja w latach 80. specyfikacji komputera osobistego IBM opublikowana przez pracownika IBM Philipa Dona Estridge'a , która szybko doprowadziła do dominacji komputerów PC na światowym rynku komputerów stacjonarnych, a później laptopów – dominacji, która trwa nadal. do dzisiaj. Microsoft, dzięki udanym negocjacjom z IBM w celu opracowania pierwszego systemu operacyjnego dla PC ( MS-DOS ), odniósł ogromne korzyści z sukcesu PC w kolejnych dekadach, dzięki sukcesowi MS-DOS i jego dodatkowego następcy, Microsoft Windows . Wygranie negocjacji było kluczowym momentem w historii Microsoftu.

Darmowe i otwarte oprogramowanie

Ostatnie zmiany

Sklepy z aplikacjami

Aplikacje na urządzenia mobilne (telefony komórkowe i tablety) są w ostatnich latach określane mianem „aplikacji”. Apple zdecydowało się kierować sprzedażą aplikacji na iPhone'a i iPada za pośrednictwem App Store , a tym samym obu aplikacji weterynaryjnych, i uzyskać część każdej sprzedanej płatnej aplikacji. Apple nie zezwala na aplikacje, które mogłyby zostać użyte do obejścia ich sklepu z aplikacjami (np. maszyny wirtualne, takie jak maszyny wirtualne Java lub Flash).

Z kolei platforma Android ma wiele sklepów z aplikacjami, a użytkownicy mogą ogólnie wybrać, z których korzystać (chociaż Google Play wymaga zgodnego lub zrootowanego urządzenia).

Ten ruch został zreplikowany dla systemów operacyjnych dla komputerów stacjonarnych z oprogramowaniem GNOME (dla Linux), Mac App Store (dla macOS) i Windows Store (dla Windows). Wszystkie te platformy pozostają, jak zawsze, niewyłączne: umożliwiają instalowanie aplikacji spoza sklepu z aplikacjami, a nawet z innych sklepów z aplikacjami.

Gwałtowny wzrost popularności aplikacji, w szczególności dla iPhone'a, ale także dla Androida, doprowadził do swoistej „ gorączki złota ”, w której niektórzy pełni nadziei programiści poświęcili znaczną ilość czasu na tworzenie aplikacji w nadziei na wzbogacenie ich. Jak w prawdziwej gorączce złota, nie wszyscy z tych pełnych nadziei przedsiębiorców odnieśli sukces.

Formalizacja tworzenia oprogramowania

Rozwój programów nauczania w informatyce zaowocował poprawą rozwoju oprogramowania. Elementy tych programów nauczania obejmują:

  1. Programowanie strukturalne i obiektowe
  2. Struktury danych
  3. Analiza algorytmów
  4. Języki formalne i budowa kompilatora
  5. Algorytmy grafiki komputerowej
  6. Sortowanie i wyszukiwanie
  7. Metody numeryczne , optymalizacja i statystyka
  8. Sztuczna inteligencja i uczenie maszynowe

Jak oprogramowanie wpłynęło na sprzęt

W miarę jak coraz więcej programów wkracza w sferę oprogramowania sprzętowego, a sam sprzęt staje się mniejszy, tańszy i szybszy, jak przewiduje prawo Moore'a , coraz więcej rodzajów funkcji obliczeniowych najpierw realizowanych przez oprogramowanie, dołącza do szeregów sprzętu, ponieważ na przykład z procesorami graficznymi . (Jednak zmiana czasami poszła w drugą stronę z powodu kosztów lub innych powodów, jak na przykład w przypadku softmodemów i mikrokodu .)

Większość firm zajmujących się sprzętem ma obecnie na liście płac więcej programistów niż projektantów sprzętu, ponieważ narzędzia programowe zautomatyzowały wiele zadań inżynierów obwodów drukowanych (PCB).

Oprogramowanie komputerowe i oś czasu języka programowania

Poniższe tabele zawierają rok po roku rozwój wielu różnych aspektów oprogramowania komputerowego, w tym:

  1. Języki wysokiego poziomu
  2. System operacyjny
  3. Oprogramowanie i aplikacje sieciowe
  4. Sprzęt, algorytmy i aplikacje do grafiki komputerowej
  5. Arkusze kalkulacyjne
  6. Przetwarzanie tekstu
  7. Projektowanie wspomagane komputerowo

1971-1974

1971 1972 1973 1974

Języki programowania
CDL
KRL
SUE
C
INTERCAL
PL/M
Prolog
Smalltalk
SQL
COMAL
LIS
ML
Speakeasy-3
CZTERY PODSTAWOWE
CLU
GRASS
PROSE

Systemy operacyjne
DEC RSTS-11 Dane ogólne
RDOS
Radziecki ALGOL 68 Grudzień DOS-11

Sieci komputerowe

Niebieskie pudełko Woźniaka
Bob Metcalfe opracowuje
Ethernet

Grafika komputerowa

Algorytm widocznej powierzchni Newell & Sancha
Catmull i Straber
opracowują bufor Z
CAD/CAM MCS założony ADAM Automatyczny szkic Tektronix 4014

1975-1978

1975 1976 1977 1978

Języki programowania
Schemat modułu ABC
Altair BASIC
CS-4

Mesa
Plus
Rat for
S
SAM76
SAS
Smalltalk -76
Blue
Bourne Shell
Commodore BASIC
FP
Icon
IDL
Czerwona
Standard Świnka
Żółta
IDL
Powłoka C
HAL/S
MATLAB
RPG III
MAŁA
VisiCalc
SQL

Systemy operacyjne
CP/M Cambridge CAP 1BSD 2BSD
Apple DOS

Sieci komputerowe

Przełączanie pakietów Telenet

Grafika komputerowa
EDS założony Wygładzanie krawędzi
Edytory
tekstu
Elektryczny ołówek AppleWriter
CAD/CAM Modelowanie bryłowe McDonnell Douglas
kupuje Unigraphics
Zwiastun CATIA Wyświetlanie grafiki rastrowej

1979-1982

1979 1980 1981 1982

Języki programowania
AWK
Icon
Modula-2
REXX
Vulcan dBase -II
Ada 80
C z klasami
CBASIC
BBC BASIC
IBM BASICA
Draco
PostScript
Speakeasy -IV

Systemy operacyjne
Atari DOS 86-DOS MS-DOS 1
Żołądź MOS
Commodore DOS

Sieci komputerowe
Usenet TCP/IP

Grafika komputerowa
Silicon Graphics
założony
Edytory
tekstu
Wordstar WordPerfect
dla DG Mini
Bank Street
AppleWriter II

WordStar 3.0
WordPerfect dla systemu DOS

Arkusz VisiCalc Lotos 1-2-3
CAD/CAM IGES VersaCAD Systemy Dassault Autodesk powstała

1983-1986

1983 1984 1985 1986

Języki programowania
ABAP
Ada 83
C++
GW-BASIC
Korn Shell
Objective-C
occam
True BASIC
Turbo Pascal
CLIPPER
Common Lisp
Dobry Stary MAD (GOM)
OPL
Redcode
RPL
Standard ML
Matlab
Paradoks
QuickBASIC
CorVision
Eiffel
GFA BASIC
Informix-4GL
LabVIEW
Miranda
Object Pascal
PROMAL

Systemy operacyjne
MS-DOS 2
Lisa Office
SunOS 1
Oprogramowanie systemowe MS-DOS 3
Windows 1.0
Atari TOS
AmigaOS
AIX 1

Sieci komputerowe
ARPANET dzieli
się MILNET
Novell NetWare
Research In Motion założony
NSFNET łączy
5 superkomputerów

Grafika komputerowa
ATI założony
Koprocesor Intel 82786
Edytory
tekstu
Słowo 1 dla DOS Słowo 1 dla komputerów Mac WordPerfect 4.2
dla DOS
Arkusz Excel dla komputerów Mac
CAD/CAM Autodesk wydaje
AutoCAD 1.2,1.3,1.4
AutoCAD 2 Technologia parametryczna firmy Bentley Systems
AutoLISP

1987-1990

1987 1988 1989 1990

Języki programowania
Ada ISO 8652
Clean
Erlang
HyperTalk
Mathematica
Oberon
occam 2
Perl
Self
Turbo Basic
A+
Hamilton C shell
Object REXX
Octave
RPG/400
SPARK
STOS BASIC
Tcl
Matematyka
Bash
LPC
Modula-3
PowerBASIC
Turbo Pascal OOP
VisSim
FL
AMOS BASIC
AMPL
EuLisp
Haskell
J
Object Oberon
Z Shell

Systemy operacyjne
Windows 2.0 MS-DOS 4
Windows 2.1x
OS/2
A/UX
EPCO Windows 3.0

Sieci komputerowe
Robak Morrisa World Wide Web
rozpoczyna
HTML

Grafika komputerowa
JPEG i GIF Blaszana zabawka Pixara
zdobywa Oscara
AutoDesk 3D Studio
Edytory
tekstu
Microsoft działa dla DOS Recenzje magazynu PC
55 opakowań
WordPerfect 5.1
Word dla Windows
Microsoft Office dla Windows
Arkusz Excel dla Windows Quattro Pro
CAD/CAM Deneba wypuszcza
Canvas X
AutoCAD 9
CATIA 3
AutoCAD 10
Parametryczny T-Flex Firma Visionary Design Systems założyła
AutoCAD 11
ACIS 1

1991-1994

1991 1992 1993 1994

Języki programowania
GNU E
Oberon-2
Oz
Q
Visual Basic
Python
Turbo Pascal
Dylan
Ruby
AppleScript
Brainfuck
K
Lua
NewtonScript
R
Transcript
Self
ZPL
CLOS
ANS Forth
ANSI Common Lisp
Claire
Pike
RAPID

Systemy operacyjne
MS-DOS 5
Linux
Windows 3.1x
386BSD
MS-DOS 6
Newton OS
Solaris
AIX 4.0, 4.1

Sieci komputerowe
Mozaika przeglądarka internetowa NetWare 4 Netscape Navigator

Grafika komputerowa
OpenGL Nvidia założony
Edytory
tekstu
Prace Microsoft Novell kupuje WordPerfect
CAD/CAM EDS kupuje
Unigraphics
CADAM i CATIA
rozpoczynają zjednoczenie
AutoCAD 12 Prosty
format wektorowy

1995-1998

1995 1996 1997 1998

Języki programowania
Ada 95
ColdFusion
Delphi
Java
JavaScript
LiveScript
PHP
Ruby
Curl
Lasso
NetRexx
OCaml
Perl Data Language
WebDNA
Component Pascal
E
ECMAScript
F-Script
ISLISP
Pico
REBOL Pisk
Smalltalk
Tea
Rebol
M2001
Open Source Erlang
Pikt
PureBasic
REALbasic
Standard C++
UnrealScript

Systemy operacyjne
Windows 95
cyfrowy UNIX
Windows NT 4.0
Palm OS
Inferno
Mac OS 7.6
Mac OS 8
Windows 98
Solaris 7 64-bitowy

Sieci komputerowe
Propozycja badawcza

dla Google została utworzona.

Mozaika przeglądarka internetowa
Inter@active Pager
NetWare 4 Netscape Navigator

Grafika komputerowa
Pixar upublicznia się
po Toy Story
3Dfx Voodoo ATI Rage Pro Banshee voodoo
Edytory
tekstu
Słowo 95 dla Windows Corel kupuje program WordPerfect
od firmy Novell
CAD/CAM Zaawansowane
modelowanie bryłowe MicroStation
Płótno 5 ISO 13567
AutoCAD 14
Dassault Systems kupuje produkty
Matra Datavision

1999-2002

1999 2000 2001 2002

Języki programowania
D
GameMaker Language
Harbor
XSLT
ActionScript
C#
Ferite
Dołącz do Java
Joy
XL
Visual Basic .NET
AspectJ Przetwarzanie
GDScript RPG IV

Gosu
Io

Systemy operacyjne
Mac OS X Server 1.0
Mac OS 9
Windows 2000
Windows ME
Mac OS X Public Beta
v10.0 Cheetah
v10.1 Puma
Windows XP
Windows XP 64-bit Edition
10.2 Jaguar

Sieci komputerowe
BlackBerry 850 NetWare 4 Netscape Navigator

Grafika komputerowa
S3 Savage 4
GeForce 256
Radeon DDR ( R100 ) Nvidia Kyro II
GeForce 3
Edytory
tekstu
Sun kupuje Star Division
CAD/CAM Pro/Inżynier 2000 AutoCAD 2000 EDS kupuje SDRC Unigraphics NX
Autodesk kupuje Revit

2003-2006

2003 2004 2005 2006

Języki programowania
Czynnik
Nemerle
Scala
Wiewiórka
Alma-0
Boo
FreeBASIC
Groovy
Little b
Podtekst
Ada 2005
F#
Seed7
Cobra
łączy
OptimJ
Windows PowerShell

Systemy operacyjne
v10.3 Panther
Red Hat
Enterprise Linux
Windows Server 2003
v10.4 Tiger
Ubuntu 5
Windows XP Professional x64 Edition

Sieci komputerowe
Apple Safari 802.11g
Gmail
Facebook założył
Mozillę Firefox
BlackBerry perła 8100

2007-2010

2007 2008 2009 2010

Języki programowania
Clojure
Fantom
Fortress
LOLCODE
Oberon-07
Vala
Czysty dżin
CoffeeScript
Go
Idris
Parasail
Kaplica
RPG Otwarty dostęp
Rust

Systemy operacyjne
Windows Vista
v10.5 Leopard
Android Windows 7
v10.6 Snow Leopard
Android 1.5 „Cupcake”
Android 1.6 „Donut”
Android 2.0–2.1 „Eclair”
Android 2.2 "Froyo"
Android 2.3 "Piernik"

Sieci komputerowe
Google Chrome
Chrom
Wi-Fi 802.11n

Grafika komputerowa
Assassin's Creed Up Cloth
Simulation
Awatar wygrywa
„Najlepszy obraz”
Edytory
tekstu
Oracle kupuje
OpenOffice od Sun
Oracle wprowadza OpenOffice
do Apache Software Foundation
CAD/CAM Siemens kupuje UGS

2011-2014

2011 2012 2013 2014

Języki programowania
Strzałka Ada 2012
Eliksir
Julia
TypeScript

CryEngine#CryEngine 3 ( BeamNG.drive )

Xojo Zhakuj
Swift

Systemy operacyjne
v10.7 Lew
Android 3.x „plaster miodu”
Android 4.0 „Kanapka z lodami”
Windows 8
v10.8 Mountain Lion
Android 4.1.x–4.2.x „Jelly Bean”
v10.9 Mavericks
Windows 8.1
Android 4.3 „Jelly Bean”
Android 4.4 „KitKat”
v10.10 Yosemite
Android 5.0 „Lizak”

Sieci komputerowe
802.11ac

Grafika komputerowa
Hugo zdobywa Oscara za
efekty wizualne
CryEngine3 i jego fizyka ciał miękkich 3D

Zobacz też

Bibliografia

Źródła

Zewnętrzne linki