Thanks for understanding, math is a small field without money for things like this, there is no way anyone should expect those niche papers to be as well documented as big programming projects used by millions.
If you still think that is a problem then start some open source organization to fix that. Nobody has done that yet though since so few people care about math papers, but since you feel so strongly about this you could do it, someone has to be the one to start it.
No, I mean, well, it's very understandable when you describe it that way. Actually, I think your post here changed my perception of the problem the most out of all discussions I had on the subject. It made me think about people who are behind the papers. I somehow missed it. Thank you.
(And, sorry for being a jerk in this thread. I said too much in a few places, exactly because I didn't think of innocent mathematicians who might read it. I'm still convinced that there is a lot that math can borrow from CS and SE, but I'm definitely going to argue this differently.)
I wrote one math paper before I went into programming. It is a lot of work, like code reviewing but much much longer. It isn't fun. A big reason I got into programming is because that process is so much work. Of course I, the professor who reviewed it and the professors who looked at it afterwards understood it, but I can't guarantee that someone who hasn't read a lot about research level topology or combinatorics will easily understand much at all. However I doubt that anyone who didn't do those things will ever read it since it is an uninteresting niche topic. I'd be surprised if even 10 people read it fully.
Yeah, I didn't think about it at all - I didn't realize that what I'm saying is basically demanding people to work for free (and on things that won't be useful to anyone in 99% of cases), and that's on top of already huge effort that is writing the paper in the first place. Honestly, I was behaving like people who open tickets in an open source project just to demand that someone implements a particular feature, just for them, and right now. I dislike such behavior, and realizing that I'm doing the same hit me hard :)
Anyway, lots of mathematicians works really hard to make everything as understandable as possible. Learning programming isn't the same thing as learning math. In programming you learn an instruction set, and then you use those instructions to compose programs, therefore learning that instruction set is relatively easy. Mathematics isn't like that at all, instead you just continue to learn ever more complex instruction sets, you don't compose much at all in mathematics because the new instructions typically can't be expressed using the old ones. Therefore learning the instruction set in math is equivalent to learning math, it isn't something you just do once and then is done with it, learning the instruction set is close to the entirety of learning math.
For example, when learning programming you have to learn about arithmetics, pointers, functions and structs. And that is it, now you can program everything as long as you have an API to program against since everything else builds on top of those. That is equivalent to learning algebra in math. You can do a lot of things using algebra, but every new course introduces a lot of new concepts that can't be expressed in elementary algebra. Programming however becomes the art of expressing everything using these very simple instructions, while math is the art of creating instructions that can express things simply.
> Anyway, lots of mathematicians works really hard to make everything as understandable as possible
You just said they don't because it's not worth it. So which is it in the end?
> In programming you learn an instruction set, and then you use those instructions to compose programs, therefore learning that instruction set is relatively easy.
Yeah, sure. Elementary arithmetic, like 22 and so on, is also not that hard to learn. What you're saying is barely scratching the surface of what programming is, then misrepresent it as the whole truth.
It's not that programming is easy. It's just that you can still earn a very good salary without ever touching the harder and more complex parts. People who knew how to do 22 were also well-paid at some point in the past, yet Euclid still managed to write his Elements. You're like an actuary (working under a Pharaoh to count the cattle, let's say) who says that writing Elements is as easy as his current job (you could do it yourself, but you're too busy right now, so maybe later).
> For example, when learning programming you have to learn about arithmetics, pointers, functions and structs.
And then you try to write a JIT for a dynamic (and concurrent, let's say, as Erlang succeeded in this in the last release) language and, with just "arithmetics, pointers, functions and structs", it becomes obvious it's not nearly enough. Then you start reading books and papers and soon you realize that 5 years have just passed. And JITs are not really that complex!
> Programming however becomes the art of expressing everything using these very simple instructions.
Programming is an art of creating new instructions, both out of thin air and out of already existing instructions. The fact that you seem to think "the instruction set" (meaning concepts that have to be understood, I think?) is constant suggests to me that you you're not very interested in history of the field.
> And then you try to write a JIT for a dynamic (and concurrent, let's say, as Erlang succeeded in this in the last release) language and, with just "arithmetics, pointers, functions and structs", it becomes obvious it's not nearly enough. Then you start reading books and papers and soon you realize that 5 years have just passed. And JITs are not really that complex!
I actually wrote a JIT for one of Googles internal machine learning frameworks, so yes. It was used in production for Google search, Google ads etc. Only a very small part of that traffic, of course, I didn't do something huge, but at least I know what it takes to make such systems production ready and performant enough, as these systems are extreme resource hogs. So I know very well what it takes to create a language, parse it, execute it, optimize it and ensure that there are no errors in production and help the researchers who are supposed to use it to debug when errors happen.
I learned programming by just implementing a lot of complex algorithms and systems. I wrote several high throughput http servers using sockets and threads for example. I also got good enough at competitive programming to occasionally place in single digits in some world programming competitions, but mostly double digits. All of that is very easy to understand compared to math, math just forces you to bend your mind in strange ways, programming is super concrete.
I have no doubts that programming will one day get as deep and mindbending as math, physics definitely is for example, but today it isn't even close.
Thank you. There's nothing else left to discuss.