The argument is that my programs are shorter and faster and more correct?
> I don't think it's a good idea to use this extreme single-character, single-line style in languages not designed for it.
You think if I need to write C, that I should do things that make my program larger and slower and less correct?
That doesn't make any sense to me at all.
Yes (marginally), when those things are at odds with the tools and conventions of C, because there are serious downsides you don't list. Compiler error messages will be difficult to understand. Tools for code analysis and debugging will be less useful or even completely unusable. Most importantly, because your personal style is alien to other people you lose the ability to collaborate with other developers.
A language designed for this would mitigate most of those downsides.
If you don’t put bugs in the first place this causes very little problem in practice.
> because your personal style is alien to other people you lose the ability to collaborate with other developers.
Another solution is to expand the program by adding white space and long identifiers after it is written.
This works better for me since if someone wants to change my program it’s because they want it to do something that I didn’t.
Using multiple lines and indentation doesn't change executable code.
They make the source code larger.
That makes it harder to read.
What we're looking at here is some of its C implementation internals. They are using short identifiers and the C preprocessor to help with terseness. The justification is that this is "like APL". But there is enough C cruft there that it's not really like APL. A possibility would be to generate whatever code those C macros are generating, but with some other preprocessor which polishes the notation a little bit.
Even if those analysis tools and debuggers were developed for Q, they likely wouldn't apply to this code.
personally, i disagree with them on debugger. would be nice to have one.