capr / blag

:suspect: Blog/wiki of a grumpy old programmer
4 stars 0 forks source link

A brief history of computers #13

Open capr opened 3 years ago

capr commented 3 years ago

1945: ENIAC (UPenn) 1948: A Mathematical Theory of Communication (Shannon, MIT) 1948: Transistors (Bell Labs) 1949: EDVAC 1956: Keyboards (MIT) 1957: FORTRAN (Backus & team, IBM) 1958: LISP (McCarthy, MIT) 1958: ALGOL 58 (ACM/GAMM) 1958: Coroutines (Conway, USAF) 1959: MOSFET (Bell Labs) 1959: de Casteljau's algorithm 1959: Quicksort 1960: COBOL (DoD) 1960: DEC PDP-1 1963: ASCII 1963: The mouse (Engelbart, Stanford; he called it a "bug") 1963: Sketchpad (Sutherland, MIT) 1964: IBM System/360 1965: Relational Model (Codd, IBM) 1965: FFT (Cooley & Tukey, IBM) 1965: Simula I 1967: Regular Expressions (Ken Thompson) 1968: The Mother of All Demos (Engelbart, Stanford) 1968: Self-aligned gate (Faggin, Fairchild) 1969: UNIX (Richie, Thompson & team, Bell Labs) 1970: Pascal (Wirth) 1970: Forth (Moore) 1971: Intel 4004 1971: Laser Printer (Xerox PARC) 1971: Smalltalk (Alan Kay, Xerox PARC) 1972: C (Richie, Bell Labs) 1973: GUIs (Alan Kay & team, Xerox Alto) 1974: WYSIWYG (Xerox Alto) 1974 Packet switching (CYCLADES) 1974: CP/M (Kildall) 1976: Z80 (Faggin) 1976: Diffie–Hellman key exchange 1977: RSA 1978: TCP/IP v3 1976: Apple I (Wozniak) 1977: Apple II (Wozniak) 1978: DEC VAX 1979: Motorola 68k 1979: Ray Tracing (Whitted, Bell Labs) 1981: IBM PC (Lowe) 1982: Intel 286 1983: Apple Lisa 1985: IEEE 754 1985: AmigaOS (Sassenrath) 1987: Back-propagation (LeCun, UoT) 1987: GCC (Stallman, MIT) 1988: Unicode 1991: Linux 1993: Intel P5 1993: Mosaic (Andreessen, NCSA) 1995: AMD 586 1995: Windows 95 1995: MySQL 1996: Java (Gosling, Sun) 1995: Delphi 1 (Hejlsberg & Jazdzewsk, Borland) 1997: REBOL (Sassenrath) 2000: Python 2 2001: Windows XP 2001: AES 2002: Kademlia 2002: .NET 1 & C# 1 (Hejlsberg & team, Microsoft) 2006: Lua 5.1 (Ierusalimschy, PUC Rio) 2008: Bitcoin

(after 2000 I'm not sure of what exactly deserves to be on this list...)

Notes

LISP invents in 1958 lexical-scoping closures, garbage collection, multiple dispatch, mixins and metaobjects.

Douglas Englebart demonstrates in 1968 windows, hypertext, graphics, video conferencing, the mouse, a word processor, dynamic file linking, revision control, and a collaborative real-time editor.

Frenchmen de Casteljau and Bézier were all about making cars more curvy (not being able to compete on reliability I suppose). Now their math is at the core of 2D vector graphics and scalable fonts.

Sketchpad is the first CAD program, way ahead of its time (1963), and, if you look at the demo, a bit ahead of our times as well.

Intel Pentium is the first affordable superscalar CPU.

Best ideas?

If I were to choose what I consider to be the most revolutionary ideas with far reaching consequences (and also, ideas that were not obviously inevitable but the result of a visionary mind), I would probably put William Lowe's open architecture idea on top, especially since he managed to do it at IBM of all places. I shudder to think of a world without PCs, with only apple-like machines with limited and expensive upgrades and peripherals, walled gardens and hot-glued components.

Another revolutionary idea I think is the protected mode first to appear in Intel 286 and 386 chips, a technology that is still not yet fully exploited in software today, by which I mean that operating systems as of 2020 are still not leveraging this properly and fully to sandbox native apps. At any rate, the simple fact of not having to restart your computer every time a program crashed had a huge impact and I suspect was a major factor in the popularity of Windows 95, and it's all due to protected mode.