synonyms
Mark Wieder
ahsoftware at sonic.net
Tue Jul 4 13:38:15 EDT 2017
On 07/04/2017 01:02 AM, Mark Waddingham via use-livecode wrote:
>>>> For a problem placed before any three coders, you will find at least
>>>> four different solutions. Limiting the language limits the ways in
>>>> which a problem may be thought of - that's the basis of the
>>>> linguistic relativism, and it applies to programming languages as
>>>> well as to natural languages.
>>
>> Of course.
>
> Although I think Mark's original statement is conflating two things -
> there is the *abstract* method of solution, and the *concrete* rendering
> of the solution.
Well, yes and no.
I'm arguing for allowing the concrete solution in support of the
abstract solution (see below).
>
> In most cases you might get 'four different solutions' - however it is
> more than likely that at least half of them will be the same if you
> strip away all the concrete baggage (i.e. syntax, variable names, choice
> of array of string-list etc.). Simply because abstractly there tends to
> be far fewer ways to solve any one given problem (in computing at least)
> than there is concretely, as computers think about things in a specific
> way (which often is nothing like how humans do on an average day-to-day
> basis).
Aside from the folding of several similar solutions into a single one as
far as the computer goes (and I have no dissension there, nor any real
need for any synonyms at that much of a context-free level), I think
that allowing for more synonyms in the language allows at a human level
(abstracted from the ones and zeros of the computer) for a more creative
approach to viewing possible solutions to any given problem. So that a
faster or more elegant or more functional or... solution may arise that
may not have come about without the natural-language associations of the
synonym(s). For instance, "is" may evoke associations that "=" does not,
and vice versa. For me "<>" evokes BASIC and I tend to think more
linearly, where "is not" has different connotations, as does "!=", even
if they all condense to the same machine code.
For the same reason, I use "switch" constructs more than nested or
sequential "if"s when possible, partly because they're easier for me to
read afterwards and therefore easier to maintain, but also because they
impact my thought processes differently, even though they become the
same machine code as far as the silicon is concerned.
--
Mark Wieder
ahsoftware at gmail.com
More information about the use-livecode
mailing list