Live data from Hacker News

Notation as a Tool of Thought

jsoftware.com

21–22 of 22 posts

Re: Notation as a Tool of Thought

#21
post #17

I like the idea that notation is a tool of thought, but I think that J (and APL) are actually rather crappy notations. I FAR prefer matlab for matrix work, as it is closer to actual math than any other language I know. For logic ish programming, Prolog or AMPL or SQL (I like SQL, even though people hate on it all the time). But, in my humble, J and APL are interesting historically, but rather crappy in comparison to…

Have you ever used J or APL seriously? If yes, what do you find so "crappy" about the notations? If no, please keep your uninformed opinion to yourself, you have no idea what you are talking about.

I have been charged with maintaining 5000 LOC of J at work, so I use it weekly or so (5-10 hours ... as little as possible...), and I have spent at least a hundred hours or so with it before that.

And my somewhat informed opinion is that J sucks ass. To start with, input/ output suck and it's hard to read and maintain -- it is the least pragmatic language I know. But what I really hate about it is the community -- full of true believers who think it's a cosmic language and "mathematical", even though you can't prove theorems in J (that's what would make it mathematical, duh), who babble about how they can calculate pi to 1000 digits in only 4 characters, as if that is remotely useful or profound (neither)

Re: Notation as a Tool of Thought

#22
post #17

Earlier quoted context omitted.

Have you ever used J or APL seriously? If yes, what do you find so "crappy" about the notations? If no, please keep your uninformed opinion to yourself, you have no idea what you are talking about.

I have been charged with maintaining 5000 LOC of J at work, so I use it weekly or so (5-10 hours ... as little as possible...), and I have spent at least a hundred hours or so with it before that. And my somewhat informed opinion is that J sucks ass. To start with, input/ output suck and it's hard to read and maintain -- it is the least pragmatic language I know. But what I really hate about it is the community -- fu…

You're maintaining 5000 lines of J code huh? Sounds like a decent sized project. If you are spending 5-10 hours every week or two maintaining it, why not have a go at replacing it with something you do know? I would love to know how it went.

As for your other throwaway comments, any code, in any language is hard to read and maintain when you don't know what you are looking at. Or, as better stated by Whitehead (whose quote led off this thread), "Of course, nothing is more incomprehensible than a symbolism which we do not understand.".

Concerning the community you "hate" for some small-minded reason, my experience has been quite the opposite, I have not found a more informed, helpful or friendly group anywhere, and this also includes the APL/k/q/A+/NARS/SAC communities (all languages designed or influenced by Iverson).

As for pragmatism, Iverson was probably one of the most pragmatic language designers in history. Don't take my word for it though, here is what Dr. Fred Brooks has to say:

I once asked Kenneth Iverson, Turing Award winner and inventor of the APL programming language, "Why is APL so easy to use?" His answer spoke volumes: "It does what you expect it to do." APL epitomizes consistency, illustrating in detail orthogonality, propriety, and generality. It also epitomizes parsimony, providing many functions with few concepts. - Fred Brooks, "The Design of Design" page 72

Post reply on HN