From a9d600f89e491c0c0a6beae322c7d15686e0a2b1 Mon Sep 17 00:00:00 2001 From: Andy Ko Date: Tue, 18 Apr 2017 08:57:45 -0700 Subject: [PATCH] Missing links --- history.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/history.html b/history.html index bd1d60b..4de0645 100644 --- a/history.html +++ b/history.html @@ -51,7 +51,7 @@
  • What kinds of tools and languages can accelerate a programmers work and help them prevent mistakes?
  • -

    These questions are at the foundation of the field of software engineering and are the core content of this course. Some of them have pretty good answers. For example, the research community rapidly converged toward the concept of a version control systems, software testing, and a wide array of high-level programming languages such as Fortran (Metcalf 2002), LISP (McCarthy 1978), C++ (Stroustrup 1996), and Smalltalk (Kay 1996), all of which were precursors to today's modern languages such as Java, Python, and JavaScript.

    +

    These questions are at the foundation of the field of software engineering and are the core content of this course. Some of them have pretty good answers. For example, the research community rapidly converged toward the concept of a version control systems, software testing, and a wide array of high-level programming languages such as Fortran (Metcalf 2002), LISP (McCarthy 1978), C++ (Stroustrup 1996), and Smalltalk (Kay 1996), all of which were precursors to today's modern languages such as Java, Python, and JavaScript.

    Other questions, particularly those concerning the human aspects of software engineering, were hopelessly difficult to understand and improve. One of the seminal books on these issues was Fred P. Brooks, Jr.'s The Mythical Man Month. In it, he presented hundreds of claims about software engineering. For example, he hypothesized that adding more programmers to a project would actually make productivity worse at some level, not better, because of the added burden of knowledge sharing. He also claimed that the first implementation of a solution is usually terrible and should be treated like a prototype: used to learn and then discarded. These and other claims have been the foundation of decades of years of research, all in search of some deeper answer to the questions above.

    @@ -68,11 +68,11 @@

    Brooks Jr, F. P. (1995). The Mythical Man-Month (anniversary ed.). Chicago

    Gleick, James (2011). The Information: A History, A Theory, A Flood. Pantheon Books.

    Grudin, Jonathan (2017). From Tool to Partner: The Evolution of Human-Computer Interaction.

    -

    Kay, A. C. (1996, January). The early history of Smalltalk. In History of programming languages---II (pp. 511-598). ACM.

    +

    Kay, A. C. (1996, January). The early history of Smalltalk. In History of programming languages---II (pp. 511-598). ACM.

    Ko, A. J. (2016). Interview with Andrew Ko on Software Engineering Daily about Software Engineering Research and Practice.

    -

    McCarthy, J. (1978, June). History of LISP. In History of programming languages I (pp. 173-185). ACM.

    -

    Metcalf, M. (2002, December). History of Fortran. In ACM SIGPLAN Fortran Forum (Vol. 21, No. 3, pp. 19-20). ACM.

    -

    Stroustrup, B. (1996, January). A history of C++: 1979--1991. In History of programming languages---II (pp. 699-769). ACM.

    +

    McCarthy, J. (1978, June). History of LISP. In History of programming languages I (pp. 173-185). ACM.

    +

    Metcalf, M. (2002, December). History of Fortran. In ACM SIGPLAN Fortran Forum (Vol. 21, No. 3, pp. 19-20). ACM.

    +

    Stroustrup, B. (1996, January). A history of C++: 1979--1991. In History of programming languages---II (pp. 699-769). ACM.