45 ms·
> I was referring to https://en.wikipedia.org/wiki/Write-only_language https://en.wikipedia.org/wiki/Write-only_language and seems like Mathematica is the only
by b215826 5y ago
> I was referring to https://en.wikipedia.org/wiki/Write-only_language https://en.wikipedia.org/wiki/Write-only_language and seems like Mathematica is the only CAS on the list.
Interesting, and thanks for the link. I didn't know such a term existed, although I'm a bit disappointed to see C and Lisp in the list, which some consider to be extremely well-designed languages.
> Another way to think about it is, it is not a language that one can just write a program on its own. It almost must be developed interactively. And because of that nature, it is easy to lose track when it is getting long.
I agree. Although Wolfram Inc. has been pushing WolframScript and Wolfram Engine (and the IntelliJ IDEA plugin), at the end of the day the Wolfram language is best suited for interactive development, i.e., through the Notebook interface. And Mathematica Notebooks do not play well with most version control systems and are best treated as binary files.
- KolenCh 5y agoI agree C kind of stand out from that list (I don't know lisp). But I think as C is a small language, some people can write pretty simple to read C. But I guess the term is used to describe C as well because of how "close to metal" it is, and people can do some insane things to optimize their code, in a way that becomes "write-only". One example might be Linux kernel code? Another example from what I heard directly: A few years ago, from one of the project nominated for the Gordon Bell prize, one of the Scientist showed us their code. For perspective, this was to be run on Intel KNL so it is extra hard for the compiler to optimize it well. Since our machine is from Intel (and the contract stated they will provide support), Intel engineers were involved in optimizing a kernel. In the end they generated hundreds of lines of C code and committed to the code base directly. It was partly because it is time-sensitive so they can't wait until they modify the Intel compiler to optimize that code, so they sort of optimize it manually. Now if you read that source code, there's no way you can modify it, rightly fit into the description of "write-only" language. Also, there's a less well known term of read-only language. I can't find a wiki page for that. But I think AppleScript is on the list, because you know, reading an AppleScript makes it looks quite straight forward it should be written this way, but if you're asked to reproduce it or write something similar, you can't. Hence read-only. Edit: It was described in earlier history of the same wikipedia page but was removed: https://en.wikipedia.org/w/index.php?title=Write-only_language&oldid=878704915 https://en.wikipedia.org/w/index.php?title=Write-only_langua...