Readings

The readings for this week are:

  1. Beating the Averages

  2. The Hundred-Year Language

  3. Revenge of the Nerds

Reflections

In these essays, Paul Graham discusses the power of programming languages such as Lisp and how this non-conventional language proved to be a competitive advantage in creating Viaweb:

Our secret weapon, Lisp, was similar. We wrote our software in a weird AI language, with a bizarre syntax full of parentheses. For years it had annoyed me to hear Lisp described that way. But now it worked to our advantage. In business, there is nothing more valuable than a technical advantage your competitors don't understand. In business, as in war, surprise is worth as much as force.

For this upcoming week, you are to consider the following questions as you perform the readings and participate in class:

  1. Discuss the idea behind the statement: "programming languages are not just technology, but what programmers think in." How does a programming language impact the way you tackle a problem or construct an application?

  2. Discuss whether or not "programming languages vary in power." Are some languages intrinsically more powerful than other languages? What makes one language better than another?

  3. Discuss your experiences with alternative languages such as Lisp, Scheme, Erlang, Haskell, Rust, Zig or any less popular language. What drew you to these languages? Did you find them to be useful? Do you still use them? Explain why or why not.

Note, you should not simply list the questions and answer each one directly. Instead, the questions are there to help you brainstorm about the question:

How important is the choice of programming language in software development and computer science? What is lacking in our current set of tools? What ideas or features will continue to persist far into the future?

Some food for thought: