Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcvax!diku!olamb!tue From: tue@olamb.UUCP (Tue Bertelsen) Newsgroups: net.lang Subject: Re: Discussion on removing punctuation in programming languages Message-ID: <117@olamb.UUCP> Date: Tue, 14-Oct-86 12:40:33 EDT Article-I.D.: olamb.117 Posted: Tue Oct 14 12:40:33 1986 Date-Received: Wed, 15-Oct-86 21:47:37 EDT References: <7796DMB@PSUVMA> Organization: AmbraSoft A/S (Denmark) Lines: 77 Summary: Punctuation prohibited - take a look at PLZ/SYS - it managed it In article <7796DMB@PSUVMA>, DMB@PSUVMA.BITNET writes: > > Punctuation or seperators (; , .) have long been a part of programming > language design. Anyone who has programmed for even the shortest amount of > will realize that these little demons are responsible for a large amount of > possible errors, thus the question is why have them at all? > > The obvious answer is not for the programmer, but for the compiler writer > and his compiler. This is true for at least two reasons. Once upon a time there was a programming language called PLZ/SYS. It was developed by Zilog for their Z80 processor (and became later available under UNIX on the Zilog System 8000 computers). Besides being an extremely efficient language for microprocessor programming, it contained virtues that we still miss to see in so-called 'high-level' languages: - true modular programming - true structured programming - a concise syntax eliminating the need for punctuation - a concise sematics which was logical and readable - machine independence - strong typing - no gotos Programs in PLZ/SYS contained only declarations: - declarations of data - declarations of actions to be performed on data (i.e. procedures) The actual writing of programs required no punctuation, except that each token had to be separated from other tokens by delimiters. Delimiters could e anything (space, comma, semicolon, linefeeds, comments). This meant that programs could be written very readable (no inconsistent use of END), indented and spread across several lines. This made it actual possible to write programs faster and more error-free in the first run. Based on this experience, I consider a language design being dependent on punctuation a shame and an unnecessary constraint imposed on the programmer just for the purpose of easing the compiler writer's work. Still, there are old programmers, who cannot live without punctuation. In PLZ/SYS they were free to use the if they liked - just for the purpose of improving readability. So hopefully, next generation of languages will be free of such useless things. To conclude, here is the 3 rules of programming: We DO NOT write programs in high level languages in order to instruct the computer (nor the compiler!) (iff we did, we would be using hexadecimal instruction codes) We write programs in order to enable OTHER people to read them. Other people read programs in order to UNDERSTAND what the computers does, when it executes the program. In other words: write, so it can be read. For further information on PLZ: "Report on the programming language PLZ/SYS" Tod Snook, Charlie Bass et al. Springer-Verlag 1979 ISBN 3-540-90374-7 Sincerely yours, Tue Bertelsen AmbraSoft A/S