3 ms·
Even more productive: ask yourself, is this really the best way to accomplish this? Why are we doing it this way? Is the standard solution bound by some const
by lisper 3y ago
Even more productive: ask yourself, is this really the best way to accomplish this? Why are we doing it this way? Is the standard solution bound by some constraint that was valid in its time but can now be discharged?
My canonical example for this is standard mathematical notation, which was invented before computers and optimized for quill pens and chalk boards. How much leverage could you get by discarding it and starting over with something a computer can more easily process, like, say, s-expressions?
Or... most programming languages use ascii for their standard syntax but nowadays we have unicode. How much leverage can you get by using more non-ascii characters, like, say, «balanced quotation marks»?
- constantly 3y agoThis is awesome. Glad we can improve on the “thought leadership” of theoretical people like Terrance Tao with some real titans’ advice like yours (I see you were a software engineer at Google!!!). Thanks for sharing.
- electrondood 3y agoDropped the /s
- constantly 3y agoYeah, true. I was being subtle. This narcissist is framing things as "even better" in comparison to someone who is likely, literally, the most intelligent person currently alive.
- Tainnor 3y agoThere is at least one person commenting that mathematical notation is stupid in every maths submission on HN, and the author usually never gives any indication as to having made any contributions towards mathematical research. It's an inevitability at this point.
- xanderlewis 3y ago> likely, literally, the most intelligent person currently alive. Why do people always seem to say this about Tao? What makes him different from, say, other recent Fields medalists? I feel like it has something to do with having been a child prodigy more than anything else (and because he’s somehow known to laypeople worldwide when other names aren’t). I’m not even sure what the most intelligent person is supposed to mean, especially when the domain of expertise is so narrow. I have no particular opinion on the man; it’s a genuine question.
- lisper 3y agoDude, it was just a suggestion. Lighten up.
- kragen 3y agoi'm interested to hear what you think of structure and interpretation of classical mechanics
- lisper 3y agoI thought it had a noble goal but it fell far short of the mark. I see at least two big problems with it. First, their notation is a definite improvement on traditional notation in that it can in principle be translated into s-expressions and thus at least potentially avoids the ambiguity of traditional notation. However, it still looks like traditional notation and so it still inherits many of the problems of that notation, not least of which is that parsing it is really hard, even for humans. The fact that all of the formulas in the on-line version of the book are rendered as gifs is symptomatic of this. If you want to actually follow the program of the book and run the code that corresponds to the formulas, you have to render the formulas into Scheme by hand. Well, OK, you could just use the on-line code, but that's cheating. The whole point (or at least a big part of the point) of the notation was supposed to be that mapping it onto s-expressions was supposed to be simple, and it's not. Second, and much more seriously, they don't actually follow their own rules. Look at equation 1.1. I can't reproduce it here because it's a gif, but I can reproduce a reasonable facsimile of some of the following explanatory text, which goes: ... where F[gamma] is a function of time ... The problem is that F[anything] is not the notation for a function. Functions are denoted simply by letters, and the values of functions are denoted by juxtaposing the name of the function with a list of arguments delimited by parens (which overloads the meaning of parens because they also denote up-tuples, but we'll let that slide). So F is a function, but F[gamma] is not, it is ... what? A function juxtaposed with a 1-element down-tuple? If you look carefully, you will notice a footnote that kinda sorta explains this: "Traditionally, square brackets are put around functional arguments. In this case, the square brackets remind us that the value of may depend on the function in complicated ways, such as through its derivatives." So they very carefully describe a precise notation, and then in the very first equation in the book they abandon that notation and use a completely different notation that indicates that something may depend on something else in unspecified but potentially complicated ways. Worse, it now adds even more ambiguity to the notation, because now both parens and square brackets are ambiguous with respect to whether they are denoting function arguments or up/down tuples. So we've already run off the rails before we've even begun. I give it an A for effort, a D- for execution.
- Tainnor 3y agoMost mathematics isn't written for computers, but for humans, so that's why mathematical notation is optimised for that use case. If you want to write mathematics for computers, you can use Coq, Lean, etc. - or, in a different direction, Mathematica.
- lisper 3y ago> Most mathematics isn't written for computers I beg to differ. A lot of mathematics is written in LaTeX which is written for computers to render into traditional notation. No one uses LaTeX directly because it has a horrific syntax, but it doesn't have to be that way. There is no reason why one could not invent a notation that didn't require complex rendering. Programming languages are an existence proof.
- Tainnor 3y agoThat is not what I mean by "for humans". Also, LaTeX != mathematical notation.
- lisper 3y agoWhat did you mean then? (And it's true that LaTeX is not equal to mathematical notation, but it does contain a mathematical notation as a subset.)
- Tainnor 3y agoMathematical papers, textbooks, lecture notes, in-person and video lectures, etc. are produced and consumed by humans and not computers.
- lisper 3y agoWell, duh, nothing is consumed by a computer for its own sake. The only reason to feed anything into a computer is so that what you feed in can be processed to produce something that is useful for humans. That doesn't change the fact that a notation developed when paper and ink were state-of-the-art technology may no longer be optimal in an age of keyboards and screens.
- hcks 3y agoYeah I’m sure what’s missing in mathematics is miles of parentheses