Mathematics is a way of thinking

Source: Internet
Author: User

From: http://www.kuqin.com/math/20071126/2658.html

Mathematics is a way of thinking

Author: Unknown Source: coqin Internet-11-26

 

Summary

The development history of Kol's mathematics contains the endless creativity of many people. It is obviously not enough to solve the problem step by step through logical reasoning. The solutions to many mathematical problems originate from some kind of intuition, some creative construction, and even many irrelevant things. Then we can improve it through a logically rigorous derivation process.

A reader wrote several emails to me over the past few days and asked me what is the relationship between mathematics and programming? How deep does programming require? Which mathematical knowledge should be mastered to improve programming capability.

 

This is really hard to say.

 

Let's talk about what we learned in the classroom. In addition to elementary algebra, I have not encountered many problems in programming that depend on mathematical skills. I learned the C language very early in the year. I didn't even know the concept of function in mathematics, but I also finished C linguistics differently. After a few years, I joined the functions in mathematics with the functions in the program.

 

For 3d game programming, linear algebra in the University may still be used. At least you must know the matrix operation. However, most programmers do not need to touch these things. In addition, if programmers must be proficient in calculus to program, it is absolutely a ghost.

 

If you are interested in programming to solve various problems, you may have some mathematical knowledge in related fields. For example, I often do some data statistics and analysis work due to my interest, so the knowledge of probability statistics is indispensable. But to solve the problem, programming and mathematics are just tools. Their status is equal, not that programming skills depend on mathematical skills.

 

Is learning mathematics useful? Of course it is necessary. Because mathematics is a way of thinking, programming requires such a way of thinking.

 

I have a friend who told me that he was studying Buddha ten years ago. One problem is not clear: Buddha said, Don't be persistent. So attach to do not attach is not a kind of attach.

 

After a few years, he hasn't figured out the problem.

 

How can I stick to such language logic? It is useless to read Buddhist scriptures. Sometimes it is necessary to have an epiphany. This is also true for mathematics.

 

Learning mathematics is definitely not an endless problem-solving training. We need to learn how to think about it. That type of logical and rigorous reasoning builds a perfect realm. Discover theoretical defects, analyze them, and reconstruct them. Of course, this process requires us to do a lot of exercises to understand the truth.

 

The same is true for programming. Constantly writing code itself cannot directly improve programming capabilities. What we need is insights into the problem, the ability to build a system, and the ability to understand the ins and outs of machine operations. These capabilities are enlightened in constant programming practices.

 

Programming, like mathematics, is absolutely rigorous. The program has a specific input. After a specific process, it must have a specific output. We cannot have a mysterious idea about bugs in programs. They will not appear without reason, and disappear without reason. This is just like the mathematical proof that the defects of logic or concepts will not disappear over time and will always wait for future generations to fix them.

 

On the other hand, intuition is also very important in mathematics. Intuition helps us quickly understand and solve problems. The more you know about mathematics, the more accurate the intuition of mathematics. A lot of mathematical knowledge can be understood by intuition without much research and learning. People who write more programs usually feel this way.

 

Sometimes, some propositions in mathematics are intuitive, but the process of proof is complicated.

 

For example, in topology, if the curve theorem is: a simple closed curve on a plane, C, can just divide the plane into two areas. One is internal, and the other is external. In other words, points on the plane are divided into two types: Point Set A outside the curve and Point Set B inside the curve. Any two points in the same point set can be connected with a curve that does not overlap with C, and a line connecting two points that do not belong to the same point set must be connected with C.

 

This theorem looks intuitive and is obviously correct. However, it is difficult for ordinary people to make rigorous mathematical proofs, or even difficult to understand.

 

Modern Programming we often encounter something similar. Especially when the system becomes more and more complex, you can clearly know what it can do with a simple application code, but few people can fully explain how it is done step by step. For example, a simple Windows program code is like this. Only with a thorough mathematical spirit can we go into the bottom layer of the operating system to understand how the system works. These are not just one day's success, or even less than year 35. Many mediocre programmers are satisfied with dragging two controls to bond the code. In the end, I will only sigh that the program can only be written at the age of thirty. I want to say that mediocre qualifications, such as me, are good to get started at the age of thirty.

 

The development history of mathematics contains the endless creativity of many people. It is obviously not enough to solve the problem step by step through logical reasoning. The solutions to many mathematical problems originate from some kind of intuition, some creative construction, and even many irrelevant things. Then we can improve it through a logically rigorous derivation process.

 

For example, the final proof of ferma's theorem. First, we found the relationship between the ferma curve and the elliptic curve where the solution of the ferma equation is located, and then constructed a special elliptic curve. if and only when the ferma theorem is not true, this curve exists. Finally, it is proved that this curve has some extremely strange and untrusted properties, which makes it impossible to exist and proves the establishment of the ferma theorem. Although many cutting-edge mathematical theories have been used to prove this, the clever framework of the entire thinking is also admirable.

 

The same is true for programming. First, we need to be comfortable with the features of various programming methods and programming languages. Then, programming is definitely not a simple pile of code. It requires us to skillfully build a system, solve the problem in a proper way. In the end, each part must be strictly correct.

 

Finally, I can only give my personal suggestions to my friend's questions. Learning programming really requires learning mathematics. However, to learn mathematics, you do not have to list the bibliography. Instead, you should read the boring textbooks in one book. We only need to read from the history of mathematics to find out how humans understand mathematics step by step, learn the ideas in mathematics, and finally study the interesting part with their own interests.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.