Who is Worse: Software Developers or Users?

My two messages to the discussion on the ICS-L list

A simple problem with ‘<‘ in Matlab?


I have browsed the current discussion and it was quite entertaining. It helped me to relax a bit after a long working day.

The question that I am asking myself often recently, who is worse: software developers or users. This discussion shows that users seem to blame more than developers. It happens that many MATLAB users expect miracles and do not want to understand basics of numerics.

The first question to ask yourself is whether you want symbolic computations or numerical ones. If you decide for numerics, then you have to learn how to work with floating numbers. Whether you choose a free software or commercial, this does not matter, the technology for floating numbers is the same.

One can definitely bet that in numerics

0.01 + 0.01 + 0.01 + 0.01 + 0.01 +
0.01 + 0.01 + 0.01 + 0.01 + 0.01 + 0.01 == 0.11

and sometimes it may even work but it would be much better to take a course in numerics.


A couple of comments.

First I was talking not about “become a serious software developer” (Klaas). My point was that it is necessary to understand technology, that is, if someone decides for floating number, he/she must understand that the associativity for example is not there anymore

(a + b) + c != a + (b + c)

The concept of the machine epsilon is also very important. I remember very well the Fortran statement from Forsythe’s Computer Methods for Mathematical Computations

if (1. + eps .eq. 1.)

It took me awhile to understand it. First I thought that this is just a misprint (it is evident that this could not be right) and only when I have run the code I have got the point.

By the way, a very nice book, it is written not for serious software development but rather for public education.