Discussion Questions:

Submit your answers to Monday's questions

Submit your answers to Wednesday's questions


Why was Netscape's introduction of JavaScript to web pages so important for the development of the web?

What were some of the language design criteria present for the design of JavaScript?

What are other domains where applications can be made more customizable through special purpose embedded programming languages?

What makes a language design heavyweight or lightweight?


What is the "mythical man month"?

What happens when you add more people to a late software project? Why?

What recourses are there when a project is late?

When building a program, what portion of the time should you allocate to actual programming?

How can the "computational thinking" (recall Jeanette Wing from Week 1 reading) approach be applied to the problem of building software with a big team of programmers?

Reading and Media

Articles can be obtained individually from their sources below.


Charles Severance, Java Script: Designing a Language in 10 Days, Computer, February 2012.


Frederick Brooks, The Mythical Man-month, Chapter 2, pp 11-26, 1977.

Yaron Minsky, Why the next language you learn should be functional ACMqueue, 2011.

XKCD: Real Programmers