0 like 0 dislike
0 like 0 dislike
How good are you at coding?

25 Answers

0 like 0 dislike
0 like 0 dislike
Logic is only part of coding. The other parts are the syntax and accepting the language designer’s quirks and esoteric nonsense. Then again, syntax and notation are a big impediment in math as well, so we should be used to it.
0 like 0 dislike
0 like 0 dislike
It's just a matter of practice.

Also, there are many different kinds of being good at coding. There's being good at making a small program correct; there's being able to structure a medium-sized program so that it's clean and bug-free in the important ways; there's being able to structure a large project so that many people can work on it at the same time having different skill levels; there's being able to make a tool that can be reused by hundreds of people with different goals.
0 like 0 dislike
0 like 0 dislike
Other comments have already made this point, but just to reiterate, programming is absolutely not just logic. Yes, the math and logic portions of programming will be easier to learn, but math by itself teaches you none of the intuition or practical aspects of getting things done with code. It would probably take a long time for the world's best theorist in *X pure field* to be able to work on a proper enterprise-class back-end in Java and actually understand everything.

Despite that, depending on what you do in math, you might be programming a lot anyways; in particular some of us on the computational side code quite a bit. My work is mainly C++, Python, and Julia, and I spend a good half of my time writing HPC code for our specific applications, or building in-house libraries for similar. This job is only possible because I have a math background, otherwise neither the applications (models from different parts of science and engineering) nor the papers describing the state of the art analysis would be comprehensible. Lots of the workflow we have is borrowed from industry standard precisely because it's used in industry and because the project is large enough to start requiring it. I would wager that I'm at least decent at programming, and could pick up an adjacent field pretty quickly.

That being said, I and everyone else I know who works on this stuff, has either a CS background as well or has spent lots of time training themselves in it. The fact is that you cannot substitute the time needed to grasp the syntax, semantics, and innumerable small tricks of the trade that's contained in the tools required in the small subset that is my field. Because my formal training beyond undergrad has been math focused, I did have to spend lots of time on the side keeping myself up to date and even still I know I'm certainly behind someone that was code first.

TLDR: If you do not learn how to code, and then continue to practice/use it, you will not be great at it.
0 like 0 dislike
0 like 0 dislike
How easy it is to pick up coding will depend quite a bit on what kind of coding you want to do.  Exploratory programming for mathematics is fairly easy, especially if you pick a language like Haskell that encourages mathematical style in problem solving.

On the other hand, writing a nice user interface in modern web frameworks, talking to databases, building a distributed system with a REST API, or stuff like that is a whole heck of a lot more than "just logic".
0 like 0 dislike
0 like 0 dislike
Emm coding is engineering. Pure math isn't. You are mixing "thinking" and "doing". If your task is to develop a good algorithm, coding skills won't help you. You do that with math and then you can just hand it over to a "coder". Or you can be both and work at FAANG making half a million us dollars per year, so it's kinda worth it :)
by
0 like 0 dislike
0 like 0 dislike
So if we're talking me specifically, I've been taking classes like scientific computing, Numerical analysis and numerical LA for the past year and a half, and the first time I took one of these courses was the first time I learnt python (or any programming language) properly. Or somewhat properly.

I can use loops and if-else statements well and make functions relatively easily now, but tbh, not much else. Recursive functions still don't make sense, and I probably wouldn't be able to make very efficient code lol.

I taught myself MATLAB recently as well for a project, and while plotting and basic loops and stuff are okay, I still can't figure out how to make a function, let alone anything properly heavy duty. And I've been trying lol.

And then if you showed me something like C (which I did learn but I've forgotten completely by now), I'd probably code worse than a 12 year old techy kid.

My problem? The math is okay. Translating it into code is somewhat okay. But, I'm not always sure how the coding languages work. Syntax and the language itself is a major issue. That, and I'm not sure I can write concise code. What I write will be very long and usually slow, but it'll work lol. But, if you put me next to a CS/engineering person (in my example, my brother) and explain the math to them, they'll easily be able to come up with much better and much more concise code.

Anyway, yeah, I really don't think just being able to do the math makes it easy to learn to code. Imo, it may be easier to code *once* you learn, but obv you'd have to learn *properly* to be able to code first to compete with anyone who started off with a degree/job in CS or something relevant.
0 like 0 dislike
0 like 0 dislike
I found dynamic languages crazy confusing eg python and javascript. Statically typed languages like C++, C#, Java etc were pretty easy to get my head around though
0 like 0 dislike
0 like 0 dislike
Oof, nobody mentioning "functional programming" and related things!

OP, you might want to check out haskell for instance. You will likely find things like writing recursive functions much easier in this paradigm. To be disgustingly reductive and anyone more eloquent please correct/expand for me: "Procedural" is more about working with how computers work. "OOP" is a corporate thing designed to have exchangeable workers. "Functional programming" is a bit more in line with "mathematical reasoning". Composition of functions being a big thing. I'm sorry I've explained this so poorly. I will stop in just saying, that I have noticed a lot of mathematicians "click" with functional programming.

You might also find yourself descending (ascending?) into some rabbit hole (heaven?) of lambda calculus and category theory.
by
0 like 0 dislike
0 like 0 dislike
I have seen how non math people code vs math people. Your code might be inefficient, but I guarantee you it's more readable, less buggy, easier to refactor and more modular than a large majority of someone with a CS or SWE background.
0 like 0 dislike
0 like 0 dislike
I took a Java class last semester and got a 100 percent. I’ve never programmed a day in my life before. I think that studying mathematics has increased my problem solving skills a lot. Also the logic or flow of programming follows mathematics too, I feel like.

Related questions

0 like 0 dislike
0 like 0 dislike
0 answers
RafaLomana asked Jun 21
Kalman Filter Filter Implementation for IMU + GPS Position Estimation - Do you know free resources with more simple explanation?
RafaLomana asked Jun 21
0 like 0 dislike
0 like 0 dislike
3 answers
MattWoosie asked Jun 21
If you had to pick the best method for solving Poisson’s Equation, which would it be and why?
MattWoosie asked Jun 21
0 like 0 dislike
0 like 0 dislike
15 answers
James_NBC15 asked Jun 21
What Are You Working On? May 16, 2022
James_NBC15 asked Jun 21
0 like 0 dislike
0 like 0 dislike
5 answers
davidkosten asked Jun 21
Best way for you to learn?
davidkosten asked Jun 21
0 like 0 dislike
0 like 0 dislike
41 answers
serapduygulu asked Jun 21
What is the best layman interpretation of any mathematical concept you have seen?
serapduygulu asked Jun 21

29.6k questions

121k answers

0 comments

33.7k users

OhhAskMe is a math solving hub where high school and university students ask and answer loads of math questions, discuss the latest in math, and share their knowledge. It’s 100% free!