The Linda Programming Language

Years ago when I was a university professor, I remember talking about the Linda programming language for a few minutes in a graduate computer science class. What is Linda and what happened to it?

First, Linda isn’t really a standalone programming language. Linda is a set of concepts for parallel programming. Linda has only six keywords: out, eval, in, rd, inp, rdp. Linda is designed to be used in conjunction with a regular programming language such as C, Java, or Python. So it’s usual to talk about things such as Linda-C, Linda-Java, and so on.

The Wikipedia article on Linda is quite good so I won’t repeat its content. Here’s a Hello World program using Linda-C:

/* hello_linda.c */
#include 
#include "linda_lib.h"

void sayHello(int n)
{
  int j;
  in("count", ?j);
  out("count", j+1);
  printf("hello from process %d, count %d\n", n, j);
}

void real_main()
{
  int i;
  out("count", 0);
  for (i = 1; i <= 4; ++i)
    eval("worker", hello_world(i));
  in("count", 4);
  printf("all processes done. \n");
}

The key idea here is that Linda is a programming language extension for parallel programming.

Linda uses tuples. A tuple is essentially a list of pointers/references. And Linda operates in a virtual environment which is often called a TupleSpace. Therefore, Linda languages are sometimes named like JavaSpace, PythonSpace, and so on.

Linda is not an acronym. It’s named after a woman named Linda Lovelace. When Linda was being invented, the Ada programming language was new and the topic of much interest in computer science. Ada was named after Ada Lovelace, a woman who was an assistant to Charles Babbage. Ada is often incorrectly identified as having written the first sort-of computer program for Babbage’s hypothetical computer. Babbage actually wrote the sort-of program in his notes a couple of years before, but didn’t publish it publicly. Anyway, the inventors of Linda named it after Linda Lovelace, a movie star who was the subject of much interest at the time.

So, why didn’t Linda catch on? I don’t know for sure. I suspect that because parallel programming isn’t really used very often, the overhead involved in using Linda just isn’t worth the extra effort required.


Left: Ada Lovelace (1815 – 1852), namesake of the Ada programming language. Center: Linda Lovelace (1949 – 2002), namesake of the Linda language. Right: Blaise Pascal (1623 – 1662), namesake of the Pascal programming language. Women programmers owe a debt of gratitude to Lovelace. The deep techniques she demonstrated continue to inspire women today.

This entry was posted in Miscellaneous. Bookmark the permalink.

1 Response to The Linda Programming Language

  1. Thorsten Kleppe says:

    The C code looks really cool and only six keywords are a dream. But the information about Linda are quite low. Nice examples like yours seems rather rare. Or maybe the Parallelism approach like in Linda was replaced by GPU computing by the crowd?

    Which approach would you use, if you need a fast computing solution for C# WPF?

    I’am still working hard on a project named goodgame, a sophisticated neural network GUI.
    Provisionally one of the latest versions looks similar like this: https://raw.githubusercontent.com/grensen/gif_test/master/overfitting_mnist_9_wrong.png

    In addition to design and usability, the responsiveness of the app is one of the main issues of that project, and with Parallelism it could be more fluid what I hope.

Comments are closed.