Re: Question about Delphi versus other languages

From: Bruce Roberts (ber_at_bounceitattcanada.xnet)
Date: 10/21/04


Date: Thu, 21 Oct 2004 10:43:35 -0400


"Marco van de Voort" <marcov@stack.nl> wrote in message
news:slrncnemhh.2rtr.marcov@turtle.stack.nl...

> Or more importantly of course, when a user must wait.

Wait a perceptable amount of time. The difference between responding in 50ms
vs 230ms is imperceptable to the vast majority of users. IOW one needen't
sacrifice clarity or maintainability in most i/o bound operations.

>
> > Optimizing a tight loop to lookup in response to a combobox keystroke
rarely
> > has a significant impact.
>
> I don't understand where this comes from.

The point is that in an i/o bound operation with a generally short loop
having an optimized loop may save a few ms but makes no real difference in
the user's perception of performance.

> > OTH the cost of not catching errors at the point of occurrence can be
> > huge.
>
> Yes, but the chances of that are not very high either, (that range check
> will catch it, that the report will be usable, and that there is a
mistake)

I beg to differ, but even if you are correct the savings by early trapping
of a single error is often significant.

> Moreover, it could terminate program execution prematurely while not 100%
> necessary on the customers machine.

If it isn't necessary, then the program should have been coded that way.
Fact is its an error that should not be there. Stop the program, tell the
user, let the user tell support so that the problem gets fixed. In any case
while a program may still be able to function after an error it does not
mean that the program will function correctly. The cost of incorrect
behavior can be extreme and for any but the most trivial of applications is
usually significant. (And for software vendors, lets not forget the product
liability considerations.)

> That's correct, but doesn't help the case since IE wouldn't have gone out
of
> the door this way if they had range checking. So there is still no reason
> to leave it on in a decent QAd product.

You are presuming that QA catches 100% of all bugs. Were that the case I
still would not agree with you. In the example I mentioned the error would
probably only show up if a user specifically attempts (usually maliciously
so) to break the software - something QA rarely tests. Even were such tests
performed its unlikely that all execution paths could be so tested in a
reasonable amount of time.



Relevant Pages

  • Re: "not responding" and refresh label question
    ... application showing "not responding" when it is actually working. ... Thats a quick summary of it...standard loop inside a loop trick. ... not have it show up as a white block. ... I tried the sleep method, ...
    (microsoft.public.vb.general.discussion)
  • Re: "not responding" and refresh label question
    ... application showing "not responding" when it is actually working. ... Thats a quick summary of it...standard loop inside a loop trick. ... not have it show up as a white block. ... I tried the sleep method, ...
    (microsoft.public.vb.general.discussion)
  • "not responding" and refresh label question
    ... application showing "not responding" when it is actually working. ... Thats a quick summary of it...standard loop inside a loop trick. ... not have it show up as a white block. ... I tried the sleep method, ...
    (microsoft.public.vb.general.discussion)
  • Re: Using regular expressions
    ... [Please do not quote the whole message you are responding to, ... what's needed to give context. ... >> using a for loop will read the whole file into a list in memory. ...
    (perl.beginners)