Greetings. I am a programming and 3D designer, and have recently started learning the basics of cybersecurity. Now, in the course of my studies, I encountered an interesting situation when it is necessary to apply complex mathematical algorithms to solve various problems. In addition, I thought that I used to look at mathematics differently and did not like it. Consequently, my opinion about this subject changed, and I decided that it might be useful to others who decided to go into programming. The article will be more theoretical, but if it is interesting, I will make an example of confirmation in practice in future articles.
One of the most frequent questions asked by beginners, people far from programming, and one of the biggest stereotypes of our time: does a programmer need mathematics? And after all, no one will give a complete answer to this question. This is due to the fact that there are a lot of directions in programming.
Modern programming languages, which are very popular at the same time, are now capable of solving many problems very quickly, and their tools are specially made in such a way as not to cause discomfort among developers during the development process.
Of course, most modern developers prefer to go more to the Frontend, Backend and not create problems for themselves learning languages of any level.
And it’s another matter when the same developers who work only with a high level and program sites, I answer the same question. They say that mathematics is not needed at all. The maximum is addition, subtraction, division, and multiplication. And that there is no need to go beyond the combination law.
It is quite logical. However, it is worth thinking about one important detail that almost no one ever voices. The point is that all computers and computers work with the help of mathematics. And that at the origins of all programming is mathematics.
All software arithmetic is about numbers. Computers use a binary code (1 and 0). It is on this code that systems operate, ranging from operating systems to neural networks. Everything related to calculations always interacts with numbers.
When they had to do complex calculations, they used pencil, paper and mind. But in the process of progress, realizing that such decisions take a long time. Therefore, they began to create computers to automate certain processes. And for these processes to be automated, templates had to be developed. After all, all computerized devices work on the basis of previously created patterns. And so it happened that the information space created today is a modernized template of the past.
Recall that all people who have done this kind of thing in computational science have always had a good knowledge of a school subject that everyone dislikes. But modern computer technologies have not removed this science anywhere.
All complex low-level programming languages are based on mathematics, and modern high-level languages too, because they have a foundation from no level. But the higher the level of the language, the harder it is to create something complex and large.
Therefore, often everyone tries to avoid learning C / C ++, Java and other similar languages, but prefer to go to web development, where the process of understanding the direction and technologies is easier, and the pay is no worse.
Think about it, all complex things are written in low languages and include mathematical knowledge. Of course, there is no need to teach the entire course of high school, but if you seriously want to create, for example, your own OS, write a cool framework, or a unique artificial intelligence, then it will be almost impossible to do this without good mathematical knowledge and appropriate skills in programming language.
Answering the question, “Does a programmer need mathematics? “, I can safely answer:” Yes “. Whatever the programmer is and whatever he does, the more knowledge in exact areas he will know, the better for him as a specialist.
This science cannot be neglected, and it certainly cannot be said that it will be enough to know only addition, subtraction, multiplication and division. What do you think?