3 ms·
Why do these array programmers write C like this? It's an abomination.
by queuebert 5y ago
Why do these array programmers write C like this? It's an abomination.
- avmich 5y agoThey prefer to write in their language. And to do that, produce primitives, written in C, first, and then use those primitives according to their language, not C. So from C programmer standpoint it's awful C, from J programmer standpoint it's a good middle ground between wanting to write J and the underlying language possibilities.
- rwnspace 5y agoI would love to see a J program written in a literate programming style (with the same terseness of code). Though I'm sure that idea seems like anathema to most of those people! Edit: thanks very much to commenters below for showing how wrong I was to assume the above :)
- razetime 5y agoThere are many, many array programmers who choose to write in a literate style. Popular code examples written for toy challenges often tend to be smart one liners whose algorithms cannot be easily put in multiple lines, so they may look unreadable for people unfamiliar with the languages. A terse compact code style often works well with the language's design. If you'd like some examples of traditionally literate array programming, you can see: - tangentstorm's J streams: https://www.twitch.tv/tangentstorm https://www.twitch.tv/tangentstorm - tangentstorm's J repositories: https://github.com/tangentstorm?tab=repositories&q=&type=&language=j&sort= https://github.com/tangentstorm?tab=repositories&q=&type=&la... - Dyalog's APL repositories: https://github.com/orgs/Dyalog/repositories?q=&type=&language=apl&sort= https://github.com/orgs/Dyalog/repositories?q=&type=&languag...
- rscho 5y agoNot at all anathema. Many array programmers are very big on code documentation. J has joxygen to generate html docs from comments and JOD which is a code dictionary system. https://analyzethedatanotthedrivel.org/the-jod-page/ https://analyzethedatanotthedrivel.org/the-jod-page/ https://code.jsoftware.com/wiki/Vocabulary/Libraries https://code.jsoftware.com/wiki/Vocabulary/Libraries
- razetime 5y agoSome array programmers inspired by Arthur Whitney write code like this. I wouldn't call it an abomination per se, it's a specific style meant for a specific person. They find that way of writing C to be nice. It's somewhat popular among people who implement K-like array languages. A usual result of using array languages is a want to have that same terseness in other languages. Array languages usually deviate from the style and aesthetic of general programming languages. It may be jarring to look at, but as with anything, a little experience with using them can go a long way with understanding why many people work with something so "unreadable".
- deleted 5y ago[deleted]
- tromp 5y agoIt would make half-decent entry to The International Obfuscated C Code Contest though... https://www.ioccc.org/ https://www.ioccc.org/
- klyrs 5y agoI think it's beautiful. You might prefer to read 20 pages of code. And, me too. But this is a puzzle, and it intrigues me, so I read a good quarter of this. If it was 20 pages long, I probably wouldn't have gotten that far