Category: "engineering"

Fallacies of computer topics: A physicist's point of view II

December 6th, 2016
Fallacies of computer topics: A physicist's point of view II

Another misunderstanding is as for the programming language, Fortran. This is one of the very old languages developed for numerical calculation of physics and mathematics, but still exists.

Fortran is a language specialized only for calculation, so it has been updated with such objective. In other words, Fortran becomes the most accurate and the quickest to calculate physics problems.

However, C language (later extended to C++) emerged in the market and it has been more versatile, especially for software engineers. Then, the language spread out for almost all the programmers.

After that, speaking of Fortran, people say, "You are still using such an old fossil-like language?", or "You can’t get any job if you use such a language."

Indeed, most of those people have never used Fortran, and they do not even have programming experiences. (By the way, I have used two languages, C / C++ and Fortran, in the calculation of physics and mathematics for a long period.)

Currently, Fortran is still being developed. Related engineers are upgrading it so that we can even use pointers and object oriented programming, which could only be used in C /C++ a long time ago. On the other hand, for C/C++, people created a lot of libraries and modules for numerical calculation. Now, the difference between Fortran and C has decreased.

However, there are still some weak points for each of them. Fortran cannot be used as a general purpose. In other words, Fortran is still not optimized as a role of programming the software. (Maybe, it doesn’t have to be…)

Then, C / C++ has a weakness in giving accurate numerical values. The default accuracy of Fortran is much better than C /C++.

A couple of years ago (about year of 2014), I had to give numerical values using the formula of quartic equation, which is called Ferrari's formula. I initially used C, but the result was far from the exact solution. Then, I programmed the same algorithm with Fortran, and as a result, I was able to get the accurate values that were very close to the exact solutions.

I believe that the computer and its languages will be developed further in the future. Thus, rather than learning only a popular language, people should master multiple languages and spend a time to accomplish something with those programming languages. That will be more important as a programmer or a simulator.

Fallacies of computer topics: A physicist's point of view I

December 5th, 2016
Fallacies of computer topics: A physicist's point of view I

As a physicist, I have had many opportunities to use computers. My job has involved managing hardware and software for physics experiments, programming for numerical calculation, and repairing of system problems. 

However, I am not a computer expert. I don’t have a degree of computer science. I don’t have experience in developing computer software either. So you can see I am a person between computer amateurs and the experts. In this article, I would like to point out fallacies related computer topics as a physicist.

First of all, for people who do not know computers much, the concept of bits is not well understood. A common mistake is that "64 bits is twice the 32 bits."

A bit is a unit for counting the number of digits in the binary number system. Therefore, one bit is one digit, which represents two ways such as 0 and 1. If you have 2 bits, it will be four ways with two digits and each with two ways.

By considering this rule, we conclude 32 bits as 2 to the power of 32 ways. So 64 bits are as 2 to the power of 64. Therefore, 64 bits will be 4294967296 times larger than 32 bits. (You can simply calculate 264 divided by 232.)

Certainly, the number of digits is twice, but from the number of cases it can handle, this value is more meaningful to consider the power of computation.

This is the same as physics. The units represent what the numbers are, and give you the meaning.

 

Picture by by John Kovacich