J uses ASCII. Built-in symbols use dot (.) and colon (:) as part of a symbol. In J vocabulary, https://www.jsoftware.com/help/dictionary/vocabul.htm , I counted less than 150 built-in symbols. Even if you double it as monadic/dyadic variations, that's less than 300. I definitely don't know many of them, and still able to write some programs, like a parser generator; I think those symbols are closer to a standard library - i.e. with C we need to get familiar with printf, getc or strcpy. As with mathematics in elementary school, you start with few simpler ones, then gradually add some more useful ones, then the rest is optional for cases when you want or need them.
In practice a lot of J symbols are either already known or rather obvious.
It's like a standard library except it's harder to search for the symbol you want via autocomplete, harder to infer the meaning of symbols you don't know (even when the C standard library has some terrible names) and easier to confuse (from the page, having symbols like ,. and .. or ,: and .:).
Of course, I assume that people end up knowing most of them and that not all of them are necessary. I'm not arguing that, I'm saying that symbols are an extra cognitive load and I find it funny that the argument for them is "well this is how is done in math" when precisely there's a push in math to avoid using excessive symbols.
Comments
J uses ASCII. Built-in symbols use dot (.) and colon (:) as part of a symbol. In J vocabulary, https://www.jsoftware.com/help/dictionary/vocabul.htm , I counted less than 150 built-in symbols. Even if you double it as monadic/dyadic variations, that's less than 300. I definitely don't know many of them, and still able to write some programs, like a parser generator; I think those symbols are closer to a standard library - i.e. with C we need to get familiar with printf, getc or strcpy. As with mathematics in elementary school, you start with few simpler ones, then gradually add some more useful ones, then the rest is optional for cases when you want or need them.
In practice a lot of J symbols are either already known or rather obvious.
It's like a standard library except it's harder to search for the symbol you want via autocomplete, harder to infer the meaning of symbols you don't know (even when the C standard library has some terrible names) and easier to confuse (from the page, having symbols like ,. and .. or ,: and .:).
Of course, I assume that people end up knowing most of them and that not all of them are necessary. I'm not arguing that, I'm saying that symbols are an extra cognitive load and I find it funny that the argument for them is "well this is how is done in math" when precisely there's a push in math to avoid using excessive symbols.