14 ms·
Most coding doesn't need much of any math past boolean logic and very basic set operations. I'm much more likely to spend my time studying DB and interface sche
by QuercusMax 1y ago
Most coding doesn't need much of any math past boolean logic and very basic set operations. I'm much more likely to spend my time studying DB and interface schemas to understand how something works than doing a lot of mathy fiddling. Sure, some people write game engines and such, but even much of 3D graphics doesn't need anything more complicated than the first half of a linear algebra course.
- ajuc 1y agoThe difficulty is in how many relationships you need to keep in mind, not in how hard each of them are. Just like in math. BTW relational DBs are math.
- RHSeeger 1y ago> BTW relational DBs are math. It's funny, reading the post you're replying to, I basically read it as > I don't need math, I need <math, but by another name> My teenage daughter used to complain about math, and I spent some time trying to explain to her that we use math every day... EVERY day. Now, when I see her do something that was math (even if it's not obvious it was math), I say "Math... every day". I say that a lot. Also, yes, my daughter finds me annoying. But also funny; but likely not for the math thing.
- godelski 1y ago> I don't need math, I need <math, but by another name> This seems to be how it always goes. I think we've confused a lot of people by conflating math with arithmetic. https://news.ycombinator.com/item?id=43872687 https://news.ycombinator.com/item?id=43872687
- GoblinSlayer 1y agoDBs aren't math. In math it's perfectly ok for computation to take infinite time, you can just assume it already completed, but DBs don't work like that.
- Someone1234 1y agoNow we're getting into the "define maths" part of the discussion which is always where these discussions die. It can be argued that turning a kettle on and boiling some water is "maths" or it can be as narrow as "everything above basic arithmetic is logic, not maths." So how much of programming is maths? Before we answer that, let's answer: How much of maths is actually maths? Because first we define maths, and then we define programming based on whatever that is, but until we have that first concrete definition this discussion cannot occur. I will add that "it is taught by the maths department in college" is a flimsy argument, and frankly one the Physics department in particular would mock.
- delecti 1y agoI think for this discussion, "math is stuff you'd learn in a math department" is a pretty useful definition, even if it's not a very good one. There's a lot of math involved in the design and manufacture of the kettle, electrical grid, and water utilities, but a person's ability to put a kettle on isn't going to be improved by math classes. In that way, programming probably is a bit mathy, but good programming is more like good technical writing than it is like math.
- Someone 1y ago> I think for this discussion, "math is stuff you'd learn in a math department" is a pretty useful definition That means that definition shifts over time. For example, courses on numerical analysis, graph algorithms, programming, and on compilers used to be part of “what you’d learn in a math department”. It likely also even today will show geographical variation.
- GoblinSlayer 1y agoOverlap between programming and math is quite small, e.g. halting problem is solvable in programming (by flow analysis) but isn't solvable in math. Programming deals only with practical problems and can be completely guided by practical considerations, while math requires abstract outlandish skills - exact opposite. Why talk about math at all if it's already well known that programming is engineering?
- switchbak 1y agoIt's definitely a gray area. Is a DAG traversal algo "math", or is it more computer-sciencey? What if you do it in SQL? Certainly there's a mix of more or less concentrated logic/math vs glue code, and most of that is very dependent on the domain you're working in. I find this distinction useful in the abstract, that one can engage different parts of the brain for different components of development. This probably explains why a well-written DSL can be so powerful in the right context.
- tbrownaw 1y ago> Is a DAG traversal algo "math", or is it more computer-sciencey? Firstly, computer science is math. Secondly, I remember covering graphs in a discrete math course back when I was in college. > What if you do it in SQL? SQL is more-or-less a poor implementation of relational algebra. Ie, math.
- vidarh 1y agoComputer science is math in the same way that physics is philosophy, in that computer science certainly started as math, just like the natural sciences used to be subdisciplines of philosophy. But it's hardly a useful grouping any more. You can study and do well in computer science with minimal knowledge of most of the core mathematical subjects. While graph theory certainly crosses over into math, you can cover most of the parts of it relevant to most computer science as a discussion of algorithms that would not be the natural way of dealing with them for most mathematicians.
- voidspark 1y ago> You can study and do well in computer science with minimal knowledge of most of the core mathematical subjects. You will fail at Theoretical Computer Science without mathematical proficiency. Go read some textbooks and papers in theoretical CS. It is a subfield of mathematics. Theorems and proofs. Rigorous and difficult mathematics. https://en.wikipedia.org/wiki/Theoretical_computer_science https://en.wikipedia.org/wiki/Theoretical_computer_science
- godelski 1y ago> Most coding doesn't need much of any math past boolean logic and very basic set operations Coding IS math. Not "coding uses math", I mean it is math. Mathematicians do not deal in objects, but in relations among objects; they are free to replace some object by others so long as the relations remain unchanged. Content to them is irrelevant; they are interested in form only. - Poincare[0] I don't know how you code, but I don't think I'm aware of code that can't be reasonably explained as forming relationships between objects. The face we can trace a program seems to necessitate this. [0] https://philosophy.stackexchange.com/questions/22440/what-did-poincar%C3%A9-mean-when-he-said-mathematicians-do-not-deal-in-objects-but https://philosophy.stackexchange.com/questions/22440/what-di...
- xmprt 1y agoBy that same logic you could also say that language is math. In fact I think your quote kind of disproves your point because the content/state of a program is super important in coding more than the form. Coding used to be very close to pure math (many early computer science classes were taught in the Math Department in universities) but it has been so far abstracted from that to the point that it is its own thing and is as close to math as any other subject is.
- godelski 1y ago> By that same logic you could also say that language is math Not quite, but the inverse is true. The language to math direction doesn't work because a lack of formalism. I can state incomprehensible sentences or words. (There's an advantage to that in some cases!) but when you do that with code you get errors and even you do it with math its just that there's no compiler or interpreter that tells at you
- bryanrasmussen 1y ago>I can state incomprehensible sentences or words. since you can express paradoxes with match, perhaps not that different.
- hinkley 1y agoBoolean logic and set theory are very important to computer logic, and graph theory is not far behind. But you can also learn Boolean logic in the philosophy dept. Which I unfortunately learned the hard way by taking Philosophy 101 after already having the CS class on logic. Took a semester to go over what we did for the midterm. Got a lot of naps that semester.
- yubblegum 1y agoProbability is math and there you have caching, hashing, etc. Then there are permutations, combinations, etc. with a lot of usecases in software. Distributing graphs across nodes? More math.
- NegativeLatency 1y agoState machines too