I think you probably know as much about the marketing of J as I do.  I'm just guessing about it.

I am suggesting that J is a great language for computing, and it may be that because you are into math, and found J helpful to you, you take away from that that J is good for math - and it is.  But if you had started writing a simulation, you might have concluded that J is a great language for simulation - and it is.

I taught J to highschoolers for about 7 years.  I had two classes: one a general introduction to computers, where we mostly used Excel as the programming language but used J for several weeks. These kids were totally non-geeks but they wrote J code to open sockets, download an HTML page, and pick out relevant information.

The other class was all J programming.  The students might well have quailed at taking up a 'mathematical' language.  One of my best programmers, in fact, had taken math up through Algebra II and concluded that math was a waste of time and that he was done with it, and wasn't going to take precalculus.  That's what we're dealing with.  Given the way math is taught here, his decision was not unreasonable.  [I did beg him to reconsider.]

Henry Rich


On 1/23/2022 2:01 PM, Michail L. Liarmakopoulos wrote:
Hello Henry,

I'll speak of my personal experience with J.

My first encounter with the language was around 2015 where I'd seen some
one liner solutions in the Euler project forums. For those that don't know
that project, it's like hackerrank but with mathematical problems to be
solved via any programming language. Back in the day I was using python and
prolog, but was always amazed by the shortness of J solutions. Then I found
all the mathy books written by Ken in J, and it was aparrent that it was
easy to express mathematical ideas in this language.

As for computing vs proving, I think that both are two aspects of
mathematics. From the Curry-Howard correspondence we know that programs are
proofs and the other way round.

That being said, at this point I don't think that J can be used as a proof
assistant, as Coq, OCaml or Agda: it lacks a strong typing system that is
needed for such things, afaik.

I don't mind if the term "mathematical" would be suppressed in order not to
draw away US programmers that had bad experiences with math, and stress the
"computation" part. But I also think that the mathematical roots of the
language shouldn't be forgotten or hidden so that the neophytes dont get
scared.

I guess this discussion has to do much with the marketing of the language,
and I don't know much about that, so I'll stop here.

Thanks again for the great ideas shared in the discussion.

Best,
Michail

---
Michail L. Liarmakopoulos, MSc

On Sun, Jan 23, 2022, 19:38 Henry Rich <[email protected]> wrote:

Couldn't it be that J is used by mathematical programmers because it's
touted as a mathematical language?

Most of the population of the US considers math 'too hard' and will not
touch anything tainted by it.  I think programmers (in the US) by and
large share this tendency.

And I disagree that people doing non-math will use non-J.  I use J for
simulations, games, and pretty much everything where I get to choose the
language.  I use it for the productivity, not the mathiness.

In fact, I've never been able to use J to do real math, that is, to
prove theorems.  It's a notation of computation, not a notation of
mathematics.  A tool of thought, not a tool of proof.  I can use J to
help with understanding a problem, but I don't have a big enough set of
identities to make it valuable in proof.

J is especially good for math people, but it's not caviar to the
general.  Un-mathy highschool students can be writing useful J programs
in a few days - much faster than with Java.

Henry Rich

On 1/23/2022 1:04 PM, Michail L. Liarmakopoulos wrote:
Hello,

Personally I think that while J is a general purpose language, it surely
attracts more mathematically oriented programmers.

Also I think the definition Bob mentioned earlier stems from the fact
that
J is linked to APL and to the "notation as a tool of thought" of Ken.

So I don't think that mentioning or promoting the mathematical edge that
the language has (that makes it a strong competitor to python+numpy,
Julia
or R) is a disadvantage.

Programmers not interested in solving mathematical problems on a computer
will choose a different language either way, such as C, C++, Java,
python,
Golang, etc.

Best,
Michail

---
Michail L. Liarmakopoulos, MSc

On Sun, Jan 23, 2022, 17:32 Raul Miller <[email protected]> wrote:

On Sun, Jan 23, 2022 at 10:41 AM Henry Rich <[email protected]>
wrote:
I strongly recommend removing the word 'mathematical' from the
one-line description of J.   Most programmers are not highly, or
even moderately, mathematical, and people will be afraid that J is
for somebody else.
Many are not, but many are.

That said, those that are almost invariably have a specific focus
(machine learning, finance, statistics, graphics, logistics, etc.)

And, mathematics is itself a huge field where individuals invariably
specialize in their own niche.

(So I am not disagreeing with your recommendation -- I am instead
thinking that the mathematical aspects need some focus and specifics
to be relevant.)

Thanks,

--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

--
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
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