Already I needed it more than once for my answer to: What are the disadvantages of not handling big numbers?
5 Answers
I concur.
MathJax would be useful for this site. Most posts won't need it, but some will, and having MathJax will make the site more attractive to academics interested in programming languages.
- 3$\begingroup$ Agreed—it can be added through a third-party extension or userscript, but that’s not helpful for new users. When I’ve needed math rendering so far, I’ve written the MathJax LaTeX that I want to write in a comment (
<!--…-->) followed by a Markdown/HTML approximation. So if we get first-party support, my posts are ready to upgrade! The MathJax demo serves as a preview/scratchpad. $\endgroup$Jon Purdy– Jon Purdy2023-05-30 17:47:14 +00:00Commented May 30, 2023 at 17:47
Since Stack Exchange staff have said this will only be enabled if we can show sufficiently many posts which would use MathJax if it was enabled, let's build a list of such posts on this site.
MathJax is now enabled! If you want to be helpful, please make appropriate edits to improve the mathematics formatting in these posts. (Use <s> tags to mark posts which have been edited.)
https://langdev.stackexchange.com/a/156https://langdev.stackexchange.com/a/438https://langdev.stackexchange.com/a/856https://langdev.stackexchange.com/a/868https://langdev.stackexchange.com/a/914https://langdev.stackexchange.com/a/1036https://langdev.stackexchange.com/a/1188Can something like a Donkey Sentence exist in a programming language?How to avoid hidden performance problems in functional interfaces?https://langdev.stackexchange.com/a/1585https://langdev.stackexchange.com/a/1696https://langdev.stackexchange.com/a/1697https://langdev.stackexchange.com/a/1780How can we define a denotational semantics for recursive functions?https://langdev.stackexchange.com/a/1954https://langdev.stackexchange.com/a/2021https://langdev.stackexchange.com/a/2083https://langdev.stackexchange.com/a/2363https://langdev.stackexchange.com/a/2429https://langdev.stackexchange.com/a/2489https://langdev.stackexchange.com/a/2652https://langdev.stackexchange.com/a/2684
Maybe
The main place where it's going to help a lot is a question or answer that's heavy in theory. Some examples:
- Formal verification and synthesis, such as synthesising instruction selection templates from machine descriptions, proof-carrying code, and understanding the JVM bytecode loader.
- The more mathematical aspects of compiler implementation, such as flow analysis, lattice theory, and the thorny question of what floating point optimisations are "safe".
- Anything to do with formal languages and types, such as the theory behind LR parsers, type inference algorithms, and understanding the syntax of ALGOL 68 (IYKYK).
There are plenty of questions in this space that would be on topic. But so far, questions like this seem rare.
- 1$\begingroup$ Is there any reason why you would not want MathJax enabled? $\endgroup$Nike Dattani– Nike Dattani2023-05-19 01:19:37 +00:00Commented May 19, 2023 at 1:19
- 4$\begingroup$ I presume that if there were no downsides, it would be enabled in more places. I hope someone explains that. $\endgroup$Pseudonym– Pseudonym2023-05-19 01:22:16 +00:00Commented May 19, 2023 at 1:22
- 3$\begingroup$ @Pseudonym I believe it has to do with resource/bandwidth consumption, I think for SE not for users. $\endgroup$rydwolf– rydwolf2023-05-27 02:13:00 +00:00Commented May 27, 2023 at 2:13
- $\begingroup$ @RydwolfPrograms I figured it was something like that. So I stand by my answer of "maybe". It wouldn't be useless, but the number of questions/answer that it would be very useful for is tiny right now. $\endgroup$Pseudonym– Pseudonym2023-05-29 00:19:44 +00:00Commented May 29, 2023 at 0:19
- 2$\begingroup$ @Pseudonym I think that 10+ years ago the decision for it to not automatically load across all pages in each site was indeed due to resource/bandwidth consumption, and page load time for users. A lot as changed on both server and client side (fixed or mobile) both in bandwidth and hardware. I'm not sure loading mathjax automatically has the same impact it did back when SE was first designed. $\endgroup$user657– user6572023-06-02 01:08:03 +00:00Commented Jun 2, 2023 at 1:08
- $\begingroup$ @RydwolfPrograms ditto. $\endgroup$user657– user6572023-06-02 01:09:59 +00:00Commented Jun 2, 2023 at 1:09
Adin Falkoff, an IBM programming systems designer, said:
programming and mathematics are inseparable
It is certainly reasonable to use mathematical formulas to describe behavior and characteristics of programming constructs. In fact, IBM's System/360 (which developed into today's z/Architecture, and arguably is the forebearer of all modern computing systems) was formally described using a mathematical notation.
- 3$\begingroup$ wouldn't this equally be an argument to enable MathJax on SO? (and yet it isn't for other reasons, so are you implying that those other reasons don't apply here?) $\endgroup$starball– starball2023-06-02 21:31:13 +00:00Commented Jun 2, 2023 at 21:31
- $\begingroup$ @starball what are the reasons? $\endgroup$Nike Dattani– Nike Dattani2023-06-03 00:05:51 +00:00Commented Jun 3, 2023 at 0:05
- 2$\begingroup$ @NikeDattani performance is a big one. need is another. meta.stackoverflow.com/q/252282/11107541, meta.stackoverflow.com/q/396502/11107541, meta.stackoverflow.com/q/356171/11107541 $\endgroup$starball– starball2023-06-03 00:08:37 +00:00Commented Jun 3, 2023 at 0:08
- $\begingroup$ @starball (1) Why did you include the second link? Just to show that there's only 1 user (Makoto) other than Nick Craver, who combined are the only two people who have written answers against enabling MathJax on SO? (2) "need" is not a reason "not" to enable MathJax, it looks like you're double counting here: either there's enough need for the performance hit to be worth it, or there's not enough need for the performance hit to be worth it ... these would fall under 1 reason not 2. (3) As for performance, can you provide the data requested in the following comment please? $\endgroup$Nike Dattani– Nike Dattani2023-06-03 00:14:58 +00:00Commented Jun 3, 2023 at 0:14
- $\begingroup$ ^ meta.stackoverflow.com/questions/252282/… $\endgroup$Nike Dattani– Nike Dattani2023-06-03 00:15:01 +00:00Commented Jun 3, 2023 at 0:15
At this time, we are declining the request to enable MathJax. Given that there seems to be a healthy amount of debate on its merits and the value it may or may not bring, I think we need to give this one a bit more time.
While I understand that some questions might benefit from it, I am hesitant to enable something that can impact page performance this early in the site's existence without a strong need demonstrated.
I want to revisit this topic in public beta when a more concrete need has been demonstrated.
- 7$\begingroup$ How can such a "concrete need" be demonstrated? The posts which need MathJax are the ones that can't be written until it is enabled, or at least can't be written the way the author would want to write them, but we can't demonstrate the need by pointing at posts which don't exist. If there is some criterion that this will be judged on when we're in public beta, please tell us what that criterion will be. $\endgroup$kaya3– kaya32023-05-31 17:55:02 +00:00Commented May 31, 2023 at 17:55
- 4$\begingroup$ I don't think a "criterion" is the best way to decide this, because people can "game" the criterion by asking a bunch of formal language theory questions until we reach the minimum number of MathJax posts. Instead, the decision should be based on what the community wants, rather than what people who don't plan to post any questions/answers on the site think that we want. Another problem with not including MathJax during Private beta, is that this is a time to experiment and learn what we want on the Public version of the site. We can't do that if we can't ask the more mathematical questions. $\endgroup$Nike Dattani– Nike Dattani2023-05-31 18:04:35 +00:00Commented May 31, 2023 at 18:04
- 2$\begingroup$ @NikeDattani Absolutely agreed ─ the decision should be based on what the community wants, not on what SE staff decide we need. Even so, if the decision is going to be based on us "demonstrating a concrete need", I think we need to know how that is supposed to work. As far as I can see, it is impossible to demonstrate such a need, because a lack of posts using MathJax isn't evidence we need MathJax. If not an objective criterion, perhaps SpencerG can describe some hypothetical scenarios in which he can imagine that the need for MathJax would be demonstrated. $\endgroup$kaya3– kaya32023-05-31 18:23:50 +00:00Commented May 31, 2023 at 18:23
- 5$\begingroup$ John Purdy wanted to use MathJax in at least 44% of his 9 answers: see this languagedesign.stackexchange.com/a/438/34 and languagedesign.stackexchange.com/a/1188/34, and click on "edit" to see the comments that he left in languagedesign.stackexchange.com/a/868/34, and languagedesign.stackexchange.com/posts/914/edit (there might be more that I missed). In terms of demonstrating a need, we should be the ones judging whether or not there's a need for it or if the 0.1 seconds delay in loading is a concern. We can establish a criteria among ourselves. $\endgroup$Nike Dattani– Nike Dattani2023-05-31 18:53:33 +00:00Commented May 31, 2023 at 18:53
- 5$\begingroup$ I understand the frustration, folks, but we're treating this request in exactly the same way we've been treating similar requests in the past. An example: Blender requested MathJax be turned on; we originally declined the request (providing reasoning), and asked for many examples of where it would be useful; the community compiled those examples; and we then turned MathJax on. $\endgroup$2023-06-01 09:36:20 +00:00Commented Jun 1, 2023 at 9:36
- 3$\begingroup$ While an absolute threshold to be achieved has never been formally defined, pointing to just a handful of (or less) posts as justification for enabling this has generally been insufficient for us to do so. Discussion like the one we're having here has always been a part of the process, which generally entails the community showing that there is a need for the feature, not predicting there will be. $\endgroup$2023-06-01 09:36:23 +00:00Commented Jun 1, 2023 at 9:36
- 8$\begingroup$ It's not true that this is being treated exactly like it was for other sites. See Matter Modeling and Proof Assistants. We've also given at least 6 examples already. Let us decide what we want. If there's a performance hit, it's a client-side one and it's for us to worry about. $\endgroup$Nike Dattani– Nike Dattani2023-06-01 13:55:06 +00:00Commented Jun 1, 2023 at 13:55
- 4$\begingroup$ We ask again. $\endgroup$The Empty String Photographer– The Empty String Photographer2023-07-14 12:52:04 +00:00Commented Jul 14, 2023 at 12:52
SO gets 3.6k visits/day, 6 million visits/dayHow is that supposed to work? $\endgroup$$\mathbb{R}$then the output would beℝ. If people write$x_{16}$then the end result would bex₁₆. Most webpages contain lots of unicode characters which load quickly. Unicode is faster to load than LaTeX or MathJax. Additional examples are as follows: (Example 3 (INPUT$**\neq**$) (OUTPUT≠) ) and (Example 4 (INPUT$\Sigma$) (OUTPUT**Σ**) ) $\endgroup$