R
Rui Maciel
bart.c said:The point is not having to bother with these details (together with all
their clutter, and potential for bugs) especially with code that is being
revised over and over again.
Quite bluntly, if someone is unable to figure out how a linked list works and believes that it's a
source of "clutter", along with being a potential source of bugs, then if that person intends to
write a science/engineering... Well, let's say that handling a linked list is the least of his
problems.
By having to deal with an element at a time?
And why exactly do you believe you are forced to "deal with with an element at a time"?
Typically such a language will use the most accurate type for floating
point. But you don't have to tell it what to use, and it's possible also
to have lists of mixed numeric types.
The word "typically" also reads as "the user doesn't really know what's going on". There's a lot
of science invested in evaluating margin of errors involving FP operations, all of which is
rendered useless once that info (or, better yet, the control over that parameter) is taken away
from you. And what good is your calculation for if you don't have a way to know how far off it
may be?
For someone who's a clumsy typist, there is just more opportunity for
mistyping. Again, for code that is being revised every few seconds, a lot
of time is wasted dotting i's and crossing t's there will never make it to
the final version.
Quite bluntly, this is a terrible excuse. If you can't even manage to type what you mean then
what makes you believe that your program is working right, let alone as you expected it to work?
You've chosen an extreme example. There are languages that are not quite
300 times slower than C, and yet offer rapid development.
How exactly is this an "extreme example"? It's an objective benchmark which provides a
quantitative comparison of a set of parameters which can't simply be ignored.
Moreover, we aren't discussing general purpose applications, where the most demanding part of the
program is how fast it can repaint a button. We are discussing an application domain where
performance is king, where people spend a lot of money on high-end systems to be able to crunch
numbers a tidbit faster than before. In some cases people even pay good money to run their
programs on specific computers, a service which comes with a price tag which is proportional to
the amount of time it takes for the program to run.
Anyway it's also possible to use such a language to develop an algorithm
(trying perhaps dozens of approaches), then to write the final version in
C.
It's also possible to develop algorithms with pen an paper. That doesn't mean that we should
suddenly drop C in favor of a bic pen and a notepad.
Rui Maciel