![]() Sorry, what did you say? Static analysis? Version control? Oh, come on, guys! C++ is the language of programmers physicists write in FORTRAN!ģ. They don't care which way it will be done - at all. A programmer is just the guy who knows how to use the Big Calculator to draw the needed graph. As a consequence of the first fact, a programmer is not viewed as a profession. As one can naturally expect, they are mainly interested in the graph itself, not the program.Ģ. Physicists tend to view the computer as a large multi-functional calculator allowing you to draw a graph of Eta versus Theta with Gamma going to infinity. It was at the same time I also figured out the following things:ġ. While studying there, I quite naturally proved to be one of the best at programming (and mathematical methods of physical modeling in particular). People who know the subject will at once guess which research institute and which university I mean. So, I entered a physics university, rather prestigious on the local scale, which in fact is a "kindergarten" supervised by a large research institute in my native city Nizhny Novgorod. At the moment when I had to choose which university to enter, the call of blood was stronger than my faith in the bright future of IT. Though being a professional programmer, I actually come of a family of physicists and have physics education. I can tell you something on this subject from my own experience. Let me quote his comment in full here, so that English-speaking readers could learn about it too, once the article is translated. This comparison was suggested by one of our readers. They use the computer as if it were just a Big Calculator. They never write a complex program - they simply don't think that way. But the world of chemists/physicists/medics is not that way, I'm afraid. There are numbers of articles and books explaining how to correctly develop unit tests and ensure the correctness of computations. They know what an undefined behavior is and how a program may only pretend to work well. Those engaged in programming as their professional activity know how dangerous this approach is. You calculate something and go on with your business. What's not OK, people tend to trust these results more and more. Any programmer, however skillful, makes them from time to time. It's OK that a medic-programmer makes mistakes. ![]() Programs performing chemical or any other scientific computations are far from being simple, aren't they? Here's where the danger is. In other words, I'm speaking of non-linear growth of the number of bugs accompanying the code size growth. Programmers are well aware that the more complex software is, the more complicated and subtle bugs occur in it. ![]() But few really care about the problem of some array accidentally remaining uninitialized. Lab workers are taught to wash test tubes after experiments and make sure they are sterile. A computer experiment requires as much care as a real one. It may seem that an imaginary medic who has learned how to program will by default be a successful and useful programmer - especially given that a more or less acceptable programming skill is much easier to master than organic chemistry and principles of medicine preparation. However, it's not that simple with programming. The reason is obvious: he doesn't have the necessary education for that. So, that's what I think - I need to share this idea with other people.Īt first I intended to entitle this article something like "If programmers can't create medicines, why can medics create programs?" Take some imaginary programmer - he is not allowed to develop and prepare medicines. It's dangerous to exploit a computer treating it just as a big calculator. I'm worried that very few know and care about the fact that software size growth leads to a non-linear growth of the number of software bugs. People treat computer and computer programs just as a means to obtain necessary results. However, dazzled by the triumph of computer simulation, nobody notices the problem of software complexity growth behind it. Numerical experiments are given more and more trust nowadays. A computer simulation model of a wing section flow may help significantly reduce the number of prototypes to be tested in a real wind tunnel. This technology is wonderful because it allows us to save time and materials which would be otherwise spent on senseless chemical, biological, physical and other kinds of experiments. Computer simulation of various processes becomes more and more widespread. In this article I'm going to discuss a problem few people think of. Some bungler goes on writing incorrect loops
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |