Regarding the arrow of influence: a Fields medalist spent a decade coming up with a new foundation of mathematics (or at least algebraic topology), only to realise that the computer science department already teaches Coq to undergraduates!
Regarding the arrow of influence: a Fields medalist spent a decade coming up with a new foundation of mathematics (or at least algebraic topology), only to realise that the computer science department already teaches Coq to undergraduates!
I don't think this is a fair comparison. The modern computer is really distinct from everything that came before. That's because it was built according to the theory of Turing Machines.
One of the most important historical papers for the development of modern computers was the Report on the ENIAC by Von Neumann[1].
Von Neumann took the idea's of others working in the field, and was able to apply his understanding of mathematical logic to formulate the principles which led to the first working modern computer, which Von Neumann built in the basement of IAS. At that time, there was a major debate at IAS between Einstein and Von Neumann, which centered around whether or not to only do pure math at IAS, with the idea that building a computer was part of experimental science. [2]
> Regarding the arrow of influence: a Fields medalist spent a decade coming up with a new foundation of mathematics (or at least algebraic topology), only to realise that the computer science department already teaches Coq to undergraduates!
LOL! That is an interesting and funny story. However, I don't think this example demonstrates that in the future, mathematics will not be the source of improvements to code writing standards.
Question: if code writing standards improve, where else will these improvements come from other than pure mathematics? I consider this question to be a problem type similar to maximum compression algorithms, i.e. its a question whose solution can only be verified using the language of pure mathematics. Therefore it seems likely these improvements can also have their roots in pure mathematics as well. At least, I would not say it "seems unlikely"
[1] https://en.wikipedia.org/wiki/First_Draft_of_a_Report_on_the...
[2] https://www.amazon.com/Turings-Cathedral-Origins-Digital-Uni...
Programming is much more demanding, much more unforgiving in this regard, because you are talking to a stupid machine, rather than a smart human. The powers automation gives mathematicians (once you've climbed the mountain of initial unfamiliarity), are so spectacular, take the average Joe so much beyond what even Gauss, Newtown, Grothendieck or Archimedes had at their disposal, that I expect that over the next century mathematics will be rewritten to suit computing, rather than vice versa. K. Buzzards's work is one step in this direction, scriptable notebooks like Jupyter or Mathematica are another.
I agree with this. I believe pure mathematics is suffering greatly because many mathematicians refuse to fully embrace the computational power of modern technology.
My belief is the age of pretty formulas is coming to an end, and that the future of mathematics will be it focuses more and more on computational aspects of the subject, and problem sets in pure math courses will be done using programs that are much more advanced than anything which exists today, and everyone will think nothing more of those programs than we do about calculators.
Apologies for the self plug, but this has been my vision with mathinspector[1]. I've been working very hard on that, and this is why I got so interested in your statement. Thank you for clarifying your thinking here. Makes sense to me, and you could be right
I think our points of view are actually very strongly aligned. However I believe the next big idea is likely to come from outside of computer science.
Personally, I am betting on biology. So many of the most sophisticated techniques are based on biology, e.g. neural nets and genetic algorithms. I have done a lot of work on extending the theory of computation with a new axiom which gives Turing machines a self replicating axiom[1], [2]
In many parts of science, there is a cross pollination, where new ways of thinking about subject X come from a new discovery in subject Y. Typically, research will follow a group think pattern until it hits a brick wall, then you need that really big breakthrough idea. This line of reasoning leads to the conclusion, imo, that it's approximately equally likely to come from either pure computer science, or pure mathematics, or somewhere else.
[1] https://math.stackexchange.com/questions/3605352/what-is-the...
[2] https://medium.com/swlh/self-replicating-computer-programs-8...
Alan Turing invented neural nets in a little-known paper entitled Intelligent Machinery (see [1]), in 1948. Since, the use of NNs has moved away decisively from inspiration by nature. I reckon, nature's last big win in AI were convolutional NNs: Kunihiko Fukushima's neocognitron was published in 1980, and inspired by 1950s work of Hubel and Wiesel [2]. Modern deep learning is largely an exercise in distributed systems: how can you feed stacks and stacks of tensor-cores and TPUs with floating point numbers, while minimising data movement (the real bottleneck of all computing)?
Not unlike, I think, how airplanes were originally inspired by birds, but nowadays the two have mostly parted ways, for solid technical reasons.
[1] http://www.alanturing.net/turing_archive/pages/Reference%20A...
I think this comment really sums up very well what is at the core of our discussion: the future of mathematics and science.
My strong belief is that thousands of years from now, Archimedes and Gauss will still be remembered, and everything we think is great now will be forgotten while they are not. That tells me that they were much farther ahead of their times than us, even though they didn't have modern computers.
Mathematicians and computer scientists both have it totally backwards imo. On the one hand, mathematicians think they have something to teach us about computer science, but they refuse to use technology properly. On the other hand, when we write code, it's all governed by mathematical laws and there are many questions (but maybe not you know, coding standards or the philosophy of writing good code) we could really use the guiding hand of mathematicians with, and they need to catch up with the times and we programmers need to accept they have something valuable to offer and to teach us.
They can't even give meaningful names to their variables. When showing code to mathematicians we should always rename all variables with only one character. Then look down at them because they can't understand it ;)
As opposed to programming languages, where the goal is to do something practical, in pure mathematics, our goal is to create a language capable of helping our brains understand the infinite complexities of nature.
https://math.stackexchange.com/questions/24241/why-do-mathem...