OT: Punctuation-starved Programming Languages
Don Y
dgy at DakotaCom.Net
Wed Jun 21 13:37:16 CDT 2006
Sean Conner wrote:
> It was thus said that the Great Don Y once stated:
>> So, the question: are (were) there any useful languages
>> designed that did not rely heavily on punctuation in their
>> syntax? It almost seems an inconsistency -- older languages
>> tended to be skimpy in their syntax (e.g., short identifiers,
>> global scope, etc.) which would suggest that punctuation
>> exploits would be MORE valuable to them.
>
> I wouldn't say that short identifiers, global scope, etc. are restrictions
> on syntax per se, but as a limitation due to the capacities of the computers
> at the time (like the 6 character limit of identifiers in C [1]). But that
Yes -- but much of the syntax was undoubtedly influenced by
the capabilities of machines available at those times. Though
I suspect some was just the author(s) taking poetic liberties
(e.g., Algol's ::= )
> aside, I can only think of a few that did not rely upon punctuation that
> much. COBOL is one (although I don't know it well enough to say). Pilot
> maybe. BASIC is another one that can get by with minimal punctuation
> (parenthesis and brackets notwithstanding). And it would be fairly trivial
> to remove punctuation from Forth with the proper word definitions.
Amusingly, *except* for parens, LISP largely does without punctuation!
Unfortunately, parens are a royal PITA as they require tracking
more state than local punctuation.
> Then there's always assembly ...
Not a very expressive language. :> Also, many assembly languages
use LOTS of special punctuation to reference indirection, auto
{in,de}crement addressing, parameter separators, comment
introducers, etc.
> -spc (Do you have some special interest in this?)
Yes. I was working on crafting an application specific language
and ran into the paren issue (yet again -- this comes up often
when designing such languages). It made me wonder if someone
hadn't previously come up with a way to avoid this issue
(parens are a complication for the compiler/interpreter as well
as for the *user*).
A quick survey of the languages that I am familiar with led
me to the observations in my original post. In particular,
that newer languages seem to be *more* heavily dependant on
punctuation (Limbo, Java, C++, Bongo, Python, etc.). So,
I mused as to whether going *backwards* (in time) would
uncover a kinder, simpler language...
(of course, taking GREAT care to avoid APL on the way *back*!)
:>
More information about the cctalk
mailing list