Re: Try Finally...

From: Duncan McNiven (duncan_at_mcniven.net)
Date: 10/26/04


Date: Tue, 26 Oct 2004 21:04:01 +0100

On Tue, 26 Oct 2004 04:20:56 -0400, L D Blake <not@any.adr> wrote:

>On Tue, 26 Oct 2004 08:47:56 +0100, Duncan McNiven <duncan@mcniven.net> wrote:
>
>>I for one am left with the impression that you are
>>re-writing the Delphi code to get around problems caused by
>>misunderstanding and misusing that code.
>
>and I for one am becoming deeply insulted.

Well I am deeply confused. You have totally failed to show any problem
with the way the standard mechanism works, and declined to post code to
illustrate this problem that you alone seem to see.

>[Sigh]... once more around the loop...
>
>We are not discussing end user code here Duncan.

Yes we are. Your proposed changes break existing end user code, and
require end user code to be written differently in order to be
compatible with your changes. That is a major problem, and you are
causing it.

>My hope was to discuss the way the *language* itself works...

Then post some CODE to illustrate your point.

>As I've already made plenty clear in other messages any language with a
>reserved word that depends on loaded units has one serious problem.

You see it as a serious bug, but no-one else seems to. Certainly I have
never known anyone mention it before. Personally it comes as no surprise
to me to know that things do not work correctly if I do not include the
correct units, and if I did that I would regard it as my bug, not a
fault in the language.

>This isn't
>a trivial bug like not resetting the ioresult variable after a chdir
>operation... we are talking about entire language constructs that can get put
>into a program, sent to a customer and put into use... without ever realizing
>the code does not operate as advertised.

If you send out code without testing that it works, that is, I would
suggest, more a problem with your methodology than with the language.
Anyone that distributed untested code would not last long on any team of
mine.

>Now I don't know about you... but I'd rather mess with the guts of the
>language than risk that happening.

You say you are retiring in 3 months. Have you ever stopped to think of
the poor sod who has to maintain your code? Someone who gets a job as a
Delphi developer only to find that reserved words don't work as they do
everywhere else?
The days of tinkering with the guts of a language in order to save a few
bytes or CPU cycles have long gone. We have moved on from there, and
nowadays clear maintainable code has a much higher priority than minor
efficiency gains only noticable by the developer.

-- 
Duncan


Relevant Pages

  • Re: Indentation and optional delimiters
    ... Probably many years ago a language like Python was too much ... But there's a need for higher level computer languages. ... Today Ruby is a bit higher-level than Python (despite being rather ... So it's a type bug. ...
    (comp.lang.python)
  • Re: Static vs Dynamic
    ... it's easy to miss the bug because the code looks quite correct ... >>As an experienced Java programmer you need to keep lots of code idioms ... These problems don't exist in a dynamically typed language. ... Any bad thread programming in any language is troublesome ...
    (comp.lang.lisp)
  • Re: best programming language for console/sql application?
    ... Zhang (or Weiwu?), I'm surprised there are no good open source bug tracking solutions out there already. ... Product, Platform, Version Range, and Programming Language. ...
    (freebsd-questions)
  • TransModal modal dialog project : beta testing
    ... I am proposing the current v. 0.0.3 beta for criticism and for bug fix ... user's preferred language and not English ... var lang = navigator.userLanguage.substring; ... * Until IE7 form controls were external DirectX objects ...
    (comp.lang.javascript)
  • Re: c / c++ : is it end of era ?
    ... That's not a bug. ... It's a design decision. ... If you want a super-handholding, ultra-safe language, they are out ... hence he is not a C programmer. ...
    (comp.lang.c)