Wizards Explaining Languages

I recall hearing a talk about using Snobol to solve a general set of text parsing problems by one of the Snobol inventors. It made it obvious that an important class of text manipulation problems was much simplified. I faced no such textual problems then so I did not pursue Snobol but I gained considerable respect for such languages and the idea that special problem classes needed special languages.

The same happened for APL although I wrongly guessed that its mathematical orientation would exclude it from the business community.

Just now I listened to Rob Pike’s Go talk and was again convinced that a new class of problems had been made simple.

In each of these cases there were new elements of language design that seemed to expand for me the envelope of what a computer language could be. I had hoped that some powerful general and universal language would emerge, such as the idea the Turing completeness might be accompanied by a universal and universally efficient language.

I try sometimes to capture the magic in a few words but usually fail. I have no recourse but to go back to the videos many times. Alas no videos were made of the Snobol and APL talks. A few good pattern samples using these languages does wonders.

Most, perhaps all, of these languages rely on lower level languages, such as C, to adapt their goals to how conventional hardware works.