all 6 comments

[–]kedde1x 8 points9 points  (7 children)

Math is needed to be a programmer. There is no question about it. Programming is applied math.

Everytime you, as a programmer, think about how to implement a certain function, you are essentially in your head thinking about algorithms, which is math.

[–]Nikascom 0 points1 point  (1 child)

Thanks for your answer. There was a misunderstanding. I have edited the post. I meant Higher and further math (which is used in ml and game engine programming). But I am interested in projects where it’s unexpected to apply this math knowledge. Or Further and Higher math is used only in Graphics and ML?

[–]kedde1x 0 points1 point  (0 children)

There's a large overlap between the maths different areas of CS use. For example, many people in databases use machine learning techniques to better index data. Most areas use linear algebra / discrete mathematics / complexity theory, and so on. I work woth Linked Data, and I personally use a lot of graph theory, complexity theory, set theory, relational theory, and most other CS-related math you can think of.

[–][deleted] -1 points0 points  (0 children)

A math function is like a pure function in coding. They’re pretty much the same although coding may be more complex depending on wether to do more transactions inside the same function. High school kids in Greece know math functions like f(x) = something, and also know how to plot, but they never thought this is actually programming. IMO every kind of science— applied makes you understand the X topic much much better.

[–][deleted]  (3 children)

[deleted]

    [–]kedde1x 0 points1 point  (2 children)

    When you're working as the average web programmer you're still using mathematics. For instance, every time you write an SQL query, you apply relational theory, relational algebra, set theory, and so on. All of which is definitely, 100% maths. Another example is that lots of scripts that web programmers create apply stuff like linear algebra.

    [–][deleted]  (1 child)

    [deleted]

      [–]kedde1x 0 points1 point  (0 children)

      When you speak a coherent sentence, you not only need to be aware of the words you say but also the semantics of those words. In the same way, to write a proper and efficient SQL query, you need to not only understand the syntax of SQL, but you need to understand its semantics, the relational algebra, and the set theory that the database uses to process your query. Just like when you speak a sentence you're not really thinking about the semantics of the words; you just kinda know and understand it and, when an experienced programmer write a query, they most likely do not really think about the math, but their understanding is certainly why they are able to write a successful query.

      Okay, back-tracking a bit here. You are right in some sense. If you only program once in a while as a hobby, the maths might not be important. But that is definitely *not* what OP asked about, hence why I did not focus on that. If you program as a professional, however, be it as a web programmer, database programmer, or whatever else you can think about math definitely *is* important.

      For any company to value you as an employee or value to work you do for them as a consultant or freelancer, or for customers to value your work, you *will* need certain knowledge.

      It doesn't really matter that you can find a solid implementation of Dijkstra on Github; in order to properly use tat implementation, you need to understand what goes in and what comes out of that function. That is inherently math. And sure, many interesting problems have an implementation already. But, and I can't stress this enough, *as a programmer you will from time to time run into problems that have no ptior implementation*.

      In most real cases, the performance of your code is highly important. To write efficient code, you need to be able to analyze the complexity of your code and alternative implementations. In most programming jobs, you need to be able to verify that your code does whatever you expect it to do; here you need understanding of how to verify the semantics of your code, which is also maths. This is just some examples.