However, programming languages are similar to natural languages in that they started very simple, only what programmers need it, but with routes for expansion as well. As technology developed and programmers needed a firmer grasp and control on the operations of the machine, thing were added. Such as C and C++. Further, many different programming languages can be traced back to say... shell scripting, which is like many romantic languages have similarites with Latin. Sunny. ----- Original Message ----- From: "Mark A Mandel" <mam at theworld.com> To: <books at bofh.com> Cc: <dragaera at dragaera.info> Sent: Wednesday, August 21, 2002 8:49 PM Subject: Re: Evolving language > [Jot] > #>#>very particular sort of meaning. But programming languages are > #>#>very, very strictly defined. Unlike natural language, programming > #>#>languages very rarely possess symbols that have simultaneous > #>#>meanings depending on the context. How does a compiler handle > #>#>ambiguity? It doesn't. We define the rules so there is no > #># > #>#Counterexample: > #># > #>#sendmail.cf -> $: > #>#(as well as any number of other $ variables) > > [Mark M] > #>Is that a counterexample? Variables have, well, variable meanings, but > #>in any context -- at runtime -- only one of them will be in effect. > # > #>I'm putting this as a question rather than an assertion because I don't > #>know the language of this construction. But am I right here? > > [Jot, round 2] > #The example I'm thinking of (which doesn't make sense in context, > #but was valid when I was playing with this was): > # > #$: $: $: > # > #In which all three $:'s meant different things. > > Oh, sure. Contextual distinction. In Perl, the '#' character begins a > comment, but '$#foo', iirc, is an assignable variable meaning the > highest subscript value in the array @foo. > > -- Mark A. Mandel > >