I would add: Programming languages in general experience some language drift because of changes to the underlying available hardware. This requires changes to all parts of the supporting software systems. Considerable effort is invested in retaining backwards compatibility, but it's not perfect.
J also has been extended at various times. As a general rule, most of these changes attempt to retain backwards compatibility (ideally with radically improved performance). The most frequent exception to this rule takes what was previously an error case and replaces it with something else. In a few examples, implementers decided that that approach would require too much work. Perhaps the most notable of these was that initially implicit arguments to J's verbs used the names x. and y. but this had an unfortunate interaction with J's locale reference syntax and the names x. and y. were dropped and replaced with x and y (with no trailing dot). Anyways, generally speaking, these sorts of changes tend to be accompanied with documentation on how to cope with them for existing code bases. And, it's usually pretty easy to learn about the alternatives. That said, we still have some work to do... I hope this helps, -- Raul On Mon, Jul 4, 2022 at 9:14 AM Jan-Pieter Jacobs <[email protected]> wrote: > > Hi Meino, > > I wouldn't worry too much about changing syntax; most of it remained the > same, except for cosmetic changes (e.g. not using x. and y. for arguments > names but x, y) and behind-the-scenes implementation aspects (faster, more > special code, in-place operations). Those generally don't change much when > programming. > > I liked Learning J a lot as well when learning, as well as JforC. I would > just use those, and try out what you read, and check the release notes when > things would not work out as expected, where non-backward compatible > changes are flagged as incompatible changes. > > NuVoc is the de-facto documentation that should be up to date with the > current implementation. > > That said, although recently a lot has been happening for J, in my opinion, > most of the (reasonably recent) material remains valid. > > Good luck, > > Jan-Pieter > > On Mon, 4 Jul 2022, 14:45 , <[email protected]> wrote: > > > Hi, > > > > on the internet (some reddit post it was I think) I found a very nice > > looking "Reference Card For J", which refers to J 602. > > > > There are some other tutorials, books and such, which are based on previous > > versions of J. > > > > At the current point of my knowledge about J (read: bloody newbie) I > > cannot estimate, whether it makes sense to learn from such sources or > > not - I want to avoid to "unlearn" things later. > > > > Especially this > > https://www.learningj.com/book.htm#toc > > book I like very muchm since it shows things the way I normally like to > > learn new things. > > > > Question extracted from all these lengthy words is: > > What way of evolving J does ? Adding more things and keeping > > everything backward compatible (so I need only to add new things later) > > or "super high dynamic" :) which means: Every day the syntax is totally > > changed and verbs older than a month will be thrown out and replaced by > > totally diffent verbs...and I have to unlearn everything in a 14 day > > cycle... :) ;) 8) > > (I exaggerate here just for fun! ) > > > > Cheers! > > Meino > > > > ---------------------------------------------------------------------- > > 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
