Nelson Chamberlain
Sep 5, 2018 · 2 min read

Thank you for your thoughtful and in-depth discussion of programming languages. You identified many of the issues that I’ve been struggling with, especially when trying to write parallel programs.

Applying the Sapir-Whorf hypothesis can lead to the rather startling conclusion is that programming languages are themselves the reason why it takes so long to develop programs (especially parallel programs). From the instant we start developing a program using words and languages we are locked into the sequential logic of language and semantics. As you mention, “the world is a continuum, we slice into tiny pieces, we discretize it with words.” In essence, we model the world as sequences of words which limits or constrains our thinking. I believe that there are physical reasons that prevent humans from effectively using words and languages to model sequences of events and especially asynchronous or concurrent events.

In the Avian Computing Project, the attempt is to model parallel programs as flocks of birds, where each bird is a separate thread. Thread events (start, stop, sleep, etc) are mapped into the standard lifecycle, providing a simplified but natural model with which to represent the real world. Natural models such as flocks of birds, schools of fish, hives or bees, etc., all provide us with an easy to understand and describe vision of what the programs will actually do, especially when discussing parallel operations.

Until CPU cores are designed that do not use sequences of coded instructions to respond to events we will require some method to generate those sequences of machine code. However, we can use any model to generate those sequences of machine codes; the model doesn’t have to be language. Would you rather fly in an airplane built using language or one built using engineering drawings or CAD/CAM models? I’ll take the latter. . . .

Thanks again for your thought provoking article. I know I’ll come back and re-read it and your many other excellent blogs.

    Nelson Chamberlain

    Written by