Fixed #33, clarifying citations of history articles.

This commit is contained in:
Andy Ko 2019-03-26 13:41:11 -07:00
parent d2d8307455
commit 9b755eed73

View file

@ -50,7 +50,7 @@
<li>What kinds of tools and languages can accelerate a programmers work and help them prevent mistakes?</li>
</ul>
<p>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 (<a href="#metcalf">Metcalf 2002</a>), LISP (<a href="mccarthy">McCarthy 1978</a>), C++ (<a href="#stroustrup">Stroustrup 1996</a>), and Smalltalk (<a href="#kay">Kay 1996</a>), all of which were precursors to today's modern languages such as Java, Python, and JavaScript.</p>
<p>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 (chronicled by <a href="#metcalf">Metcalf 2002</a>), LISP (chronicled <a href="mccarthy">McCarthy 1978</a>), C++ (chronicled by <a href="#stroustrup">Stroustrup 1996</a>), and Smalltalk (chronicled by <a href="#kay">Kay 1996</a>), all of which were precursors to today's modern languages such as Java, Python, and JavaScript.</p>
<p>Other questions, particularly those concerning the <em>human</em> aspects of software engineering, have been hopelessly difficult to understand and improve. One of the seminal books on these issues was Fred P. Brooks, Jr.'s <em>The Mythical Man Month</em>. 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 <em>worse</em> at some level, not better, because knowledge sharing would be an immense but necessary burden. He also claimed that the <em>first</em> implementation of a solution is usually terrible and should be treated like a prototype: used for learning 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.</p>