Everything is pseudocode

Michael says that everything should be code. If you accept the strong Church-Turing thesis and believe in the principles of digital physics, that the universe is indistinguishable from a computer simulation, then everything is already code.

But Michael means that representing everything as code should make collaboration easier. I argue that pseudocode is better. Do you really want to be reading and writing Java all day long? Because Java is the lingua franca. There is no question that you can express everything in Java, Java being Turing complete, but socially, pseudocode seems far more acceptable. For one thing, pseudocode is perennial.

David Brin also convinced me that natural languages have evolved the way they have, with their quirks and ambiguities, because this provides us with the necessary flexibility to be creative. Try being creative with Java. Bad idea.

Update: Peter Boothe points us to Marvin Minsky’s essay written in 1967, Why programming is a good medium for expressing poorly understood and sloppily formulated ideas.

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

5 thoughts on “Everything is pseudocode”

  1. Ambiguity is fine – in the face of ambiguity, it often suffices to simply choose one way or the other and move forwards. Indeed, that’s a large part of how languages like Python and Ruby gain their conciseness. This feels like it relates to Marvin Minsky’s essay “Why Programming Is a Good Medium for Expressing Poorly-Understood and Sloppily-Formulated Ideas”, which points out that our mad desire for precision in all things at all points in programming languages is a cultural artifact, and not necessarily required. I think you are right that Java for all things would be horrible, but an interpreter that took in pseudocode and usually did the right thing would be fantastic! If it occasionally screwed up, that’s fine, as long as the code was as understandable as possible. More things being executable instead of descriptions of an executable sounds like a good way to make lots of progress quickly.

Leave a Reply

Your email address will not be published. The comment form expects plain text. If you need to format your text, you can use HTML elements such strong, blockquote, cite, code and em. For formatting code as HTML automatically, I recommend tohtml.com.

You may subscribe to this blog by email.