How much math do I need to know to become a programmer?

...

Other urls found in this thread:

mathworld.wolfram.com/Mathematics.html
twitter.com/SFWRedditVideos

0 = 0000
21 = 0001
22 = 0011
23 = 0010

And eating donust is no good or the prostat

I'm not familiar with binary, but I'm about 60% sure what you posted is not correct.

Very much and very little.

congratulations you don't have brain damage

i'm a phd student in CS and honestly it's spotty.

you need to have an excellent grasp of logic or literally nothing else in programming will come easily to you. discrete math would be really helpful too, because some of the concepts prove helpful in programming "theory" (and i try to mean theory in the most practical sense here). one example is in the context of boolean algebra (which is slightly tangential, but gets taught in discrete math courses) when you come across de morgan's law. basically it's pic related, but the logical reasoning behind it is the sort of stuff you need to be able to work through without any struggling when you're writing code.

i honest to god never find myself using calculus, but calculus requires a firm grasp on lower levels of math, so it's become sort of a litmus test where if you can't cut it with calculus, then usually it's because your foundation is a lot shakier than we'd like.

linear algebra proves necessary for a lot of the moderately advanced applications like AI (and more broadly ML), NLP, lots and lots of large scale social network analysis, etc...

often with programming outside of academia (and to some extent in it) a lot of stuff is just about having a clever insight to make something computable or cheaply computable. the running joke among friends working at facebook is that nothing about the codebase in facebook up till 2008 or 2009 was especially complex. it was pretty much straight up PHP. it took off for other reasons than that it was running complex code. the same is true of google. it started out doing stuff that wasn't all that complex. PageRank is really insightful but it's a concept that any high school student could easily grasp.

Girls don't have prostates

sometimes you feel smart but you're not and you really know you're not because you said "pic related" and you forgot to attach the pic.

Programming IS math

More important to understand it than to know it.

I mean, the computer is doing all the hard work you just need to tell it what to do, which even then is mostly handled by the language.

Depends what you're doing.

If you're doing web dev shit, you're gonna wanna know a lot of just general logic. Like "Oh X makes Y work, because of Z, and Z works because of A and B". No math involved really, just understanding how one thing links to other is important.

Now if you mean like, building your own compiler, physics engine, games, etc. Then yeah, math definitely makes things easier. Honestly, most of the time I find myself really only using algebra, if you're a front-end ui/ux dev, then there's some pretty cool shit you can do with CSS knowing a lot more in-depth algorithmic shit, but for the most part, you should be able to firmly grasp and understand like 90% of things. The shit you see on like codewars would apply to you in that case. Codewars type mathematical shit is scarce in the actual web dev world.

[citation needed]

don't bother. it's one of those platitudes that doesn't really mean anything. like "the whole universe is math!!!"

Even if you consider it math it's a lot different than any math you learn in school

>Mathematics is a broad-ranging field of study in which the properties and interactions of idealized objects are examined
mathworld.wolfram.com/Mathematics.html

Which is essentially what you do while programming

very little

Enough to be able to do your taxes, just like any other job.

math in school only teaches you manual application of basic algorithms

Algebra and logic.

i wouldn't call limited-width integers with overflow, underflow, bit twiddling etc. idealized.

Most programmers good I know aren't very technical and they're usually quite autistic. You don't really need to know shit, just have a inhuman attention to tiny details and no social life.

The Asian ones do

All the maths.

But they are.
You're not concerned with any physical properties of them, just a set of strict abstract rules.

Overflow/Underflow is basically just modular arithmetic.

they physically exist in memory(or on electrical connections), and those govern the programming, not the other way around.
That's the case for Assembly and C in my opinion. Languages like Haskell or javascript are another matter.

i mean, the physical structure governs the way programming works.

They do.
But you ignore them, even as a C programmer.

For example, It doesn't matter for your int if it's stored using TTL or CMOS technology.

numbers physically exist in ur neurons :^)

Does it matter that your abacus has a wooden frame for the math you do with it?

you need to know basic geometry, trigonometry, so you know to to approach distance and size problems of elements

and have understanding of linear, exponential and quadratic functions so you can generate desired results from simple variable increments


Beyond that it depends on the field you program

for example a web development won't see much more math

a game developer, assuming you want to iterate a physics system in your game, should also know the basics of physics: forces, velocity, acceleration, gravity, possibly even friction

Now if you program tools and frameworks for industries, you will need to learn the same principles that those working on that industry because your goal is to automate the calculations they usually do by hand or through calculators with manual inputs

no, you don't ignore them, there are abstractions, like you said, you don't care how it's stored. But whenever you write something to handle overflow, or do bit-twiddling etc. you are not writing for some idealized number model but rather an abstraction on top of hardware. They're not just simple numbers, they are limited and have certain quirks, which exist because of the way they are physically handled. How do you calculate the average of two numbers in C? return (a+b)/2. Except that's wrong because of a physical limitation, integer width.

limits, doesn't mean it isn't idealized
again, look at modular arithmetic

and are formal integers not idealized since they can't represent 1/3?

10/10

Basic algebra for anything but reinventing the wheel a smarter and possibly more autistic person has already done better.

this

check knuth's books, it's mostly discrete stuff

what do you mean by "discrete stuff"?

Depends on whether you want to be a programmer or a GOOD programmer

All of it.

in 99.9% of cases you will only need algebra
If you have to ask, there's a good chance you'll never need anything else

You just need to understand 0 and 1.

what in the actual fuck

a CPU is just a glorified turing machine

every program is just a glorified math equation. even HTML or whatever "20 layers deep my dude" webdev language you think makes you a programmer

>he is afraid of math
You don't need it in coding bootcamps you codemonkey brainlet.

So any ideas on how to improve my logic skills?

daily sudoku session

It really depends on WHAT you are going to program. Essentially what said.

Learn to program

Thanks.

Believe it or not i know python and c reasonably okay but i struggle so hard with turning an idea into a project without getting incredibly lost and unable to progress. For example i can do programming exercises pretty well but going from that to an independant project is impossible or seriously hard for me. How can i change this? Any ideas? I thought it was a logic problem, but maybe its not?

discrete maths

he probably means discrete math, which is what i talked about in my post. but who knows. "discrete" is such a fluid word

+1 for logic and set theory. Discrete mathematics will help you most when it comes to crafting elegabt and efficient solutions to known problems.

Calculus probably helps too but idk what area of programming that would be needed for. Maybe making a vidya game engine? Idk

>a CPU is just a glorified turing machine
No it's not. It's equivalent to a Turing machine (technically not even that, it's literally a finite automaton because finite memory but whatever).
A CPU is much more closer to the Random Access Machine model or the Von Neumann architecture.

>every program is just a glorified math equation.
Literally no. If by math equation you mean lambda calculus, then yes. But I doubt you're talking about that because it's not a 'math equation'.

You know - logic, combinatorics, set theory, graph theory, discrete probability, number theory, group theory and such. You literally don't need to know all that stuff to become a programmer.
Just some basic logic, combinatorics and probably a bit of graph theory should suffice.

kill yourself my man

You only need to learn binary, you will be okay OP.

...

>Writing network code
>Anything close to "idealised" system

This thread again

Like what kind of project are you trying to tackle?

A socket is definitely an idealized object

But it does mean that they're conciously chosen for some reason or another. Whereas these limits are due to physical implementations. You can certainly have integers that have overflow at x, where you get to choose x, want overflow at 13? sure. but that's not the case, there are specific limits imposed by the hardware.
>limited throughput
>inconsistent delay(why is there a delay anyway, i asked for an ideal message passing interface)
>sometimes doesn't even work at all
an idealized network does none of these things, traversal is instant and you certainly don't have downtime.

you're confusing an idealization with an abstraction. a socket is the latter

I'm studying computer stuff in school but I'm genuinely awful at the math. I'm enjoying the programming though, at least the fairly straight forward stuff we've done so far. I'm kind of at a crossroad right now, don't know if I should start studying something else and just program small programs as a hobby. I mean if I can't get a grasp of this basic math and physics stuff without some major effort then is it really for me

Not much, just things like discreet math, graph theory, basic algebra, basic trig, geometry and such would occupy most of programming math.

It's not a girl on the photo. Are you blind?

If you can't do triple integrals you have no business programming