In 1981, I chose “linguistics of programming languages” or “programming linuistics” for the theme of my graduate thesis. This was a trial to analyze programming languages by using the methodology of linguistics (of natural languages). I wrote a brief introduction to this work on a Web page in English. A scientist looked at this page and wanted to introduce this work in a tutorial in a workshop. So I wrote another Web page that contain an English abstract and contents. Because I wanted to introduce this paper since I started this blog, I try to write on this topic here. [The Japanese version of this page was written in September 2007, but I translated it to English in June 2008.]
I started this research only three months before submitting the graduate thesis. It was not an engineering paper but was a humanity paper. So it was not necessarily suited for graduate thesis in an Engineering Department. However, at that time, I was very serious, and I intended to continue this research after I was employed. I have been interested in interdisciplinary studies that spread between natural sciences, social sciences, and humanities. This paper was written in Japanese, and was hand-written because almost no word processors were available then. I put it on the Web several years ago by using a scanner. (Actually, when I wrote this paper, Hitachi decided to offer a job in next April, so I asked and tried to use a word processing software developed by Hitachi CRL.) However, it seemed to be too painful for me, so I abandoned this plan. For the French man who wanted to introduce this paper, I put English abstract and contents on a Web page today [September 2007].
As I wrote in the abstract of this paper, the main idea of this research came from the fact that programming languages are used not only for programming computers, but also used for human-to-human communication, i.e., they are written by human beings and are read by them for maintenance and other tasks. If they are used for human communication, they must have natural-language-like nature. So I first tried to examine whether programming languages as rules that dominate written programs (but not as rules described in language specifications) have the famous characteristics of natural languages, which was pointed out by Ferdinand de Saussure who was a lisguist in early 20th Century. (See my graduate thesis for this sense of programming languages.) Then I found arbitrariness, double articulation, and other characteristics, which are said to be characteristics of natural languages, also in programming languages. For example, identifiers used in programming languages has double-articulated structures. I also studied natural-language-like ambiguities that lie in programming languages.
These studies were only the introductory parts of “programming linguistics”, and I could not continue them. So the studies of programming linguistics are still at the entrance. If I have a change, I want to restart the studies, and if other researchers want to continue them, I hope them to do so. I am very sorry that I cannot show the whole of my graduate paper.
Note: Japanese version of this article is in my Japanese blog.