(msg to general responded to programming)

Thanks for the comments.

> 3. The heart of the language seems to be in tacit definitions, and
explicit ones seem to be just a necessary but ugly kludge.
> 4. Therefore the language can really only be used comfortably in domains
where functions of arity higher than 2 are rare.

This issue of tacit vs explicit comes up from time to time, and I'll repeat
an earlier comment that tacit is over-emphasized in the J forums. In
production systems, most programs are explicit, while tacit is used where
appropriate, rather than used because of a desire to look cool.
Essentially, J gives you the choice and programmers just pick what suits
the problem.

Browse through the J repos to see this. For example, in the recent addon
script,
http://jsoftware.com/websvn/wsvn/public/trunk/graphics/pdfdraw/source/base/draw.ijs
, all definitions are explicit. Note that the first takes a right argument
with 4 values, so "arity" hardly matters.


On Sun, Nov 19, 2017 at 11:15 AM, Andrew Dabrowski <[email protected]>
wrote:

> I've been fascinated by J for the last week or so.  After successfully
> writing a simple script that's actually useful, I'm trying to decide
> whether to keep learning J or just declare victory and return to
> conventional languages.
>
> I'm not really a programmer, I'm a math instructor, but I do some
> programming in Perl and Clojure for the department.  J looks like the kind
> of language that might be useful for small practical tasks, but I have some
> serious reservations.
>
> 1. J is clearly the work of an insane genius.  The fetish for brevity
> combined with the brilliantly thought out meta-operations is frightening.
>
> 2. The ideal use case for J is obviously an iPhone game where programmers
> compete in code golf.
>
> 3. The heart of the language seems to be in tacit definitions, and
> explicit ones seem to be just a necessary but ugly kludge.
>
> 4. Therefore the language can really only be used comfortably in domains
> where functions of arity higher than 2 are rare.
>
> 5. The mania for terseness is clearly at clinical levels.  The family of
> circle functions o. is something that seems like a good idea in the shower
> or the middle of night, but no one would be foolish enough to actually
> implement it.  Except Ken Iverson.
>
> 6. In the age of unicode, why /not/ use the special symbols from APL?  We
> could use the J expressions to type them, but wouldn't the APL symbols look
> and read better?  As it is J might be said to have the worst of both worlds.
>
> 7. Has anyone made up a set of aliases for beginners which provides
> natural language based names for the operations?  A newbie could slowly add
> the abbreviations to his vocabulary, as one does with e.g. emacs.
>
> 8. The failure to clearly distinguish at the syntactic level between
> monadic and dyadic verbs, along with the laconic culture, makes tacit
> definitions almost unreadable for a beginner.  This could have been
> avoided, but it seems the drive to score an eagle won out over the desire
> for clarity.
>
> 9. It's true that the choice of symbols for verbs was made carefully and
> exhibits a logic not found in natural language.  But here, unsurprisingly,
> the latter shows its wisdom.  There's a reason that similar words in
> English tend to have unrelated meanings.  For example I often see "wary"
> written as "weary" in online forums.  In practice this causes little
> confusion because one can tell from the context which meaning is intended.
> But if you mistake e.g. "{." for "{:" your code will probably still run but
> with errors that could be hard to pin down.  Verbosity is better, at least
> for beginners.
>
> 10. Maybe beginners aren't the point?  Is J really just the Shriners of
> programming?  A bunch of crabby geezers riding around on scooters?  I might
> in fact want to join that, but I did kind of get the impression that you
> were selling J as a serious programming language.
>
> I feel better now.  I continue to be fascinated by J, but point 4.
> especially makes me leery of investing too heavily in it.
> ----------------------------------------------------------------------
> 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