Dear J users,

back from my two weeks vacation I find many interesting answers concerning the
topic of J readability in my mailbox. Thank you very much for all the
feedback. My proposals were meant as food for thought, no more.

> Do you have an alternative meaning for 'dyadic &'  As I see it, that is a
> redundant expression.

I apologize. What I really meant was '&' used with two verbs, bond being used
with one verb and one noun.

> Is having two cases (even and odd) for verb trains of any length what you call
> complicated? Interesting.

No, not complicated but tedious to read because reading J code involves
counting or ...

> I configure J to display verbs using its linear representation.

> The complexity of verb trains can be mitigated by turning them into boxed
> expressions, (the method being called the Enter key)  I, for one, have found 
> the
> J interpreter to be an excellent tutor.

... asking the interpreter for help, both of which would bother me when I'm
already preoccupied with thinking about mathematical or algorithmic
transformations of the code (or reading a math or programming book, for that
matter). I need to be able to do these transformations in my head when I close
my eyes.

>>  I am personally disinclined to attempt thinking up improvements over J, at
>>  least until I have a strong grasp of what J actually is.

> I have also reached this conclusion.  I still have the urge, but I try to not
> indulge it publically.

> And, like many reformed sinners, I'm now evangelical on the subject.  Which
> is why I was so impressed by your post and its diplomacy.

We should never forget that programming languages are just tools, not
religions.  On the other hand I agree that some programming languages are
interesting in themselves because they include great ideas:

"Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt." ("The limits of
my language are the limits of my world.")  Ludwig Wittgenstein

I came to the conclusion that J (and Lisp as well) is not quite the language I
was looking for and I'm leaving for Haskell which is quite similar to J in
some respects (and offers some further benefits):

Both languages were inspired by functional programming languages and by APL,
both include some kind of tacit programming (see
http://www.haskell.org/haskellwiki/Pointfree ), both are very concise, both
allow and prefer to think big (you'll use map, filter, foldl, foldr, function
composition and other higher-order functions (= adverbs and conjunctions) in
Haskell; sequences of these operations are understood and optimized by the
compiler ("deforestation"), so there's no penalty for the elegance of these
abstractions), both are well parallelizable (see
http://cgi.cse.unsw.edu.au/~dons/blog ), which may well become the most
important feature of programming languages in the upcoming years, and both
feel like some kind of improved mathematical notation that finds itself used
as a programming language.

Best regards
  Bruno Daniel
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to