home Biological until 1854 Formalization 1854-1937 Revolutions 1937-1951 Electronic Age
Location: http://members.tripod.de/s_ulf/csh/commcomp.html & http://www.cs.mun.ca/~ulf/csh/commcomp.html. By Ulf Schünemann since 251198. Please mail any comments.

Comprehensive History of Information and Computing: Electronic Age 1951-present


when??? [<>]: C I Lewis' calculus of strict implication avoids paradoxes of material impliciation but not those of strict implication [x].

1951-65: Age of Commercial Computers for Experts

The dominant, i.e. IBM's, buisness model was to lease computer hardware and bundle it with software. Soon the first operating systems and high-level programming languages (HLPL) reduced the need to know every aspect of its hardware, so that not only engineers would program and operate computers.

«With many early computers ... punch cards were used as input and output, and inasmuch as the total number of characters representable did not exceed 64, why not use just 6 bits each to represent them? The same applied to punched tape for teletypes.»

The limited choice of characters on keyboards, and on punched cards (80, 90, 96 columns) motivates to use "*" for multiplication and "/" for division in texts, whereas calculators have "×" and "÷" keys [HN].
Hardware
Operating Systems (OS) Applications           Programming Languages
(PL) and Compilation
Computer, 1951-59: Vacuum Tubes Computers (1st gen.) -- tubes for processing and storage; needed clean rooms, air conditioning, difficult to maintain; the era of the the UNIVAC I and the IBM 701.
  • Calculator, 1952: Friden's SRW, a motor driven mechanical calculator capable of square roots. [mech. hand held/el. with CRT]
  • 1952: New antitrust case about punch cards against IBM. IBM agrees to lower share in puch card market below 50% + IBM forced to sell systems instead of only leasing them.
    But 1959 market share: 95%.
  • 1953: IBM 701, IBM's first electronic computer: 17,000 instructions/sec. 19 shipped for lease about 13,000$ per month.
  • In the 1950s, 60% of IBM's research and development budget from US government contracts, with $400 million coming from the US armed forces.
  • Several UNIVACs used for the 1950 census.
  • [when?]: Assemblers convert computers into virtual assembly machines understanding assembly language.
  • 1952: UNIVAC correctly predicts landslide victory for Eisenhower in US presidential elections, but it is not believed.
  • 1952: Shannon's [<] (Bell) learning mouse in a maze (with relay brain).
  • [when?] Burk's Intermediate Programming Language attempts to express machine language at a higher level of abstraction.

    PL, 195x-54: Assembly Languages (2nd gen. PL) [machine language/HLPL] are machine languages for virtual assembly machines.
    Names of some old assembly languages: Speedcoding.

  • 1952: C Böhm shows sequential compilation of fully parenthesized code [CC].
  • 1952: W L van der Peol proposes the subroutine return stack [CC].
  • 1952: Hopper's [<>] general concept of language translation.
  • 1953: the Laning and Zierler System on the MIT Whirlwind, the first compiled PL.

  • 1953/54[<>]: Mason's and Mittelstaedt's cybernetical models/digrams [SUB]
  • Syntax, '50s[<>]: Pike, R E Longacre, et.al.'s Tagmemics model of functional syntax. «The central concept is the tagmeme, defined by the relation between a syntactic 'slot' or function, such as subject or object, and a class of units, such as noun phrase or pronoun, that can 'fill' it» [x].
    1954: High-level PLs and operating systems bring with them three new kinds of non-numeric programs:
    • program-translating programs: compiler programs take a program as input to generate a machine program;
    • programmable programs (virtual machines): interpreter programs for a HLPL running on a computer can be used like a computer with this HLPL as machine language. Interpreters are programs which, analogously to computers, can be programmed with programs and execute them.
    • programmable program-execution-controlling programs: Batch operating systems are virtual machines (interpreter programs) programmable in a command/job-control language that control which machine programs the real machine is executing.
    Open Source, 1955
    : SHARE club of IBM users. Its goal was to avoid writing programs already developed by someone else [>]
    Hardware Operating Systems (OS) and Networks Applications           Programming Languages
    (PL) and Compilation

        1954[55?]-65: Age of Batch OS ("2nd" gen.)

        They reduce idle-time of the computer by not waiting during on-line programming. Programs come on batches of punched cards or on tape, are read in, and processed, the output goes to tape or is printed.
  • 1954: IBM 650, a decimal, drum memory machine. 1000 leased to universities etc.
  • 1955: IBM 704, first commercial computer with indexing and floating point arithmetics with magnetic core storage.
  • 1956: IBM's RAMAC 305, first magnetic hard disk for data storage.
    Encod., 1957: US Army's FIELDATA 7-bit, 128 character code with alphabetically sorted upper/lower-case and control codes TAB, BS, EOF, ESC, etc. Used up to 1969. [<>].
    Older? codes with alphabetical order: 2-table 5-bit, 4-table 5-bit with upper+lower case, 6-bit+parity codes.
  • 1957: IBM 608, first commercial all-transistor calculator.
  • 1957: Olsen + Anderson formed DEC (supported by $70,000)
  • 1958: Wilkes's [<>] EDSAC 2 operational, first computer with microprogrammed control unit.
  • Notat. + Encod. the 50's: E-13B digit font designed for automatic banking [>]
  • 1954: several (simple) compilers are presented at the US Naval Research's Symposium on Automatic Programming [CC].
  • 1954: Adams, Laning, Zierler's first algebraic compiler (for the Whirlwind) [CC].
    Model.+Notat(???), 1955[<>]: Moore's (Bell) finite state automata
  • 1956: Samuel's (IBM) checkers-playing learning computer.
  • Terminology 1956[<>]: John McCarthy[>] (in a project proposal) coins the term "Artificial Intelligence"
  • 1957: The original Fortran compiler has 25,000 lines of machine code
  • 1956/58: SAGE controls US Air Force warning system.
  • 1958: Work on compiler for Lisp abandoned for simpler interpreter, as implementation of Lisp's universal apply/eval function on Lisp programs represented as lists with quoted expressions. Nested expression represented by structures in memory; garbage collection.
    [when?] A team including Hopper[<>] develops Flow-Matic, the first English-language data-processing compiler.
  • PL, 1954-present: high-level PL (HLPL) (3rd gen. PL) [prev: assembly] allow progamming without knowing the CPU.
  • 1954: Von Neumann, confronted with Fortran concept: «why would you want more than machine language?»

    1954-58: 1st gen. HLPL

    [OOAD] simplify calculation of mathematic formulas.
  • 1954: J W Carr III proclaims a universal machine independant PL [CC].
  • 1954: T Brooker's Autocode for Ferranti Mark I.
    19(54-)57: J Backus's [>] IBM team develops Fortran[>] for scientific calculations: 32 instructions, if statement, strict if-function, for-loops (do), type-checking (int. v float. - variable's type defaults to one of them depending on first letter of name), first implemented arrays (aniticipated in Plankalkül), call-by-reference parameters, multiletter variable names, "**"
    1956 [<>]: Ackermann's [<] Relevance Logic: a formal theory of implication in which the antecedent 'has a logical connection' with the consequent -- free of paradoxes not only of material implication but also of strict implication [x].
  • Linguistics/Syntax, 1956/7/8[>]: Chomsky's, Harris's and Hockett's notion of the language's deep structure. Formalized in form of Chomsky's transformation grammar.
  • 1957: Ljapunov (Russia) and Yanov's algorithmic notation [CC].
  • 1957: Kantorovic (Russia) introduces parse trees to represent formulae [CC].
  • 1957: Bauer and Samuelson's design of a machine accepting "algebraic code" [CC].
  • 1957: Kleene's [<] regular expressions [CBR]
    Notat.: "*" for Kleene closure ???
  • 1958: Lambek's calculus of sentence structure: a context-free grammar, or, equivalently, a proof system.
    Notat. for relations: On of the earliest uses of a/b and a\b for left and right relation residual [
    CBR]
  • 1958, Algo: McCarthy[<>] has the idea of the maplist function. (before: exposure to Fortran and the Algol 58 committee)
    1958: McCarthy's [<>] (MIT) Lisp for symbolic computing (for AI): First functional PL, non-strict if expression, recursion, functions as values, and lists (which implement Plankalkül's "× t" types). Runs on interpreter (c.f. applications).
    1958: Algol58 [>] conference and first compilers [CC]:
    formal concept of type, names of any length, arrays with any number of subscripts (written in square brackets), in/out parameter modes, begin ... end (but not block structure = local scope), semicolon separator, ":=" assignment [from]
    1958: Fortran II[<>] with separate compilation
  • Meaning, 1958[<>]: Roger Penrose's (physicist) suggestion to Stachey to use the lambda-calculus[<>] for studying PL semantics [cf footnote 1 in Henglein, Mairson: The complexity of type inference for higher-order typed lambda calculi; 1993]
  • Society, late 50's: Computer science research becomes institutionalized (c.f. CS dpt): Marvin Minsky and John McCarthy[<>] set up an AI department at MIT.
  • Syntax, late '50s[<>]: Halliday's Systemic Grammar [x],
  • Society, 1957: "I can assure you that data processing is a fad that won't last out the year." -- Prentice Hall business books editor.
  • Commerce, 60's: IBM's market share sinks to 70%, in part due to the "Liberator" program which converted data from IBM 1401 to Honeywell.
    Hardware:
    - technology, mainframes
      - small computers, calculators
        - Operating Systems (OS) and Networks
    Applications Programming Languages (PL)
    and Compilation

    1959-65: Transistor Computers (2nd gen.)

    with magnetic core memory. Reduced size and cost, increased reliability. Used by medium-sized buisnesses, colleges, government agencies.

  • Technology, 1959: Jack Kilby's (Texas Instruments) monolithic integrated circuit (IC), "processor on a chip", the 3rd gen. of electronic technology [transistor/MOS]
  • 1960: Fairchild's first delievered ICs.
  • Encod.: DIN's ITA2-based 2-table 5-bit punch card encoding for Algol 60 symbols.
    Other encodings with Algol symbols: GOST [>], and a 2-table 7-bit+parity code for the British KDF.
  • AI, 1957-69: development of a general problem solver fails
  • AI, 1957,59/60,61: programs for proving theorems (symbolic logic)
  • AI, 1957-60: Frank Rosenblatt's (Cornell Aeronautical Laboratory) perceptron the first machine that could "learn" to recognize and identify optical patterns.
  • 1959-1964: Douglas Engelbart[>] invents the mouse, first video conferencing, two-dimensional editing, windows, RPC, mixed text-graphics etc. [c.f.]
  • AI, 1961: a program to answer questions on baseball results in ordinary English.
  • PL, 1959-61: 2nd gen. HLPL with algorithmic abstraction [OOAD].
  • 1959: Bauer and Samuelson describe compilation by transition table + stack, and 1960 by a pushdown automaton (generalization of finite automaton) [CC].
  • Syntax, 1959[<>]: Backus's [<] BNF (Backus Naur Form, Backus '59/Naur '60 - published '59) to describe the syntax of Algol60
    1958-60: A committee develops Algol60[<>] for general algorithms:
    First PL syntax described in BNF, first with format-liberty, block structure with local scope, switch[>], variable/parameter declarations with types (bool, int, real, procedure (just like this, without the proc's parameter types)) no string or I/O, call-by-value and call-by-name parameters, "^", E (c.f. punch code) [interpreter]
    «Recursion was added almost as an afterthought to Algol 60 by the addition of a clarifying sentence "Any occurence of a procedure identifier within the body of a procedure other than in a left part in an assignment statement denotes activation of the procedure"» [PLCC 202]
    1959-60: Hopper's [<] (US Navy) team develops Cobol for data processing and buisness report generation: introduces static records, files and formatted print.
    1960-62: Fortran IV[<>] with explicit type declarations, logical selection statement, subprogram parameters
    (late 50's at Harvard), early 60's with IBM: K Iverson's APL for mathematical calculations. Uses many special non-ASCII symbols.
  • 1960: Glennine proposes syntax-directed compilation [CC].
  • 1960: Collins proposes reference count for dynamically allocated memory objects (see Previous Work in [UseOnce])
  • 1961: Lucas, Grau, and Huskey's recursive descent parsing based on BNF syntax [CC].
  • 1961: Oettinger's top-down pushdown automaton for parsing [CC].
  • 1961: Mittelstaedt first points out the existence of homoeostatic mesh (cf. homoestasis 1933) (besides homoeostatic loops, aka. negative feedback loops) [SuB 143].
  • Society, 1962: Purdue Univ. introduces the first department of computer science [InvCS] ["AI"/"byte"].
    Encoding                                  Hardware, UI, OS, Networks           
    - Applications
    Programming Languages,
    Modelling, Compilation
    Encod., early '60s: With growing interest in word processing, there was the need for upper and lower case characters, and more other common symbols [<>].

    Encod. + Terminology[<>]: By Bob Bemer at IBM: «With IBM's STRETCH computer as background, handling 64-character [bit?] words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr. Werner Buchholz, the man who DID coin the term "byte" for an 8-bit grouping) [it] seemed reasonable to make a universal 8-bit character set, handling up to 256. ...

    That was a little too much progress when presented to the standards group that was to develop ASCII, so they stopped short for the moment with a 7-bit set, or else an 8-bit set with the upper half left for future work.
    The IBM 360 used 8-bit characters, although not ASCII directly [but EBCDIC]. Thus Buchholz's "byte" caught on everywhere. ...»

  • 1963: ASA's ASCII 7-bit 99 character code with @, FF, VT, up-arrow "" and left-arrow "", without lower-case characters. The code reversed the sorting tradition, making numbers preceede words. [original pages] [good article by F W Smith]
    Short-lived derivates: ASCII-65 (with logical negation), 8 bit USASCII.

  • 1964: IBM's EBCDIC 8 bit 127/153 (?) character code introduced for the new System 360 mainfraims.
    «EBCDIC has been, up to the late 70s, the most frequently applied character code, next to which ASCII only had a marginal existence. Only with the ascent of the personal computer the spread of ASCII started to increase, extending to networks where people from cost considerations wanted a restriction to 7-bit channels.» [source]
    On the other hand there was still the IBM model 026 keypunch in use into the early 1970's. And the IBM model 029 keypunch was the most common keypunch of the late 1960's and early 1970's.

  • 1964: GOST 10859 7 bit 104 character code for Cyrillic + Latin + Algol 60 symbols. See also KOI-8 and others.
  • 1962: Univ. of Manchester's (UK) Atlas has the first virtual memory and paging; pipelined execution; separate fixed- and floating-point arithmetic units.
  • 1962: RAND's packet- switching networks.
  • 1962/63: Ivan Sutherland's (MIT) light pen for TX-2 (PDP-6), for Sketchpad application
  • 1963: Williams discovers effect of electric fields on liquid crystals [liquid cristals/LCD].
  • 1964: the Friden EC-132, an early (fixed-point) electronic nonprogrammable (desktop) calculator; with CRT display [motor hand held/el. hand held].
    • AI, 1964: program to solve mathematical story problems
    • AI, mid 60s: Weizenbaum's Eliza
    • Logic, 1965[<]: L Zadeh publishes "Fuzzy Sets". TODO: related to that: fuzzzy logic
  • PL, 1962-70: 3rd gen. HLPL with data abstraction [OOAD]. Many new languages lead to a Tower of Bable.
    early 1960's: R Griswold's (Bell Labs) Snobol for string-processing, pattern-matching, and textual transformation [implementation]
    1963-64: IBM's PL/1 to combine Fortran, Cobol and Algol [translator of subset (PL/M) to C]: first pointer data type
    1963-64: John Kemeny and Thomas Kurtz's (Dartmouth College) Basic for easy programming [implementation of 1987 ANSI standard]
    1960s: Christopher Strachey's CPL (Cambridge, or Combined, Programming Language)[>] introduces l-values (generalizes Algol's call-by-name)[>]; procedures as parameters and results, called "functions as first-class citizens"; strong typing for record types.

    1965-95: Age of Commercial Software for Users

    Selling software becomes the new buisness model.
    1. New technology makes computers less expensive and more wide spread (either as powerful mainframes, as mini/micro/personal desktop computers, or hand-held calculators).
    2. New operating systems allow several users at a single machine (if powerful enough). The increased potential of computer use reaches people which are not experts.
    3. IBM unbundles hardware and software, as reaction to law suits brought forward by the US government (Pres. Johnson) and smaller computer manufactureres against IBM's practices for establishing its new /360 system.
    A whole new industry, the software industry, is born for supply these new users with applications of the necessary functionality and user friendlyness (GUI etc.).
    Hardware:
    - mainframes
      - minicomputer, calculators
    - Operating Systems (OS)
    - Networks
    Applications - Programming Languages (PL)
    - Programming

    1965-74: Integrated Circuits (3rd gen.)

    The time of mainframes and minicomputers. 1967 in the first delivered computers.
  • 1965: Moore's law: the number of transistors on a chip will double every 18 months.
  • Commerce, 1964+: The IBM/360 mainframe.
  • UNIVAC 1100 series mainframes [instruction set].
    Programs for UNIVAC 1100
  • 1965-67 BESM-6 a Russian mainframe [emulator]
  • Encod., 1967: international ECMA-6 7-bit 128 character code (European Computer Manufacturer's Association) [<>] with lower case characters (what is nowadays known as ``the ASCII'' is «the adoption and "nationalization" of ECMA-6»): "↑" becomes "^", "←" becomes "_".
    In ASCII [good article by F W Smith, also contains diagram of Model 37 keyboard] «"», «'», «`», «~», and «,» «may be used as punctionation marks, but when used in conjunction with backspace (BS) they take on the meaning of diacritical mark» (diaresis, acute, grave, tilde, cedilla).
    • 1967: Texas Instrument's first hand-held electronic calculator; output on thermal printer [el. with CRT/LED].
    • 1968: Hewlett-Packard enters the electronic market with HP 9100A, a programmable desktop calculator.
  • Notat. + Encod. end of 60's: OCR-A font designed for character recognition [<>]
  • Encod. end of 60's: IBM's small 96 column punch card
  • 1965-83 on Mainframes: Age of Multiprogramming and Time-Sharing OS (3rd gen.)

    A multiprogramming OS reduces idle-time of the computer by switching between programs during I/O wait (co-operative multitasking).
    In a
    time-sharing OS several users sitting on terminals can on-line program and job-control at the same time. Pre-emptive multitasking (time slices).
    Now the OS is responsible for protecting programs against each other. User operation codes vs priviledged operation codes (e.g. HALT).

  • John Kemeny and Thomas Kurtz's (Dartmouth College) designed the first "time sharing" system so that many students could a single computer at the same time.
  • 1965: MIT + Bell Labs + General Electric's project to evolve Multics out of CTSS [<>]
  • AI: Mid 60s: Ed Feigenbaum et al's (Stanford Univ.) DENDRAL one of the earliest expert system developments.
  • starting 1965: Charles Lang's (Cambridge, UK) mechanical CAD on PDP-7 with a type 340 display as an interface to Wilkes's [<] time-sharing Titan mainfraime.
  • Terminology 1965[<>]: Ted Nelson[>] coins the terms "hypertext" and "hypermedia"
  • 1967: Andries van Dam's team (Brown Univ.) first hypertext system on IBM/360, funded by IBM.
  • 1968: Engelbart's [<] NLS of 100,000 hyperlinked papers, reports, memos.
  • 1965: Landin's (infinite) streams by delayed evaluation [>]
  • 1965: Foster's LL(1) parsing derives a parser from the grammar.
    1965-67: Kristen Nygaard and Ole-Johan Dahl (Norwegian Computer Center) develop Simula67 on top of Algol60 for (conceptional, not numeric) simulation. It is the first object-oriented PL: first class, objects, inheritance[>], virtual with covariant result overriding; has RTTI for dynamic type-test (in) and -cast (qua) [Sim]
  • 1966: Strachey and David Barron introduce foldr function ("Lit") [Mike Gordon: Christopher Stachey: Recollections of His Influence; 65-67: Higher-Order and Symbolic Computation 13; Kluwer 2000]
  • 1967[>]: In Strachey's lecture notes: ad-hoc vs. parametric polymorphism
    1968: Logo [implementation]
    1963-68: a committee proposes Algol68[<>] an orthogonal, formally defined PL. Critized for its complexity. Never(?) fully implemented.
  • Meaning 1967[<>]: R W Floyd's "Assigning meaning to programs" [19-32 in Proc Symp Applied Mathematics; Mathematical Aspects of Comp Sci vol XIX; American Mathemaatical Sciety]
  • ... and Stracey in the late 1960s: Semantic domains: «Perhaps Strachey's most important individual contribution to language engineering was his invention of semantic domains to name and organize into sets a language's semantic values» [David A Schmidt: Induction, Domains, Calculi: Contributitions to Programming Language Engineering; 89-101]
    «In the late 1960s, Strachey and Burstall had shown how to model pointers with a mapping, called a store, from references (L-values) to values» [<>] [Mike Gordon: Christopher Stachey: Recollections of His Influence; 65-67: Higher-Order and Symbolic Computation 13; Kluwer 2000] (emphasize added)
    Terminology[<>]: Strachey invented the term "currying" (in writing 1967) [FOLDOC]
  • Society, 60's: "Do not fold, spindle, or mutilate" -- resistance against computer registration at university.
  • Society, end of 60's: Arthur C Clarke's intelligent science-fiction computer "H.A.L." (=I.B.M.)
  • Games: Hunt The Wumpus game on the Dartmouth College's time-sharing system [<>] [the original]
  • Syntax, late '60s[<>]: C J Fillmore's Case Grammar model of functional syntax with case roles like agent, patient, and instrumental underlying different surface realizations like adverbial, subject ... [x].
  • Meaning, 1968[<>]: Quillian's semantic network theory of word meaning (intension) as a representation of the lexicon. Has non-overridable property inheritance[<>].
  • Notation as node-labeled graph with multi-edges [<>]
  • Meaning, '60s and '70s[<>]: Donald Davidson uses Tarksi's[<] theory of truth conditions with generated T-sentences as a theory of (compositional) meaning [x].
  • Meaning, before early '70s[<>]: R Montague's treatment of syntax and semantics (Montague grammar) [x] proposes a model-theoretic semantics for natural languages. For each rule of the categorial grammar there is a semantic rule to determine the compositional meaning (also used in GPSG).
  • Syntax, '70s[<>] D M Perlmutter, P M Postal, et.al.'s Relational Grammar with distinct 'term relations' (subject of, direct object of) between the sentence's constituents [x].
  • Syntax, '70s[<>]: Lexicase - «A form of dependency grammar incorporating elements of Case Grammar, developed by S. Starosta from the 1970s» [x].
  • Meaning, 1972-77[<>]: Linday, Norman, and Rumelhart's semantic network theory of word and sentence meaning (intension). Has overridable property inheritance[<>].
    Notat.: as node- & edge-labeled graph [<>]
  • Classific., 1970s [<]: Eleanor Rosch (psychologist?) introduced prototype theory [CvP]. She critizised:
    (-) classically all instances of a class should be as good examples as others - but there is always a preference for some instances (prototypical examples).
    (-) if classification depended on universal properties then it should not be subjective - but different cultures/individuals arrive at different classifications
    In prototype theory, (1) concepts have fuzzy boundaries, (2) there is graded prototypicallity (even with sharp boundaries), (3) classification is subjective, (4) the most used classes are in the middle of the classification hierarchy (not too generic, not too specific).
    The consequence in programming: good abstraction are discovered (from concrete bottom-up to abstract), not invented (from abstract top-down to concrete).
    Hardware:
    - mainframes
      - minicomputer, calculators
        - Operating Systems (OS)
           and Networks
    - Programming Languages (PL)      
    - Programming

    MOS Technology

    before 1969[?]: Intel's silicon-gated MOS technology, 4th gen. of electronic technology [<], allows microchips/ microprocessors 1971/74.
    1968: "But what ... is it good for?" -- Engineer at IBM's Advanced Computing Systems Division commenting on the microchip.
  • 1969-71: Intel 4004, the first commercially available microprocessor, developed for Busicom (Japanese desktop calculator manufacturer) for 60,000$. They are "computers on a chip".
  • 1971: first floppy disk (8in).
  • 1972: Roberts' garage company develops the MITS 816, the first digital microcomputer available for personal use.
  • Encod., 1972: ISO 646 standard for national 7-bit variants of ECMA-6/ASCII [<>].
    E.g. JISCII (Japanese, 1969) -- more on Japanese 1978-90, Chinese, and Korean codes
  • Notat. + Encod. 70's: OCR-B font for character recognition [<]
  • Software Engineering

    Software became larger and larger, and entire teams of developer worked on one program. The old style of programming lead to unmanagable spaghetti code. Larger-than-function modules, data abstraction (cf Simula), and program structures with simple formal semantics/proof-rules were the three persued ways out of this first software crisis.
  • Terminology[<>]: The term "software engineering" was made popular by two thus-called NATO conferences in 1968 and 1969.
  • Meaning, 1970[<>]: Christopher Wadsworth's continuations to formally treat goto labels.
  • 1971: Lampson on message systems, object systems, protection domains, access matrix, ACL, capabilities, owner access, control access
  • 1971: Earley's V-graphs (nodes with identifiers, labeled pointers, atoms eg int, string) ["Toward an understanding of data structs" 617-627: Commun. ACM 14(Oct) ACM]
    1971: Thompson's B, typeless adaption of Richard's BCPL on the 370 (from the Multix project) a simplified CPL[<] (only c-b-v + ptrs + mach indep ptr arith) [<>] [CPL & BCPL: BCPL has local functions, BCPL sample, BCPL & B with B sample, BCPL compiler]
    1971: N Wirth[>] left the Algol68 design an developed the simpler Pascal[<>] (1971 in Acta Informatica). It introduces typed pointer types[ref] the case statement[<], sqr, sqrt.

    1971/72: Kay, Ingalls, Goldberg's et.al. (Xerox Parc) Smalltalk[>] for development in icons-windows-and-mice environment, consistent "pure" object-oriented interpreted PL [implementation]

    1972: Colmerauer's team (Marseille) develops Prolog, for AI, the first logic PL (interpreted).
  • Type Theory 1972[</>]: Stenlund's Combinators, Lambda-Terms and Proof Theory
  • Types 1972[>]: Girard's second order polymorphic lambda-calculus[<>] (aka F2)
    1973: Ritchie's (Bell) C, an extension of Thompson's B [<], for the implementation of Unix. Published '78 "The C Programming Language" [Scientific American, March 1999, p48]
  • Meaning 1973[<>]: Hoare and Wirth's axiomatic definition of Pascal with a separate pointer-to-value mapping for each pointer type[<>] [Mark Utting: Reasoning about Aliasing; TR 96-37; Univ of Queensland (Australia) 1996]
  • 1973[>]: Hoare's paper on the correctness of data type implementations.
  • 1973[<>]: Zilles[>] shows how procedures can be used to represent data objects in encapsulated, representation independent way [OO/AD]
  • Concurrency, 1973: Hansen's proposal of a monitor language construct cf [Per Brinch Hansen: The Progamming Language Concurrent Pascal; IEEE Trans. SE 1(2) 1975]
  • [when?] E W Dijkstra: «Computer Science is no more about Computers than astronomy is about telescopes.»
    - Hardware
      - Operating Systems (OS)
        - Networks
    Applications           - Programming Languages (PL)      
    - Programming

    1974-: MOS Microprocessors (4th gen.)

    Besides the mainframes come the first microcomputers (PCs on the desk; subculture of privately owned computers), embedded systems in cars, wrist-watches etc.
  • 1974: Scelbi, Mark-8, first marketed PCs.
  • 1974: HP-65, an early programmable pocket calculator.
  • 1974: Intel 8080 for traffic lights.
  • 1974: Zilog founded. Z8 8bit chip family [instruction set]; Z8000 16bit processor family [instruction set]
  • 1974: Cocke (IBM) designs first RISC machine.
  • 1973-75: MITS Altair 8800 ($375), first open bus on PCs [emulator for PC/Windows, emulator.exe]
    «The Altair is described as having "256 eight-bit words" of RAM. Apparently, the term "byte" was not in common use yet.»
  • 1975: IBM 5100 PC.
  • 1975: Cray I.
  • 1976: Apple II ($1298), best-selling computer in the world (until ...[?]). 1979: visit to Xeroc PARC, impressed by windowing GUI and Smalltalk.
      • 1976: AT&T Bell Labs's UUCP.
  • 1974: first ATMs.
  • 1975: Rabiner's (Bell) voice recognition
  • 1975: John Walker's version of the Animal game (ask users to think of an animal, then determine it by questions) on Univacs also copies itself to other directories when played -- the first? Tojan horse virus [an (older) introduction to viruses]
  • Comp. Theory, 1975: Milner noticed that concurrent processes cannot be expressed by sequential algorithms [<>] [R Milner: Elements of Interaction; CACM 36-1; 1993] (statement by Peter Wegner)
  • "In the 70's" theoretical discussions about viruses [Vir].
  • Terminology, mid 70's [<>]: James York (mathematician, USA) coins the term "deterministic chaos" (c.f. the discovery of det. chaos '63)
  • 1975: E H Mamdani: first laboratory application of fuzzy-control (for steam engine).
  • 1976: Whit Diffie and Martin Hellman's public key concept.
  • AI/Connectionism, late 70's[<]: Neural networks
  • Concurrency, 1974: C A R Hoare's monitor examples
    Types 1974[<>]: Reynolds's[>] second order polymorphic lambda-calculus[<>] (aka F2)
  • 1974[<>]: Zilles[<] and Liskov's[>] Programming with abstract data types based on type abstraction.
  • 1975[<>]: Reynolds[<] compares user-defined datatypes and "procedural data structures" (objects with single method) [DT/PD].
  • 1975: Gannon & Horning's experiments suggest that fewer programming errors occur if statements are terminated rather than separated by semicolons [Language design for programming readability; Trans. SE 1(2)]
  • 1975[<>]: Chu's Architecture Design Language specifies the architecture of a software design like a blueprint in engineering (in Trans. SE 1(3))
  • 1975[<>]: Rochkind's Source Code Control System (in Trans. SE 1(4))
  • 1975: S N Zilles's algebraic method ["Data algebra: A specification technique for data structures" MIT dissertation]
  • 1975: Maddux's theory of prime programs
  • 1975: Saltzer and Schroeder's "The Protection of Information in Computer Systems" introduces protection domains and principals.
  • Algo, 1975: Bell+LaPadua's information confidentiality model: low-security information flows towards higher security levels
  • Algo, 1975: Biba's information integrity model: high-integrity information flows towards lower integrity levels
  • 1977: HP's calculator watch.
  • 1977: "There is no reason anyone would want a computer in their home." -- DEC founder Ken Olson.
  • 1978: Intel 8088 16bit processor with 8bit data bus [instruction set].
  • 1979: first calculator with LCD by HP [electric effect]
  • 1979: Philips presents the CD prototype.
      • 1979 USENET for newsgroup discussions.
  • 1980: Shugart's Winchester hard drive revolutionizes PCs' storage.
  • 1981: IBM PC.
    Encod.: PC starts out with code page CP437, soon with national variants [<>].
    • 1981: Microsoft's (founded 1976 for compiler programs) DOS bought as CP/M clone, and adapted for IBM PCs. Is is a single-user batch OS, allowing control over the entire system.
      "640K ought to be enough for anybody." -- Bill Gates.
      • 1981: IBM's BITNET for E-mailing.
      • 1981: NSF's (National Science Foundation) CSNET for CS departments.
  • 1982: Commodore C64, best selling home computer for years [from-to?]
      • 1982 TCP/IP official protocol for ARPANET making it the Internet.
      • 1983: Gateway between CSNET and ARPANET.
      • 1983: Univ. of Wisconsin's domain name servers (introduced 1984).
      • 1983: FidoNet.
    [when?]
  • Motorola 680x 8bit processor family [instruction set]
  • Motorola 68000 16bit processor [instruction set]
  • 1978: The raise of killer office applications


    (``
    Age of 4th gen Software Support''); stimulates demand for user-friendly applications. Dominant break-through applications (by Micropro):
    1979-78: Daniel Bricklin's VisiCalc is the killer-application on the Apple II: first spreadsheet.
    1979: Wordstar word processor.
  • 1978: Andrew Lippman's team (MIT) Aspen Movie Map, first hypermedia system.
  • Aug 1979: Desaster at Admiral's Cup after forcasted wind strength 3-4 (actually up to 8) due to scarce measurement network.
  • 1981: Nelson [<] conceived Xanadu, a world-wide hyper-text system
  • 1981: French Telecom's nationwide Minitel network.
  • 1982: Disney's Tron movie playing inside of a computer, first computer generated movie sequences.
  • 1982: Autodesk founded to develop AutoCAD.
  • 1983: Mitch Kapor's Lotus 1-2-3 spreadsheet, wins over VisiCalc.
  • 1982: Fahlmann's first smiley :-) and :-( proposed to distinguish humorous and serious bulletin board messages [Spiegel Online 160902]
  • PL, 1977-83: The establishment of module constructs [<>]


    1977: Fortran 77[<>] with strings, if then else, logical loop control statement
  • 1977: Hewett's Actors
  • 1977: D Knuth: «Beware of bugs in the above code; I have only proved it correct, not tried it.»
  • Syntax, 1977[<>]: Wirth's[<>] EBNF extension of BNF by regular expressions
  • 1978[>]: Backus's functional programming vision [John W Backus: Can programming be liberated from the von Neumann style?; 613-641 in Communications of the ACM 21; 1978.
  • 1978: Robin Milner's[>] (Univ Edinburgh) ML, a non-LISP-style structured procedural/functional PL (interactive interpreter). Introduced the notion of parametric polymorphism in languages[<] [Luca Cardelli, Peter Wegner: On Understanding Types, Data Abstraction, and Polymorphism; Computing Surveys 17/4; 1985].
  • 1978: DeMarco and Yourdon's structured analysis and design [QC]
  • Types 1978/79/80[<>]: intersection types by Coppo & Dezani-Ciancaglini (1978), Sallé (Coppo etal 1979, Sallé 1982), and Pottinger (1980). «Reynolds made the first demonstrations that intersection types can be used as the basis for practical programming languages (1981; 1988)» [ITBP].
  • Terminology 1979[<>]: Floyd's "The Paradigms of Programming" ACM Turing Award lecture
  • 1979: Codd's surrogates: separate object name from object value
  • Type Theory 1980[</>]: Howard's formulae-as-types 1980 [<>]: Milner's[<>] CCS concurrent message-passing calculus
  • 1981: D Turner's interleave to combine potentially infinite streams [<]
  • Meaning, 1981[<>]: Plotkin popularizes Structural Operational Semantics
    1981[<]: MacLennan introduces relational programming, implements his language RPL.
  • 1979: Mario Bunge's formal ontological object model «where every change is a tranformation of some thing or other and very thing is in flux. This view ... is consistent with science: the latter provides no ground for hypothesizing the existence of thingless events anymore than it suggests that there might be changeless things» [QC 152]
  • Syntax, late '70s[<>]: S C Dik et.al.'s Functional Grammar model of functional syntax distinguishes syntactic function (subject, etc.), semantic function (agent, etc., cf. case roles), and pragmatic function (theme, etc.) [x].
  • Syntax, from end of '70s[<>]: G J M Gazdar's Generalized Phrase Structure Grammar with metarules and slash categories removes the need for transformations; used much in computational linguistics associated with Montague's compositional semantic rules [x].
  • Syntax, from the end of '70s[<>]: J Bresnan and R Kaplan's Lexical-Functional Grammar distinguishes active:passive on the level of lexicon (verb "take" vs. "be taken"), and takes predicates + arguments as primitives (as in Relational Grammar[<]). Two syntax levels: c-structure (constiuents) and f-structure (assigns the functions) [x].
  • Syntax, 1980[<>]: D E Johnson and P M Postal's Arc Pair Grammar[<]: «Sentences are represented by 'network graphs' in which e.g. the relation 'subject of' is shown by an arc connecting a noun or nominal node to a clause node, and arcs are in turn related especially to show relations at different levels» [x].
  • Meaning, early '80s[<>]: Barwise's and Perry's situation semantics «treats utterances as containing not only information about the world, as in model-theoretic semantics, but also information about speakers and their relations to the world. Sentence-meanings are not given by truth-conditions, but defined in terms of relations between situations» [x].
  • Syntax mid '80s[<]: W A Foley and R D Van Valin's Role and Reference Grammar focuses on nuclei (eg., verb with its obligatory arguments) vs. periphery (eg., adverbs) [x].
  • Open Source 1983: After AT&T introduced licence fees and restrictions on Unix [</>] Stallmann starts the GNU project at the Free Software Foundation (FSF) based on the copyleft [>] to develop a complete free system.
  • Terminology 1984[<]: William Gibson's coins the term "cyperspace" in his sci-fi triology "Neuromancer"
  • 1983, Society: The PC is the first machine to be Time Magazine's man of the year (in 1982). [the article]
  • Encod., 1983: Indian ISCII character code
  • Encod., mid of 80's: ECMA designs and ISO endorses the ISO 8859 8 bit character sets (Latin-1 to 4, Cyrillic, Arabic, Greek, Hebrew) [<>. Latin-1 was derived from DEC's Multinational Character Set for VT-220 terminals. C.f. Window's variants of ISO 8859 codes.
  • Encod., 1983: ISO 6937 standard for composed characters, e.g. ¨+BS+a = ä.
  • 1984: Apple's Macintosh (Mac) inspired from Xerox Parc. [Apple's "1984" commercial against IBM]
  • 1984: first laserprinters.
  • ca 1984: Adobe's Postscript
  • 1984: Commodore's Amiga A1000. (199x [when?] Commodore broke, bought by Escom, then by Gateway).
  • Encod. 1985: Thai character code
  • 1986: Intel's 80386 32bit processor.
  • 1986: Goldfarb's SGML standard adopted.
  • AI, 1984: Lenat's ten-year CYC project to catalogue "commonsense."
  • 1984: Aldus' Pagemaker is the killer-application for the new Macintosh computer: first desktop publishing (term coined by founder Paul Brainerd) (is going to replace Ottmar Mergenthaler's 1886 linotypes).
  • 1984: Knuth's TeX
  • AI 1984: Doug Lenat begins CYC project at MCC (common sense -> logic)
  • Games 1985: Alexej Paschitnow's (Moskow) Tetris [<>]
  • since 1985[?]: Hacking.
  • 1986: Ventura's Ventura Publisher (for IBM PC?)

  • 1983/85: Stroustroup's (Bell) first version of C++, an OO extension of C
  • 1984[<>]: Sowa's conceptual graphs.
  • 1984: Knuth's Literate Programming
  • Types[<>] 1984[<>]: Cardelli's[>] first-order calculus of subtyping gives multiple inheritance[<] a semantics based on subtyping [OO/AD]
  • 1984/85: «Inheritance across associations was first discussed in the context of semantic data models», e.g. Borgida 1984, Brachman & Shmolze 1985 [Brendan McCarthy: Association inheritance and composition; JOOP 10(4); 1997.]
  • 1985[<>]: Brachman's property inheritance to define subtype =/= inheritance of behavior (implementation) [cf. Snyder86]
  • 1985[<>]: Abelson & Sussman oppose data-oriented programming (procedural data) to operation-oriented programming (ADT) [OO/AD]
  • 1985[<>] Types[<>]: Cardelli[<] & Wegner's On understanding types, data abstraction, and polymorphism introduces subtype-bounded universal quantification (a generalization of universal quantification) as a formalization of subtyping, aka inclusion polymorphism.
    Formalized as "system F<" modeling objects as records with updateable fields [<>].
    1985[<>]: Hoare's CSP concurrent message-passing calculus
    Model.+Notat., 1985/87[<]: Harel's Statecharts introduce sub/superstates, product states (aka AND-states), and guarding predicates for transitions
  • Theory, 1986: Scott's denotational semantics [ACM 86]
  • Society, 1989: British Telecom's US patent on hyperlinks
  • Encod. 1988-91: Unicode 1.0 developed [<].
    multilingual character sets, from the first half of the 1980s on, by Xerox, IBM, TRON
    1992 merged with ISO's Universal Character Set; official in 1993 Unicode 1.1.
    1992? UTF-8 multibyte encoding.
  • 1990: DEC's technology based on the Alpha 64bit processor replaces VAX with VMS operating system (later 64bit processors: HP's PA-RISC and MIPS' R10000).
  • Encod. 1990: CompuServe's GIF
  • Encod. 1991: JPEG
  • Encod. 1992: Hangul based triple 6-bit character code becomes official in South Korea
  • 1987: Apple's HyperCard, the most widely used hypertext system
  • 1988: Wolfram's Mathematica 1.0.
  • 1987-92: First PC Virus Age: file viruses and boot-sector viruses 50:50 [Vir]
    Oct 1987: Brain virus, the first documented virus, Univ. Delaware (USA).
    1988: Morris releases the Internet-Worm.
  • Games, 1991-93: Myst, most sold game on CD-ROM (1997: 4 mio sales), for 3 years in monthly top 10 [<>]
  • Comp. Theory, 1992: Nonterminating reactive processes cannot be modeled by algorithms [<] [Z Manna, A Pnueli: The Temporal Logic of Reactive and Concurrent Systems; Springer 1993] (statement by Peter Wegner)
  • 1992-95: Second PC Virus Age: boot-sector viruses dominate, because file viruses make Windows 3.1 crash [Vir]
  • 1992[?] Airbus A-320[?] crash due to wrong assumptions in software.
  • 1993: Doom released by ID.
  • 1993: DSA (proposed 1991) becomes US government standard.
  • 199x-94: Argic, the first spammer (Usenet, non-commercial); next: commercial Usenet spammers: Canter & Siegel law firm [telepolis]
  • 1986: Object-orientation

    Object-Oriented Programming Workshop at IBM, and first OOPSLA conference are the ``watershed'' for spreading interest in object-oriented computing. [G Blair, J Gallagher, D Hutchison, D Sheperd: Object-Oriented Languages, Systems and Applications; Pitman, 1991?]

    PL, 1986-present: Object-oriented HLPL
    1986: Objective-C, and Stroustrup publishes C++ [OOLSA]
    1987: CLOS [OOLSA]
    [<>]: The record model sparks research in record caluli.

  • 1986/7[<>]: Snyder argues 1986 "inheritance breaks encapsulation". He and Liskov argue that objects are instances of class modules (related by code inheritance) and, independently, conform to types in type-theory (related by specification inheritance, or by structural inequivalence).
    1988: Meyer's Eiffel OOPL for software engineering
  • Algo, 1989: Brewer + Nash's Chinese Wall security policy,
  • 1989: Moggi's monads, popular in functional pogramming through Wadler's 1990 paper.
  • Type Theory 1989[<]: Girard, etal's Proofs and Types
  • 1989[<>] Types[<>]: Canning etal's F-bounded polymorphism explains compatibility between subclasses and baseclasses, allows typing self, and thus covers type recursion.
  • 1989[<>]: Cool and Palsberg's denotational semantics of objects, classes and inheritance.
  • 1990[<>]: Cook etal model classes as generators, (F-bounded) polymorphic over the type of self.
  • 1990: Bracha's and Cook's mixin-based inheritance at ECOOP/OOPSLA
  • 1990 the beginning of software architecture study Software architecture - «a field that, until about 1990 was unheared of». In this time-frame «the term "software architecture" bnean to gain widespread acceptance and ... the field first attracted substantial attention from both industry and the research community. The field was created out of necessity. Software systems were growing larger ... what changed is that by the 1990s such large systems were becoming common. [Kazman: Software Architecture]
  • Types 1990[<>]: Leivant's infinite intersection types
  • 1990: B J Cox: Reusing other people's code would prove that I don't care about my work. I would no more reuse code than Hemmingway would reuse other author's paragraphs.»
    1977-90: Fortran 90[<] developed with modules, recursion, pointers, dynamic arrays, case, paramter type checking
  • 1992: Perry and Wolf believe that the 1990s will be the decade of software architecture. "[P]erhaps the reason for such slow progress in the development and elvolution of software systems is that we have trained carpenters and contractors, but no achitects"
  • Types 1992[<>]: B Pierce shows that in bounded second-order lamba calculus (F<) the problem of determining whether one type was a subtype of another is undecidable
    1992 [<>]: Milner[<] et.al.'s pi-calculus
  • Meaning, 1994[<]: Wright and Felleisen's evaluation contexts for succinct specification of simplification steps in transition semantics
  • 1995-present: Age of the Commercial Internet for Everybody

    1995: NSF ends sponsorship of Internet backbones -- No more limitations on commercial use. Selling services over the Internet to anybody becomes the new buisness model.
    The functionality of business applications is changing from ``human-assisting'' reactive tools for performing certain activities, to ``human-assisted'' (proactive) systems which define the overall process in which the user is asked for assistance where necessary. [I Bider, M Khomyakov: If You Wish to Change the World, Start with Yourself: An Alternative Metaphor for Objects Interaction The Journal of Conceptual Modeling; Issue Number 18; February, 2001.

    Open Source: Growing internet makes open source software development [1983: FSF] more successful and interesting for companies like Corel, IBM, Netscape, Novell and Sun:

  • Allman's sendmail for e-mail (runs 75% of all Internet mail servers in 1999);
  • Torvalds' Linux completes GNU to a full, free Unix system [<];
  • Apache web server (about 50% in 1999);
  • Mozilla project to improve Netscape (cancelled 1999).

    Society: The increasing popularity of the internet lets netlores (stories, hoaxes, urban legends ...) spread in the internet:
    Aug. 1994: man shot while falling down building
    May 1996: stolen kidneys
    Jan. 1997: cancer donation chain letter with several mutations
    July 1997: a bill of $0.00
    Nov. 1997: the Bill Gates $1,000 giveaway chain letter with several mutations (see also)
    April 1998: Alabama's pi = 3 law
    Jan? 1999: the Women in Afghanistan Petition chain letter

    also: Hoax virus warnings, Computer Virus Myths

    Sources: [Urban Legends, Faxlore/Netlore]:

    Society/Law:

  • 1998-: MS Outlook Express may not filter out BlueMountain's greeting cards as junk-mail
  • April 99: Sending email to Intel's employees is trespassing of its computer system
  • 1996-99: Lawsuit about domain-names vs. trade-marks (Massachusetts, USA). general study: «The courts ... have also transferred ownership of the names to the challengers. ... [This] provides one of the clearest examples of the way in which trademark rights in cyberspace are being expanded beyond their normal meaning in law.» [below table 3]
  • May 1999: Lawsuit whether programs fall under free speech
  • July 1999: Are deep links legal? -- cf. a 2000 ruling
  • July 1999: AOL subscribers can be sued in Virginia
  • 1999-: Lawsuit whether Cyberspace is a 'Public Accommodation' (Massachusetts, USA)
  • 2000: Can Cookies Act as Stalkers?
  • 2000: Is Bidder's Edge trespassing EBay's property? and again
  • 2000: French court issued a prior restraint against Yahoo, USA, for serving Nazi artifacts images to French citizens

  • Society, 2000: The US presidential election counting debacle. Some background information on chads & dimples.
      • Internet providers: AOL, Prodigy, CompuServe etc.
      • 1995: Sun's JVM (Java Virtual Machine) interpreting platform-independent Java Bytecode
      • 1996-98[?]: The Browser War between Netscape and Microsoft
    • 1995: IBM's unsuccessful OS/2 Warp 3
    • 1995: Microsoft's Windows95 (32bit)
  • Dec 1997: Wong's (IBM) constructs first self-aligned, double-gate transistor (which had been proposed in the 1980's) -- see future [Scientific American, March 1999, p42]
  • announced for 1999: Intel and HP's Merced 64bit processor.
  • 1995(?): Yahoo web index, Lycos and DEC's Altavista web search engines
  • Games, 1995: Sony's new 32bit Playstation, soon leads in front of Nintendo 64 and Sega's 128bit Dreamcast. It was developed after breaking up co-operation with Nintendo, then leader in video games, to integrate CD-ROM into Nintendo's console [<>] [Spiegel online, 23 Nov 2000]
  • 1995-1997: Third PC Virus Age: macro viruses dominate, since Windows95 checks against changes in boot-sector.
    End of 1995: Concept the first macro virus infects a Word document; becomes the most common virus of the world 1998 [Vir].
  • June 1996: Launch of new European space rocket Ariane 5 fails due to incorrectly reused code from Ariane 4 ($500 million loss).
  • Hack, early 1997: US Air Combat Command's Bombshelter "attacked" for over a month by up to 75,000 emails a day [Popular Science, July '99]
  • 1997[?]: IBM's Deep Blue (chess program on special computer) defeats world chess master Gari[?] Kasparov.
  • 1997[?]: Pixar's Toy Story: first computer generated feature film.
  • Late 1997: Fourth PC Virus Age: reappearence of network viruses: Macro.Word.ShareFun, a WordBasic macro virus resending itself to addresses in MS-Mail address book, and Win.Homer
  • 1998: Melissa: a Word-macro MS-Outlook worm. And VBS.freelink -- a 1999 derivate with a VBScript attachment.
  • Fall 1998: Pentagon removes public information from web ``as though they are making a new category of information that is sufficiently boring to be passed out in hard copy but too sensitive to be available in soft copy'' [p 44, Scientific American Jan 1999]
  • Hack, Mar 1999: Hacker attack on NATO email system (March 30) after bombing of Yugoslavia (March 27) [Popular Science, July '99]
  • Virus, Oct 1999: Infis, a Windows NT device driver virus.
  • Virus, Nov 1999: Bubbleboy: a new generation of VBScript worms, without attachments, using Internet Explorer resending itself to people in your MS-Outlook address book.
  • Virus, Nov 1999: FunLove virus, reinfecting files as fast as antivirus software can clean them.
  • Virus, May 2000: LoveBug, a VBScript MS-Outlook worm (+virus+troyan horse), spreads worldwide in one day.
  • Games 2000: Sony's Playstation 2 enters 20 billion $ p.a. market of video games (hardware + software) [<] [Spiegel online, 23 Nov 2000]
  • Virus 2001: Anna, Kournikova ("We have never seen anything spread as fast as this"), Sircam ("has now become easily the most common virus") (2), Code Red, Nimda, ...
    58,000/57,000 virus threats exist today (Nov 2001).
  • Spam 2003: 80% of the 2 billion messages sent by Hotmail's 110 million users @ day are junk. Yahoo! intercepts 1 billion junk mails @ day. [CNN June 17, 2003]
  • Virus 2003: SQL Slammer worm (Jan) disrupted half of all internet traffic. Blaster worm (Aug 11) affected 500,000 computers world wide. Nachi worm automatically downloads Windows patch against Blaster. Sobig.F virus (Aug 18): in its first 4 days, it affected one in 17 e-mails sent around the world. [Economist Aug 21 2003]

  • 19(90)-95: Sun's Java [see also] originally for embedding in consumer electronic devices, since 1994 for the WWW.
    1995: Ada-95 supports OOP.
    • 1995: Gamma et.al's: "Design Patterns"
    • 1995-97: UML (Unified Modelling Language) 0.8 to 1.2.
  • Types 1996[<]: Tiuryn & Urzyczyn show generally the undecidability of type inference for the combination of subtyping, parametric polymorphism and second-order types (LICS'96).
    1996 [<>]: Abadi & Cardelli's sigma calculus for objects [<]:
    1997 [<]: Castagna's & calculus adds dynamic overloading to LC. Objects are modeled as data records and their methods as dynamically overloaded functions [OOPUA].
    1998: ISO's standardized C++

  • The Future (as of 2000)

  • Society/Law: Legal perspective as of 1999
  • Hardware Technology/Chip, 2010: Chip feature size in MOS technology will reach limit of 70 nanometer. Double gate technology «is expected to function down to channel length of 20 to 25 nanometers.» [Scientific American, Mar '99, p42]
  • Hardware Technology/Chip, 2020: Quantum computers, currently researched at NMR, IBM, etc.
    Isaac Chuang (IBM): 2-QuBit (1998), 3-QuBit (1999), and 5-QuBit (2000) quantum ``computers'' [in German]
    home Biological until 1854 Formalization 1854-1937 Revolutions 1937-1951 Electronic Age references
    Location: http://members.tripod.de/s_ulf/csh/commcomp.html & http://www.cs.mun.ca/~ulf/csh/commcomp.html. By Ulf Schünemann since 251198. Please mail any comments.