[PRL] Of course our programming language can do this
Peter R. Douglass
peterd at ccs.neu.edu
Wed Aug 2 17:55:13 EDT 2006
Mitchell Wand wrote:
[snip]
> Languages are meant for *people* (sorry about the asterisks) to write
> and to read. If the meaning of a program is disguised by layers of
> syntactic cruft, then it is hard to understand, read, modify, or write
>
> Languages must be able to express key abstractions, but they must also
> have usable syntax for doing so. Otherwise you the in S K and
> combinators as might well write.
I agree that languages are meant for people to write and read. I also
agree that if the meaning of a program is *disguised* by *layers* of
syntactic cruft, then that will make it hard to understand, read, modify
or write.
When one is first learning a language, much of the syntactic cruft seems
to stand in the way of understanding meanings. However, when one
becomes more proficient in the language, the cruft becomes less and less
of an annoyance -- provided that the cruft is only *local*. When I
first learned to spell English, I was constantly annoyed by non-phonetic
spellings due to imports from German, French etc. Now, I have no
problem that night is spelled with a "gh", or that knee is spelled with a k.
Individuals may differ in their opinion of whether the syntax which
expresses key abstractions is "usable". I would guess that, as in
natural languages, familiarity, constant use, etc. make certain ways of
expression quite "usable".
I think the line:
> Ubothuberwubise yubou mubight ubas wubell wrubite ubin thube wubS
> uband ubK cubombubinubatubors.
actually illustrates that it is quite easy to learn seemingly strange
modes of expression. The modification is local, and it took only a few
seconds to figure out. Rewriting a program from Java into S and K
combinators, on the other hand, would, if I'm not mistaken, involve
global changes.
--peterd
More information about the PRL
mailing list