[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strong Typing, Dynamic Languages, What to do?



Oscar Fuentes wrote:

> Abbreviating: it has no sense to say that somebody that doesn't know
> what are you doing is capable of providing a better solution for your
> problem than yourself.

Duh.  This is the basic fact underlying all of optimization theory.
So what?  You haven't even begun to address my question.

- Your "logical demonstration" is only a proof of possibility, not
  certainty.  (To be utterly pedantic, you've only used the dia
  modality, not box.)  As Keith Cooper, a compiler optimization
  wizard, memorably put it, "Information is not optimization."  Think
  that over.

- In a sufficiently complex domain, even the implementor of the
  special-purpose collector may not understand the details to know (a) 
  how to exploit them or (b) that he has done so soundly.

- The engineering of special-purpose collectors is highly
  non-trivial.  In many domains, it will take a while to match, much
  less beat, the performance of a finely-tuned general-purpose GC.

- Even if you could come up with a customized mechanism, there's no
  guarantee that it will necessarily be better.  For instance, even if 
  your domain guaranteed the exclusion of cycles, reference counting
  will not *necessarily* be better than a copying GC.

- As a real-world programmer, you know all about cost-benefit
  analysis.  Do the obvious thing here (analysis cost, creativity
  cost, development cost, maintenance cost, ...).

- Even when you've done all this and decided you can build a better
  mousetrap, your manager may come along and demand that your language 
  run-time interact closely with code written in C++ by a guy who
  insists C++ has _two_ features he absolutely needs.  Now what will
  you do?

So instead of getting sidetracked into analyzing an empirical question
through logic, let's get back to my question: how about some evidence?

Shriram