
Math is not necessary for software development - qwert302
http://www.mutuallyhuman.com/blog/2014/01/14/math-is-not-necessary-for-software-development/
======
jackmaney
"Rarely in math are you coming up with a new way to solve a problem"

Bullshit. Bullshit, bullshit, bullshit. Entire fields of mathematics (eg
Algebraic Number Theory) have arisen due to new approaches to solving
problems. Literally millions of peer-reviewed mathematical publications have
been written, many of which pave the way for new attack vectors on existing
problems.

There is far more to mathematics, dear Horatio, than is dreamt of in the OP's
philosophy.

~~~
visarga
Give some examples, it is interesting.

~~~
jackmaney
Let p be a prime number, and let

    
    
        s = cos(2 * pi / p) + i * sin(2 * pi / p)
    

be a primitive pth root of unity (ie a complex number such that s^p == 1).
Now, consider all complex numbers of the form

    
    
        a_0 + a_1 * s + a_2 * s^2 + ... + a_(p-1) s^(p-1)
    

where the a's (a_0,a_1,...,a_(p-1)) are integers. Note that the fact that s^p
== 1 means that we can multiply two things of this form and end up with
another thing of this form. Likewise, we can add two things of this form, and
get another thing of this form.* For the sake of notation, let's call the set
of all such complex numbers Z[s] (where "Z" denotes the set of integers).

In 1847, the French mathematician Gabriel Lamé[1] published an attempted proof
of Fermat's Last Theorem (ie the assertion that there are no positive integer
solutions of x^n + y^n = z^n for n > 2) that carried the implicit assumption
that every element of Z[s] except 0, 1, and -1 break down uniquely into
irreducibles (much like factoring positive integers: 12 = 2 * 2 * 3, and
that's the only way to break 12 down into primes (up to reordering)).

However, this uniqueness of factorization doesn't hold when p=23, as
discovered by the German mathematician Ernst Kummer[2]. The failure of this
approach to proving FLT resulted in the discovery of a significant amount of
Algebraic Number Theory, in an attempt to "build more machinery" to get around
the problems posed by Lamé's proof. Eventually, Andrew Wiles found a proof of
FLT in 1995 that relied on Elliptic Curves and Modular Forms (two fields of
mathematics of which I know pretty much nothing).

Another, less long-winded example is the Bridges of Königsberg[3]. In 1736,
the following problem was posed to Leonhard Euler: is it possible to take a
tour of the city of Königsberg in such a way that each bridge is crossed
exactly once and you end in the same place where you start?

It turns out that the answer to that question is "No", and in his approach to
answering the question, Euler laid the foundation for Graph Theory. Also, the
roots of Topology can be tied back to this problem, as well.

* - In particular, the set of such complex numbers form what's called a ring ([http://en.wikipedia.org/wiki/Ring](http://en.wikipedia.org/wiki/Ring)).

[1]
[http://en.wikipedia.org/wiki/Gabriel_Lam%C3%A9](http://en.wikipedia.org/wiki/Gabriel_Lam%C3%A9)

[2]
[http://en.wikipedia.org/wiki/Ernst_Kummer](http://en.wikipedia.org/wiki/Ernst_Kummer)

[3]
[http://en.wikipedia.org/wiki/Euler#Graph_theory](http://en.wikipedia.org/wiki/Euler#Graph_theory)

------
tokenrove
The best programmers I've met have consistently had very strong math
backgrounds or a deep respect for the clarity of thinking associated with
higher math. People need to stop confusing math with arithmetic.

------
onion2k
Software development is interesting in that it borrows for a vast range of
other disciplines depending on what you're building. Very commonly, that's
maths. You're not going to get very far manipulating matrices for 3D geometry
without a bit of maths understanding. But, similarly, you're not going to get
very far into developing a knitting pattern generator without understanding
knitting - but that doesn't mean you can't be a developer unless you can knit.
That'd be crazy.

If you develop applications that aren't reliant on maths then sure, you don't
need to understand maths. On a day to day basis I write web apps that take
strings from users, store them in a database, and display them in a different
way later. No maths at all. Conversely, I've once wrote an image manipulation
library based around convolution filters that used lots of maths.

As with most things, there's no single black and white rule. It's all shades
of grey.

~~~
xradionut
Wrong!

You still run into problems that require some math discipline and
understanding. If you're writing CRUD apps, you need to know what a Cartesian
product is or why big O matters. Or how to calculate disk space requirements
and transaction times.

~~~
onion2k
I've written more CRUD apps than I care to remember, and I have no idea what a
Cartesian product is.

The fact is we might use things that have formal definitions without knowing
what the definition is, or understanding the theory behind it, or being able
to derive it from first principles. That's very definition of _not_ knowing
maths and still being able to write software.

~~~
xradionut
Cartesian product is a very common, well known database development term.

So what are these apps so I can avoid them? Because if you don't understand
basic SQL, I don't want to use your apps.

------
nickflees
_> Rarely in math are you coming up with a new way to solve a problem, but in
software development you do that all the time!_

False. This guy is making a case against a subject in which he clearly lacks
experience.

~~~
jk801
An algebraic solution might have a unique answer, but Math is more than pure
Algebra. For instance, Machine Learning problems rarely have a single solution
and I would argue that Machine Learning is tightly related to Math.

~~~
dagw
Very few "real world" math problems reduce to easily computable closed form
expression. You're almost always dealing with numeric approximations. So even
when your problem has a unique correct answer finding it is either impossible
or computationally impractical. A large part of applied math is finding newer,
faster and cleverer ways of approximating these solutions. Making the best
choice between all the different ways to get the right answer can often be the
difference between run times measured in hours vs centuries.

------
Ixiaus
Reading comprehension and written / verbal communication are essential skills
in _many_ professions, not just programming. Any area of applied skill that is
producing a result for humans requires strong communication - it's a
relationship between humans (some programmers forget this).

I agree with you on that point, but I disagree with you on the point that it
is _more or less_ important than mathematics. You may not be applying a lot of
higher math to your day to day job because most of it has been taken care of
already in the libraries you use but that _absolutely does not mean_ you
wouldn't benefit from a deeper understanding of mathematics and how it informs
computing.

I once thought like you, until I came across Haskell. Once I got through
learning the language (which also requires you learn a few concepts from
mathematics) I understood what is so powerful about it: idiomatic (and even
non-idiomatic, to a degree) Haskell and the programmers that use Haskell -
they go hand-in-hand - harness the ideas behind mathematical abstraction to
produce programs that are _so elegant_. I've taken many of the concepts I
learned in Haskell to mundane languages (Python notably) and have made my
software in Python cogent, elegant, and easier to understand (note this even
comes back to your argument around comprehension and communication). I'm still
not a perfect programmer but I feel like the communication of my thought into
a program is better because of my appreciation and deeper understanding of
math.

Not to mention the foundational role mathematics plays in algorithms and data
structures, if you understand the mathematics behind quantifying the time
complexity of an algorithm, you're far more likely to pick _the right
algorithm_ for the job.

Also, logic could not be greater than Mathematics; Mathematics is more general
and describes logic.

------
tokenadult
I see that the blogger whose post is kindly submitted here led off by noting
the importance of clear written communication, and I fully agree. The thrust
of the post here, that much of what is taught in the standard school
curriculum in mathematics is neither strictly necessary nor especially helpful
for becoming a developer, is also a good point. That agrees with Andrew Lih's
response to the annual Edge.org question this year,[1] in which Lih suggests
retiring calculus as a barrier to entry (a "hazing ritual") to careers in
programming and coding.

Overall, the blog author is correct that development of good written
communication skills is central issue for most software development today: "A
very smart person doesn't need to write any comments, the code is obvious to
them!" On the other hand, as another several comments here have pointed out,
learning more mathematics often allows insight into programming problems that
completely escapes people who haven't learned the same mathematics. So it's
not a bad idea to practice written communication on the job in part by
commenting code so that colleagues see what mathematical approaches were built
into the code.

[1] [http://www.edge.org/response-detail/25521](http://www.edge.org/response-
detail/25521)

------
kemiller2002
What I think fails to grasp is that this is correct but only to a point. Sure
someone can learn to code without doing math, but as things scale, this
becomes really important.

How do you calculate distance between two points? Math. How do you timezone
calculations? Math. How do you know what data structure is going to be small
and fast enough to not overload a server and still get the job done? Math. How
do you determine if two populations are statically different? Math. These are
becoming everyday things. We've moved beyond the mid 90s where having a web
page and writing some JavaScript was well enough for most companies.

------
nmc
The author seems to confuse _" what [he] would call math"_ with calculus or
counting.

As pointed out, logic is a big part of software. But calculation skills (eg
understanding that _x_ is actually a number, not a letter) are also mandatory
for a full comprehension of the abstraction going on in programming languages.
Not to mention arithmetic — modular operations, index of an array...

Finally, if you wish to get a grasp of functional programming, lambda-calculus
or curryfication, you will need a basic intuition of set theory.

Also, concerning logic and math: mathematics are built with logic (4 rules of
demonstration). You can consider logic as pre-dating math, but not the other
way around.

------
xradionut
The article writer is woefully ignorant. How can you be a career developer and
not understand big O notation? Logic isn't just true or false, it's going
deeper and learning k-maps and state machines in the bare basics of a
programmers education. And it's math turtles all the way down...

------
cja23
Push-ups are not necessary for football. As a football player, catching and
running with the ball are more valuable than push-up proficiency.

We don't teach every child math because we want them to become mathematicians
or anything in the STEM fields, just like we don't teach them PE (physical
exercise) because we want them to become professional athletes. We have
mandatory PE classes because having a fit and healthy body will serve you (and
society at large) extremely well no matter what you end up doing in life. In
the same vein, we have mandatory math classes because having an agile and
skilled mind will also serve you (and society at large) extremely well no
matter what you end up doing in life.

The article claims written communication and reading comprehension are so much
more important than math to a developer. This is like saying catching balls
and breaking tackles are so much more important than push-ups, pull-ups, or
all the weight-lifting you do in the gym. Learning math is a great way to
enhance and improve your communication skills! Try explaining some advanced
math concept to a kid sometime.

------
yoshokatana
As others have said, logic and basic algebra are integral to programming, but
I understand the sentiment that "hard math" isn't necessary. And I sort of
agree. As a front-end developer, I don't really need to be an expert in
algorithm design to do my job competently, and I don't _need_ to know
statistical analysis or any other branch of higher math. That being said,
learning some higher math on my own has made me a _much_ better programmer,
and allows me to write code that is far more efficient than I could otherwise.

As for the article, I don't think literacy and math knowledge are mutually
exclusive. It's not a zero sum game. A great programmer should be able to
break down problems logically, improvise and expand on algorithms, and explain
what he (or she) is doing to non-technical people. All of those are important.

------
mathattack
Nothing is needed in terms of academic training - a good mind can work around
lots of things.

If you're a poor communicator, you can still develop software, it's just
harder. Same with knowing low level languages, and what goes on in Operating
Systems. And math too. We all bring toolsets. The more tools, the better.

Also - logic is very much a part of math. Good geometry classes involve a lot
of proving. In the end, the lesson from Geometry is proving things as much as
it is the sum of angles of triangles between parallel lines.

------
increment_i
This might be true for the low-hanging fruit of CRUD apps, but ask the
engineers working on self-driving cars, or the fringes of aerospace technology
how important math is.

------
bhouston
I work in computer graphics software development. Math is an absolute
necessity in this field. But only up to a degree, you do not have to be able
to do multivariable calculus, but you need to generally understand matrices
and vectors.

~~~
epochwolf
Matrices and vectors are useful in graphics. But I've never seem them used
outside of graphics work.

~~~
ColinWright
I use them regularly in all sorts of unexpected places. The most common is
probably machine learning, but I also use them in safety critical computations
of projected courses, ETAs of various processes, and computing optimal
geometries.

------
RogerL
"The majority of code for something like Facebook or Twitter probably involves
very little math."

So it is clear from word choice that the author is just guessing. But Facebook
does image recognition, it does ad placement, it does graph networks, it has
EdgeRank - Facebook is only possible via math. Sure, perhaps there is more
code written to push bits around on the front end and such, but it lives and
dies by math. But even screen layout requires math - dealing with resizing
screens, different ad and post sizes and so on - there's a lot of admittedly
basic algebra there.

With that said, I agree with much of the content of the post. I run into far
too many engineers with no real skill at writing or communication, and that is
also a large hindrance in the field. Naturally, every job will require a
different balance of skills, and no absolute statement is possible.

However, I would say now more than ever math is required to really excel.
Write the front end to some CRUD app? Sure, you can do that (where "you" is
somebody with no experience). Write a side scroller? Maybe, just maybe you can
pull that off. But that awesome new job writing a game that involves game
physics. No, you can't do that. Hey, we need some image processing on this
app. No, you can't do that. Let's track some objects. No, you can't do that.
How about schedule some jobs in the factory? No, you can't do that. Hey, we
have this product idea where we will use an arduino to... no, you wouldn't
understand PID controls, you can't do that. Sigh. Want to write your 1023rd
CRUD app? Slap some javascript together? Sure, you can do that.

This is why when the topic of university (should I go) comes up I am always a
proponent. I was taught to write, I was taught to balance books and run a
business, I learned calculus, linear algebra, AI, numerical methods, EE,
mechanical engineering, thermodynamics, physics, statistics, chemistry. I've
used _all_ of that in my career (this week at work I am implementing some
Kalman filters, for example), and my only regret is that I didn't take more
math courses. The valley is on fire now with jobs requiring math - machine
learning, hardware interfaces, augmented reality, and so on.

If I had a friend with no real math and an interest in programming I would not
dissuade them, but math is very important in an important subset of
programming.

Finally, I have to say I've watched a lot of people struggle to put a program
together which has nested if statements or multiple and/or conditions.
Generally speaking, the people that struggle to do it don't have any math
skills. So even if you are programming something that doesn't require math
knowledge, it certainly requires math aptitude.

~~~
j2kun
I agree that writing skills are important, but I also think that strong
mathematicians are skilled writers as well. One general drive in mathematics
is to lay out complicated ideas in ways that make the resulting theorems and
questions seem completely natural and even trivial. It's no small task, and in
my experience it has drastically improved my technical writing skills (where
before math I only had historical/literary/debate writing skills).

~~~
vidarh
> One general drive in mathematics is to lay out complicated ideas in ways
> that make the resulting theorems and questions seem completely natural and
> even trivial.

.... _to other mathematicians_. And this is often a problem. I've had to fire
mathematicians-come-developers who thought that writing their specs like a
maths paper was a viable way of communicating their ideas, because they proved
totally unable to communicate their ideas in a way that the rest of the team
understood.

Lets be clear: I'm not saying all mathematicians do this - one of the
brightest and best developers I've ever worked with was also deeply into maths
yet is also great at communicating.

I just don't for a second believe that being a mathematician in any way
implies that you'll necessarily be skilled at writing _for a non-mathematician
audience_.

~~~
jackmaney
Being a mathematician does not in any way imply that one will necessarily be
skilled at writing for a mathematical audience, either.

------
namelezz
Sigh! Another child left behind. From this child's point of view, because
"people who are good at math are good at breaking problems down into parts,
recognizing patterns, and applying known formulae to those parts to arrive at
the one right answer", they rarely come up "with a new way to solve a
problem." So that's how a good Software Engineer uses Logic to reason. You
need to take math more seriously in school or you may go to a wrong school.
There are more than one way to get to the solution you are just too lazy to
discover a new way to do it. And if we rarely come up with a new way to solve
unfamiliar problems then we all died out long time ago.

------
Jtsummers
> The majority of code for something like Facebook or Twitter probably
> involves very little math.

This may be a true statement as I've never seen the Facebook or Twitter
codebases. However, as others said, logic is a part of math and logic is
essential in code design.

Along with that, I'd wager most developers could make a facebook-like or
twitter-like system. But their first pass is going to be crude, bloated, non-
scalable. Understanding how data flows across the system gets reflected in
both the software and hardware. That analysis relies on an understanding of
graph and network theory and statistics. Perhaps not deep knowledge, but it's
still math.

------
ry_donahue
This is essentially a duplicate of the plethora of HN articles arguing for or
against considering computer science a math. And it always comes down to
whether or not the author is working on anything remotely significant. The
entire fields of machine learning, large data processing and natural language
processing is heavily rooted in the calculus, set, and fuzzy set theory...
which in some shape or form is the evolving requirements of most large systems
(text or graphics). None of the math is abstracted away and a fundamental
understanding of the mathematics is the difference between the programmer
making 60k and the programmer making 150k. So why would anyone want to state
it's 'un"necessary"'. Personally... in the case of fuzzy sets and
classification the philosophies of logic, reasoning, and mathematics require a
balance of the two to deduce the proper functions.

I do agree that communication and prose is important to a polyglot
professional's resume. However not seeing a connection between linguistics and
mathematics is naive. Symbolic transformation and interpretation is the same
no matter what the flavor.

Can we please get over the fact that no one writes binary anymore and look at
the entire field of "software development" \- graphics, ai, information
theory, distributed systems, anything involving a graph

Essentially... learn it all. That is unless you want to excel at communication
and fast track yourself to project management.

------
maroonblazer
As someone who got into programming late in life - and, with the exception of
geometry, began sucking at math starting with algebra - I never graduated
beyond Algebra 2 and trig (and barely passed those classes).

The biggest stumbling block I run into with programming relates to the adage
"There are only three numbers in computer science: 0, 1 and n". I can easily
deal w/ the '0' and '1' cases, but struggle making my programs work with the
'n' case. I've attributed this to my poor math background, so have begun to
pick up where I left off with an aim to learn Pre-calc and then Calculus.

However I'm wondering if this isn't a mistake and rather I should focus more
on logic and, perhaps set theory (I'm not even sure I know what that is and
whether it requires higher level math)...?

If the above is true - I'm curious to hear from those with more advanced math
backgrounds - then it may lend at least some credence to the author's point.

~~~
jackmaney
Although calculus isn't a bad thing to learn, you might want to consider
picking up some discrete mathematics and combinatorics, instead.

------
vezzy-fnord
I don't think anybody has argued that a generic developer needs much
mathematical knowledge beyond Algebra I (even basic arithmetic will do) and
Boolean/gate logic.

It's when you start diving beyond the matrix of batteries-included frameworks
and your development toolkit into topics that begin to touch deeper aspects of
computation, that mathematics becomes important and truly shines its beauty.

You still don't need to be an expert pure mathematician (those work on
problems of their own), but above-average mathematical competence,
particularly in aspects like algorithmic complexity, theory of data
structures, automata theory and miscellaneous discrete math, is certainly all
essential for a good programmer.

But yes, if your end goal is to simply deliver a product, we've advanced far
enough where you can do it safely with minimal cognitive workload. One should
not be too pragmatic or too theoretical, but find balance between both and be
versed in both.

------
etanazir
What is a variable? function? you might be astonished at how many lawyers
don't even understand what true and false mean. I guess some programmers use
algebra so much that they forget they are using algebra and consider it just
writing. (You don't need to know how to move your legs man! All you got to do
is walk.)

~~~
Sirenos
I don't see the point. Do lawyers need to know such things to perform well in
their careers? Specialization is prevalent for a reason - it has given us
modern civilization and all the fancy technology that comes with it - but
there is such a thing as hubris, and I don't think condescension towards those
not well versed in the tools of one's craft can be considered a good thing.

~~~
cschmidt
I think he was trying to say that programmers _do_ use some math concepts even
when they might not think of it that way. Lawyers or other non-programmers
(rightfully) don't know about mathematical concepts that programmers just take
for granted, given their background.

------
MatthiasP
It really depends on which layer of the software stack you are working on. The
closer you come to the hardware the more mathematical understanding you will
need, e.g. writing a compiler.

But it's also very true that if you work with high level languages like C# and
python you can perfectly get your job done with just using a clever library
that hides the underlaying mathematical problems.

I also totally agree that communication, empathy and writing skills are
extremly important for software engineers. Coding is always an act of
communication, be it with your client, with the machine or with your fellow
co-workers.

~~~
ry_donahue
I would argue that using a "clever library" to get the job done still requires
an understanding of the derivation for the solution. Otherwise the person
wielding the sword would probably have never found the sword to begin with.

------
jsun
While I technically agree with the article, OP really takes some liberties
with definitions. Yes, technically logic > math, but I have yet to meet
someone who was "afraid of math" but awesome at logic.

The bottom line is you don't need to be a mathematician or even a B-average
math student to program, but if you are afraid of the math content in most
standard CS curricula (calc, linear algebra, discrete mathematics) you should
probably not be a software programmer

------
mrcactu5
the apps you can build without mathematics are limited to crappy Facebook
clones.

~~~
epochwolf
Please...

Most business software doesn't require more than basic algebra. As long as you
know how to read math formulas and implement them in code, you can just look
up most of the stuff on wikipedia.

For example, I worked on a monthly payment calculator for loans. All I needed
to do was spend an hour reading
[http://en.wikipedia.org/wiki/Annuity_(finance_theory)#Proof](http://en.wikipedia.org/wiki/Annuity_\(finance_theory\)#Proof)
and playing with the forumla on paper.

Create a function to wrap the algorithm and test the inputs and outputs. Then
you spend 2 days writing code and tests for the web interface around the
function. In my job most programming is plumbing with infrequent math problems
that only need to be solved once in a generic fashion. Heck, if there's
complex math, there's an open source library for that. (Or a contractor! Or a
web service. Or a contractor writing a custom accounting system that does the
heavy lifting.)

Unless you're going to be specializing heavily on a specific problems, you
don't need college level math, you just need your basic high school education
and access to the internet.\

Note: My high school education included a semester of statistics. I would add
my discrete mathematics classes in college have been useful but not strictly
necessary.

~~~
mrcactu5
I am failing to see how this is a counterargument. The mast has less to do
with the accounting and more to do with _how_ your webpage is getting to your
users. You used math in several instances:

* implementing the accounting formulas

* Chrome interpreted your HTML code and calculated the layout for your website

* your ISP knew to attach your URL with your IP address and serves it to your users

* even the development process itself is iterative; building on previous changes

Algorithms were present in all these steps. Once you have users, you will need
to keep track of them. Probably you will use an array, tree or other data
structure.

As long as you feel comfortable outsourcing the hard stuff, you can put
together simple projects like these.

~~~
Iftheshoefits
I'm not sure your list consists of good counter examples, with the exception
of the first (as the parent opened himself up to that--implementing accounting
formulas most definitely requires at least some mathematical ability, but
that's a specific case).

The second point isn't mathematics; it's arithmetic.

The third and fourth points are really statements that are as too broad as the
statement that "math is not necessary for software development". In
particular, were were to employ your use of the word "algorithm" it would
apply to literally any activity that can be described as a series of
instructional steps. Consequently "how to make a peanut butter and jelly
sandwich" becomes an exercise in mathematics, for example.

As a person who comes from an academic field in science that is rich in
applied (and some theoretical) mathematics, my observation is that there
exists very few cases where a person writing software at almost any level
actually needs to have a deep mathematical/theoretical understanding of the
data structures and algorithms he employs. And I mean "deep" in the sense that
he even has to understand that a mathematically-backed theory is what he's
employing. This is as true for computer science graduates having a prolonged
bout of anxiety and envy of mathematicians and scientists as it is for the
"lowly" CRUD App Developer. At the deepest, one needs to be able to employ
arithmetic to compute a rough "Big O" estimate. That's "doing math" I guess,
in the strictest sense, but only in the same sense as a child "does number
theory" when he writes, e.g. "10" in the blank for "9+1 = ___".

~~~
mrcactu5
Arithmetic is a type of mathematics.

------
muaddirac
I disagree. Software development uses many of the same processes as
mathematics, with the requirement for rigor often relaxed severely.

------
taylodl
A developer can get a lot of mileage without knowing much math beyond algebra
just as a musician can get a lot of mileage without knowing music theory. In
both cases however there's a limit as to how far you can go. If you're content
with writing CRUD apps for the rest of your life then yeah, math isn't
terribly important.

------
lmm
Logic is part of mathematics, and mathematics as actually practiced - not as
taught in schools - is far from repetitive.

------
pacaro
This strikes me as an instance of "The Blind Men and an Elephant"

It's very hard to pin down either necessary or sufficient skills for a
developer, so we all focus on the things that have been relevant to us.

I'd add the following to the list: problem solving, critical thinking, social
skills, egolessness

------
ape4
Apparently math isn't necessary but logic and all the other skills that go
with math is.

------
baldfat
FALSE STATEMENT

Logical thinking is required for software development

Math is a great teacher of logical thinking

~~~
visarga
So is coding. In my case, I'd say coding was much more instrumental in shaping
thinking than mathematics.

------
izzydata
What is with these misleading titles. It seems like the author is more
pointing out that computer science, software development and mathematics
shouldn't be lumped together in the same category of jobs.

------
treekiller
Math is so usefull in separating the wheat from the chaff though.

------
lttlrck
If the comments are any indication I must be better at Math than I thought...

------
al2o3cr
"Logic > Math"

Technically, "Logic ⊂ Math". Your argument is invalid.

(that's the "subset of" operator above, in case the Unicode doesn't make it)

~~~
adwn
I disagree: logic is a tool used in math, in the same way that math is a tool
used in physics. You might even say that math is "applied logic", just as
physics can be considered "applied math".

------
derengel
Maths is fun anyway ;)

------
t1m
_Logic > Math_

This is false.

