On Tue, Aug 2, 2016 at 3:29 AM, Erling Hellenäs
<[email protected]> wrote:
> On 2016-08-01 15:24, Raul Miller wrote:
>>
>> Just as a note, this strawman:
>>
>> ([: – [: – [: – [: – ])
>>
>> can (and should) be simplified to
>>
>> ]
>
> I don't think ] is a good example of a number of monadic verbs in sequence.
It is, of course, functionally equivalent to
([: – [: – [: – [: – ])
Consider this example:
([: - [: - [: - [: - ]) 1 2j3 4.5 9e9
1 2j3 4.5 9e9
([: - [: - [: - [: - ]) 6r7 8
6r7 8
That said, it is true that you would get a domain error from something
like this:
([: - [: - [: - [: - ]) 'x'
|domain error
If the domain error is important, you might instead want something like:
-@-@]
But if you are going to do need something like that you should
probably get into an explanation of purpose just a bit.
More generally: computer programming languages are meant to be used -
not just "admired for their syntax". You cannot meaningfully expect to
consider the syntax of the language while ignoring its meaning.
>> Moreover, I do not think "coolness" or "hotness" or "popularity" are
>> all that good of reasons for using any language. Instead, I would go
>> for "usefulness" and "expressiveness".
>
> Maybe the audience knows better why people prefer expressions like -&-@- - ]
> . I just picked one I could imagine.
Please do not expect the audience to figure out what you meant, if you
did not mean anything.
>> That said, I think J is great for experimental designs involving
>> computation or where you are not quite sure what the architecture
>> should be. But I also have had no problems taking the eventual result
>> and translating it to some more installable language.
>
> I do that too, but I would like a similar language which is easier for a
> non-expert to read and where the translation is more straight-forward. To be
> able to formulate the target language solution in a higher level executable
> language.
> I would for example like to be able to take the result of my analysis and
> give to the C programmer as a specification.
The language cannot do your thinking for you.
And, for that matter, neither can I.
You need to be able to expect the people to work with to have some
learning skills. Teaching them a vocabulary of maybe half a dozen
verbs and a few connectors should take, what, half an hour? This is
nothing compared to the maze of detail that they have to learn when
dealing with any library of code. You can even write up a reference
card and give it to them.
And, sure, once you do that you'll find they haven't been doing
anything because of something they did not understand. So work through
more examples with them, and get them to ask questions about things
they do not understand. Almost always you'll get some randomness and -
it is true - the syntax winds up being the first thing they notice and
you will sometimes get objections to the syntax. This happens because
they don't have anything better to do and do not have any better
ideas.
If you try to avoid a problem, you will probably succeed - but the
problem will remain.
Thanks,
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm