Readability depends on a person's background. I can't read Chinese. Does
that mean it's not a readable language?

When writing a program or a document one must assume some level of
knowledge of the reader. J tends to assume readers have a greater knowledge
of mathematics than most other programming languages require.

But readability is a real problem. What is usually missing from many
programs, especially J tacit, is the intent of something. Say I see
something like this:

   < @ (({. + i.@{:)@[ { ] )

It would certainly help to have some idea what this is supposed to do. What
its arguments are and what it returns. Documentation really helps.

But J expressions can be intimidating. It has always bothered me that I
could attack a FORTRAN program spanning several pages comfortably. But a J
program of just a few lines which do exactly the same thing is hard for me
to get into.


On Sat, Jul 12, 2014 at 12:23 PM, Erling Hellenäs <[email protected]>
wrote:

> Hi all !
>
> Yes, maybe we should all be concerned about writing readable code instead
> of the shortest and most cryptic code? Maybe we should also write writeable
> code? Find a way to write that allows us to get the expressions right the
> first time?
> J is more of a notation than a language? The value of a notation is
> determined by clarity, but also readability? Maybe readability and
> writeability, in the sense I explained above, should get higher priority as
> design goals for our future J?
>
> Cheers,
>
> Erling Hellenäs
>
>
>
> On 2014-07-12 07:40, Raul Miller wrote:
>
>> I would not generalize to higher rank arrays without a model of why I'd be
>> using them.
>>
>> In other words, v=: {"_1 |:~&0 2 is probably good enough.
>>
>> There are some interesting contradictions here - while one needs to be
>> comfortable thinking mathematically to get decent performance out of a
>> system, usually what we are building is a mix of instant and delayed
>> gratification and we usually assume our audience has no direct interest in
>> the math we are performing (indirect interest, yes - sometimes).
>>
>> Often I think we go overboard, and we should throw back in some exposure
>> to
>> some of the more robust concepts (especially for the kids, so they have
>> something interesting to play with). But professional adults tend to be
>> under a lot of time pressure, and as a result their needs often seem to be
>> a mix of the very basic and the childish.
>>
>> Meanwhile, it seems like anything worthwhile takes time and effort.
>>
>> Anyways, professional software design often centers around use cases and
>> similar models which are aimed at extracting the important concepts about
>> what people need to get done and how they want to work. And that kind of
>> information is what you need if you are going to properly generalize
>> application code.
>>
>> Thanks,
>>
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to