top | item 26939292

The Two Cultures of Mathematics (2000) [pdf]

145 points| vector_spaces | 4 years ago |dpmms.cam.ac.uk | reply

69 comments

order
[+] josephg|4 years ago|reply
I wrote a blog post a few years ago[1] making a similar claim about computer science. I said there’s 3 main camps of programmers:

- People who enjoy programming because it’s mathematically beautiful (eg Haskell programmers)

- People who enjoy programming because they like reasoning about machines, and like mechanical sympathy (eg C programmers)

- And people who like programming because it can solve real problems for their users.

I got pushback here and elsewhere that lots of people fit into multiple camps - which makes sense. Maybe they’re better described as an ecology of values. But I also think there’s something real here. I worked in a consulting shop a few years ago and my boss came back from some front end development conference gushing about a talk he’d seen that I had to watch. The talk was a layman’s description of FP’s immutability approach applied to react. My boss had never heard of immutability before because it had never come up in front end web development circles. There’s lots of opportunities for our software to improve by cross contaminating all our best ideas.

[1] https://josephg.com/blog/3-tribes/

[+] kebman|4 years ago|reply
I like C-like programming languages, and I like to solve real world problems for my users. So two camps, I guess. Moreover I was always that annoying kid in class who would ask the teacher, “but what use is that?” Often the teacher couldn't even answer this very simple question, and every time that happened it left me really unmotivated to learn. The epiphany came in Upper Secondary school when a math teacher shushed the other pupils and actually took his time to tell me what {insert abstract math topic here} was actually good for. This changed a lot for me, but as far as grades go, it was already too late. Though at least it left me interested enough to research some things on my spare time, so when I finally came to the university, I almost couldn't believe my own eyes when I started to get good grades on (for me) pretty advanced math topics. I obviously still have a pretty big disadvantage in mathematics, but researching things that require stuff like abstract algebra and calculus is now much less of a hurdle for me.
[+] Karrot_Kream|4 years ago|reply
Fantastic! Thanks for this. The FP vs non-FP split has always just felt like a less rigorous version of the "analysis vs algebra" or "problem-solving vs theoretical" discussion and I'm glad I'm not alone in thinking this.

This is also what rubs me the wrong way about the simplistic level with which FP languages (like Haskell or Scala+monads) are either cargo culted or hated. The truth is, the two perspectives really go hand-in-hand, and we're all the worse for not realizing this.

[+] 29athrowaway|4 years ago|reply
And people that do not care about any of those things and just want a paycheck, or to be promoted so that they do not have to code anymore (95% of developers worldwide).

Unfortunately the people that get excited building things is outnumbered by the people that is just in this for the money.

[+] bluetomcat|4 years ago|reply
Those 3 categories fall into the broader category of "enthusiastic programmers" which aren't the majority from my experience. Most people want to leave the office knowing that they have made some progress with their assigned work, knowing that they haven't screwed anything generally and being able to sleep at night.

The thing about being "enthusiastic" is that certain cultures and organizations wouldn't at all recognise it and an otherwise enthusiastic programmer can easily become a drudge when the business requirements are just some company-specific internal rules changing all the time.

[+] ukj|4 years ago|reply
The trivial way to unify all camps is to view it from the lens of expressionism/self-expression.

Mathematicians want to express equational reasoning/identities.

Computer scientists want to express computations.

Translation/bridging the gap will be a whole lot easier when both camps answered the trivial 'Why?' question which contextualises the reason for doing whatever it is that you are doing.

People without shared goals have the tendency to speak right past each other.

[+] enriquto|4 years ago|reply
> wrote a blog post a few years ago[1]

I thoroughly enjoyed your post at the time!

One thing that I disliked, though, was the inaccurate caricaturing of people on camp 2. For example:

> Low level languages are often better than high level languages because you can be more explicit about what the computer will do when it executes your code. (Thus you have more room to optimize).

My concern is the last parenthesis. I am squarely on camp 2, but I'm almost never concerned for optimization. I want my code to be very explicit because I want to understand clearly what it does (thus I hate C++ and other untoward abstractions). Thus clarity is the main motivation, not efficiency as you put it.

[+] jerf|4 years ago|reply
"I got pushback here and elsewhere that lots of people fit into multiple camps - which makes sense."

People do fit into multiple camps... however, the camps definitely exist.

One of the several reasons I didn't go into academia, and one of the bigger ones overall, is that I could tell I wanted to split the difference between the "practicals" and the "mathematicians". And while this may not have been impossible, it was certainly at the very least a "high risk" move, because you end up with the support of neither camp, and there aren't enough people in the middle to make up for it.

[+] throwaway17_17|4 years ago|reply
I remember reading one of threads on your post here. The level of depth that the commenters went into regarding every possible permutation and exception to the broad classification were astounding.
[+] globular-toast|4 years ago|reply
For me, these are three different hats that I keep on my hatstand. I like them all. The dream is to wear all three at once and get paid for it. But, in practice, I'm always wearing hat 3 when I'm getting paid and, if I'm lucky, I can put on one of the other two for a while too. However, I have worked with many people who appear to never switch hats.
[+] tarsinge|4 years ago|reply
Interesting. I am definitely of the third kind since I'm a kid. But with the years I've come to appreciate mathematics (maybe FP was a gateway), and machines through wanting more real world connection, learning electronics and building physical things. Totally agree with your conclusion, no matter the path, all these aspects are important.
[+] pjmlp|4 years ago|reply
I belong to the camp that enjoys programing in a beautiful way and has experiemented languages that are capable of achieving mechanical sympathy without having to deal with C.
[+] colour|4 years ago|reply
You bluntly imply that j.blow wouldn't perish from using unity, but offloading to monopolies is really just a race to the bottom.
[+] quickthrower2|4 years ago|reply
I’m a multi camper as I studied maths but originally got into programming as a creative pursuit. Guess us multis are going to pipe up!
[+] stared|4 years ago|reply
The camp 3 is called "professional programmers". I mean:

- sometimes a practical problem benefits greatly from a well-designed high-level abstraction,

- sometimes a practical problem strictly requires low-level optimization.

And yes, it is totally fine to have one's inclination in general, pursue them to any level in their free time, or in some (but not all) academic research. Yet, if a professional software engineer consistently favours one of these motivations over adding value to the product, usually there are frictions in the workplace.

I guess you all know "let's rewrite it to Haskell" people, or ones using their favourite paradigm for everything, and against everyone. Or ones that squeeze 20% performance in a place of code that does not matter at all for the end user experience.

[+] dang|4 years ago|reply
Some past threads:

The two cultures of mathematics and biology - https://news.ycombinator.com/item?id=8819811 - Dec 2014 (69 comments)

The Two Cultures of Mathematics (2000) [pdf] - https://news.ycombinator.com/item?id=7970284 - July 2014 (28 comments)

"Problem Solvers" vs "Theory Developers": The Two Cultures of Mathematics. [pdf] - https://news.ycombinator.com/item?id=682913 - July 2009 (5 comments)

[+] alberto_ol|4 years ago|reply
the first thred "The two cultures of mathematics and biology" is not the same essay
[+] ukj|4 years ago|reply
This paper makes a ton of brilliant points all of which strongly resonate with me:

* The results that will last are the ones that can be organized coherently and explained economically to future generations (yes! effective compression!)

* How effectively a result can be communicated to another mathematician (and perhaps even s/mathematician/person/)

90% of my time spend 'studying mathematics' is spent lexing the notation. What do those symbols even mean? I can't even copy-paste this into Google to get any meaningful results!!!!!!!!!!!!@#!$@#$@#$@#$#@!$@#$

Have you noticed how we don't have this problem in Computer Science? Because the source code gives you the context in which to interpret the meaning of the grammar!

Homoiconicity is the panacea of formal languages.

[+] frakt0x90|4 years ago|reply
I do think there needs to be a better search system for latex/math symbols. That would be amazing. As far as using the notation, I forget where I read this but I remember seeing that one excuse for the use of abstract symbols is keep the ideas abstract so as to not narrow your mind into just what you're working on. So many areas of math cross over so keeping things abstract could aid in that recognition.
[+] theflyinghorse|4 years ago|reply
I remember in our intro to AI course our prof would sometime run out of English letters for symbols, then start introducing German ones, and eventually start using triangles and squares for stuff
[+] dan-robertson|4 years ago|reply
In case it is not familiar, the title of this alludes to https://en.m.wikipedia.org/wiki/The_Two_Cultures
[+] jonsen|4 years ago|reply
Thanks. I didn’t know this. So it’s a recursive phenomenon and as culture continues developing we can expect quite a mess of a fractal. That would explain the noticeable decline in ability of holistic judgement and the rise of kompetencelessness.
[+] sdenton4|4 years ago|reply
Just to also a couple existing comments here, a problem solver is not necessarily an applied person or an engineer. It's someone who looks for interesting unsolved questions, and invents what needs inventing to get a solution.

By contrast, an engineer uses well established techniques (with creativity!) to build bridges that they know can be built. Diving into unsolved mathematical problems - especially the ones that have picked up a reputation - is inherently a riskier endeavor.

As the text says: 'the interesting problems tend to be open precisely because the established techniques cannot easily be applied.'

[+] piadista|4 years ago|reply
Actually the late Prof Leo Breiman expanded this metaphor into the statistical modelling world. The two cultures being the explanatory and predictive modelling folk.

The explanatory modelling culture (that he calls the data modelling culture) being those that first come up with a guess of how the data is generated and then try to test that hypothesis using goodness of fit measures, and the predictive modelling culture (he calls algorithmic modelling culture) being the modern machine learning researchers that are purely interested in predictive power.

The full essay is here: https://projecteuclid.org/journals/statistical-science/volum...

[+] isolli|4 years ago|reply
Only tangentially related, but a friend of mine had to interrupt his doctoral thesis in mathematics because the set he was studying turned out to be empty. This gave a lot of ammunition to our Russian colleagues, who routinely make fun of French mathematicians for being far too ensconced in theory.
[+] dTal|4 years ago|reply
That still sounds like an interesting and publishable result, if unfortunate if you're trying to spin an entire PhD out of it.
[+] throwaway17_17|4 years ago|reply
I feel like I could sit down and rewrite this, in a couple of hours, to be about Computer Science, but the practical field and the educational as well.

I mean, I could feasibly include this sentence as a quote, depending on which aspect of CS I was talking about (academic CS and language design in particular): ‘It is that the subjects that appeal to theory-builders are, at the moment, much more fashionable than the ones that appeal to problem-solvers.’

It is an interesting article and I will look forward to any discussion about it, especially the correlation to CS and development.

[+] graycat|4 years ago|reply
From my experience, among academic computer science professors, the attitude is that computer science is about the "fundamentals" of computing.

E.g., once I was talking with such a computer science professor and listing features I wanted in a better programming language, and immediately his reaction was that for a professor developing such a language would be "academic suicide".

[+] thomasahle|4 years ago|reply
Unfortunately the article quickly descends into a long defence of the merits of Combinatorics, rather than a description of the two cultures.

Since combinatorics are so ubiquitious today in computer science, algorithms in particular, it would be more interesting for me to better understand the "algebraic number theory and differential geometry" world thst the author continously refers to.

I guess I should just read the Michael Atiyah interview that this article sometimes feel like a direct reply to.

[+] QuesnayJr|4 years ago|reply
It's a real phenomenon that you see at elite departments. I got into an argument here in the comment section with a mathematician on whether graph theory was a "core" area of mathematics. I don't even like graph theory or combinatorics.
[+] jorgenveisdal|4 years ago|reply
Sylvia Nasar's take on John Forbes Nash, Jr.'s type:

"He was a mathematician who viewed mathematics not as a grand scheme, but as a collection of challenging problems. In the taxonomy of mathematicians, there are problem solvers and theoreticians, and, by temperament, Nash belonged to the first group. He was not a game theorist, analyst, algebraist, geometer, topologist, or mathematical physicist. But he zeroed in on areas in these fields where essentially nobody had achieved anything. The thing was to find an interesting question that he could say something about."

[+] 276|4 years ago|reply
let me try an example... ^^

'12 x 23 = 276'

Most often listed is the number '2'. The highest numbers together make '7' and if you defer 'the multiplication one position to the right', you have '2 x 3' -making '6'.

276 (-;

[+] graycat|4 years ago|reply
It appears that roughly the point of the OP (original post) is that in math there are two cultures (1) people who want to develop new fields of math with definitions, theorems, and proofs and (2) people who want to use math, all or nearly all old, to solve problems usually from outside math.

Apparently the OP is from the UK (United Kingdom). Here I attempt to provide a view and explanation of those two cultures from and for the US.

Math got taken very seriously due heavily to WWII and The Bomb. There The Bomb was seen as heavily from Einstein's E = mc^2. So, suddenly the US (especially Congress) concluded that for US national security the US had to lead in science and math. Over the years after WWII, various events, e.g., Sputnik, reinforced this conclusion.

One result was that the US NSF had funds for math research for culture (1) in the US research universities. The emphasis was on what was really new; that is, if there was to be another E = mc^2 result from math and science, then the US wanted to be the first to discover that result.

But the NSF was not much interested in funding math in culture (2).

Then there was some irony: For US national security, the NSF was funding math in culture (1) while also for US national security, especially the Cold War and the Space Race, the US DoD and NASA were heavily funding applications of math via culture (2). In those years, there were good culture (2) careers, especially near DC, for people with comparatively good backgrounds in math and computing.

But in the profit seeking, practical, commercial US, away from the motivation of the Cold War and the Space Race, math from either culture was ignored, laughed at, or in rare but overwhelming cases terribly feared.

The there was and is help for culture (2): The US research universities also commonly have schools of engineering, and there are journals eager to publish applications of math.

E.g., the usual criteria for publication are "new, correct, and significant", and an application of some math that is a new and correct solution for a significant practical problem can be seen to satisfy these criteria and qualify for publication.

So, net, currently, an application of math -- maybe all or nearly all old math -- that is powerful and valuable in practice -- i.e., some secret sauce -- can count on little or no competition.

[+] dan-robertson|4 years ago|reply
You seem to imply that the two cultures are pure vs applied but that’s not really right. Something like Sturm-Liouville theory is generally very applied and useful but falls into culture 1. The sort of mathematics that Erdős did was pure but fell more into culture 2.
[+] bigbillheck|4 years ago|reply
> But the NSF was not much interested in funding math in culture (2).

I'm not sure that this is supported by the historical record.

For example, from NSF's own page: https://www.nsf.gov/about/history/overview-50.jsp > The first NSF grants are awarded to support computation centers and research in numerical analysis. Three years later, a separate budget is created for grants to enable academic institutions to acquire major computer equipment.

That seems like it's very firmly in your (2).

Going further, I found the distribution of NSF grants for 1952. Mathematics got one grant, to Lamberto Cesari, for work on "Asymtotic Behavior and Stability Problems". Cesari has a wiki page with links to some of his articles, for example : https://projecteuclid.org/journals/bulletin-of-the-american-... , and a bio at St Andrews: https://mathshistory.st-andrews.ac.uk/Biographies/Cesari/

Going by those, I don't see how that would not be (2)?

A little later we find UMN's "Institute for Mathematics and its Applications" (https://www.ima.umn.edu/about/history, sounds very (2)-ish) which was established with NSF funding in 1982. And a bit after that, in the 90s, I am fairly confident that some portion of my graduate work in applying mathematics to biological problems was NSF-supported.

[+] Double_Cast|4 years ago|reply
To me, the distinction maps onto the Effectual vs Causal distinction. For some path "A to B", some people prefer to consider their present tools/resources (point A) and work forward opportunistically. While others prefer to consider the end-goal (point B) and work backwards recursively. If the analogy is unclear: a theory is a tool; a specific problem is an end-goal.
[+] yummypaint|4 years ago|reply
There is a similar kind of division of labor in physics between theorists and experimentalists. The cultural difference is closer to that between mathemeticians and engineers, but of course both groups are entirely dependent on each other and most successful collaborations have both. The days of solo publishing are mostly over.
[+] hatmatrix|4 years ago|reply
It sounds like the distinction is between pure and applied mathematics, though the writer says that the battle is within pure mathematics.

I've also read about two other categorizations of mathematicians: active and passive. The active are out trying to prove new theorems while passive mathematicians are trying to collect and generalize past theorems. Finding generalizations also requires new theorems and could be argued to be an active task, but this sounded like a distinction between researcher and educator, and has stuck with me.