newbie in programming

ApacheKid

Joined Jan 12, 2015
1,619
Interesting post!

I agree with you. I shake my head when someone says a background in math and sciences helps with learning to program. I don’t have the proof to dispute these statements, but instinctively question them. I’m general, I feel that a background in the sciences is NOT helpful. Mathematics, maybe? Geometry - yes. Applied Mathematics - yes. And my reasoning is that both start with a limited set of axioms upon which a rigorous process to establish theorems are built.

In programming one might say the axiom is the available structure to the code, be it syntax or control templates, resulting in a hypotheses/ program. If one accepts that a complex program is a collection of smaller programs, the analogy extends.
I totally agree. They lay person assumes that being good at math means a person will be good at programming but it's untrue. Mathematics as we do it and represent it is very far removed from Turing machines, whereas as Lambda calculus is mathematics.

Its not as well known as it could be, but both Turing machines and Lambda calculus are logically equivalent definitions of computability. They can each define what a mathematical computation is but do so in very different ways.
 

boje50

Joined Aug 8, 2022
2
The best way to learn is to write simple lines, I also studied this way and I learned it maybe not quickly but over time I learned it all
 

xox

Joined Sep 8, 2017
838
I totally agree. They lay person assumes that being good at math means a person will be good at programming but it's untrue. Mathematics as we do it and represent it is very far removed from Turing machines, whereas as Lambda calculus is mathematics.


Its not as well known as it could be, but both Turing machines and Lambda calculus are logically equivalent definitions of computability. They can each define what a mathematical computation is but do so in very different ways.

Yep. I've seen more than a few codebases where the maths are absolutely amazing. But the code? Total crap! Potential buffer overflows, dangling pointers, just a complete mess all over the place. Which is strange if you think about it because literally everything in programming boils down to some sort of mathematics. Even the mundane stuff like freeing memory or what have you. It does after all have a logical purpose, so it kind of stands to reason that a talented mathematician should also be pretty good thinking about those things to ensure that their program is "correct".
 

nsaspook

Joined Aug 27, 2009
13,315
Yep. I've seen more than a few codebases where the maths are absolutely amazing. But the code? Total crap! Potential buffer overflows, dangling pointers, just a complete mess all over the place. Which is strange if you think about it because literally everything in programming boils down to some sort of mathematics. Even the mundane stuff like freeing memory or what have you. It does after all have a logical purpose, so it kind of stands to reason that a talented mathematician should also be pretty good thinking about those things to ensure that their program is "correct".
Good programming requires the principles of good physical construction based on the limitations of physical hardware and the OS (if there is one). Most of talented mathematicians I know don't seem to think in that universe. That's fine.We use them to find a possible solution, not a practical one.
 

ericgibbs

Joined Jan 29, 2010
18,874
Hi Guys.
Once again, remember the TS's request.
Do you have any advice to learning programming easier for newbie?

Off Topic Posts will be deleted.

Moderation
 

WBahn

Joined Mar 31, 2012
30,088
Someone else may have already said this, but my recommendation is to come up with a project that interests you and for which you think the programming skill needed is a bit beyond where you currently are. Then start playing around with code, little by little, to implement it. Start with parts of it that you think you can handle right now. Simply the requirements, at least temporarily, if needed. When things don't work like you think they should, take the time to figure out why they behave the way they do. Figuring those things out is what a resource like this forum is extremely well suited for because you can post a code snippet and say what you wanted it to do and explain what it is doing and ask for an explanation of why it doing what it's doing. That makes for a very tightly focused discussion from which you can learn very specific and useful things within the context of trying to solve a problem that is of interest to you. At first, the "project that interest you" may need to be narrow and a bit contrived. That's fine. There are tons of websites that post interesting problems aimed at all different skill levels. Start trying them out -- they can be downright addictive.
 
Top