Re: Letter to US Sen. Byron Dorgan re unpaid overtime

From: Edward G. Nilges (spinoza1111_at_yahoo.com)
Date: 12/23/03


Date: 23 Dec 2003 11:35:52 -0800


"Jos A. Horsmeier" <j.a.horsmeier@wanadoo.nl> wrote in message news:<3fe76690$0$189$1b62eedf@news.wanadoo.nl>...
> "Richard Heathfield" <dontmail@address.co.uk.invalid> wrote in message news:bs7ji0$fts$1@titan.btinternet.com...
> > Edward G. Nilges wrote:
>
> > > I have discovered that Richard doesn't know (apparently) how compilers
> > > work
> >
> > Have you really? I think that what you actually discovered (because I told
> > you) is that I've never written a C compiler. That's because I've never had
> > a reason to. Incidentally, you've never written a C compiler either, by
> > your own admission, so am I to deduce that you don't know how compilers
> > work either?
>
> I think I have to respond here too -- I was the one who seconded Richards'
> non-believe about Edward not being capable of writing a decent compiler.
> I still think Richards' believe (and mine) is right. I consider it a bit
> unfair when Edward 'attacks' (mind the quotes) Richard w.r.t. this detail.
>
> But more important, if one has/needs to craft a compiler for, say, language X,
> one has to have knowledge about this very language X in every nitty-gritty
> detail. The other way around is simply not true. When Richard writes that
> he never had that need/urge to write a C compiler, it doesn't deduce anything
> about the amount of knowledge he posesses about the C programming language.
> Even more, it doesn't deduce anything at all about his knowledge of whatever,
> especially not when this is beyond the scope of comp.programming.
>
> Some more small remarks that caught my attention because of previous remarks:
>
> - size_t is not Richards' invention; he just uses it wisely;
> - strlen(s) is just a stdlib function, no more no less;
> - if and only if a compiler can determine by formal deduction that
> a function happens to be referential transparent, only then it is
> allowed to memoize its first return value after a first invocation.
> - for strlen(s) the above is not deducible.

I'll concede that strlen should not be used in code that needs to be
efficient, but it is said in this ng that we need to use C to
communicate algorithms.

If that is the only valid reason for using C, then I needed, when I
submitted my first code example (a truth table compiler and
mini-lexer) in May 2002, to be clear especially to the many people who
no longer use C every day. Therefore I decided to use strlen as more
expressive of intent.

In my actual C practice prior to my abandonment of the language in
1993 in fact I usually developed proto-objects which handled strings
because I knew that strlen would in an unoptimized compiler generate
loops.

In all the time that has been wasted by Richard Heathfield et al.
shamelessly libeling my competence, any one person could have modified
the code to be "efficient" and respectfully posted the changes with no
inference as to my "competence", inferences which could damage my
hard-earned professional standing were it not for the fact that
frequent posters to public access newsgroups are regarded as trolls.

This is what I have done and would have done, but Richard's feelings
were wounded by the popularity of my topics including Steve
McConnell's book and the data quality act. He does not feel qualified
to speak on computer science in general and clearly hasn't had the
time to read outside his narrow specialty, perhaps because in the
large he consistently finds that micro-efficiency wars upon actually
shipping a product.

>
> kind regards,
>
> Jos Horsmeier



Relevant Pages

  • Re: C closures & lexical scoping
    ... runtime calls, and other things, whenever we use certain language ... there is less reason for concern. ... the kind of optimizing detail that I want the compiler to worry about, ... surely the function call is the reason for the binding frames, ...
    (comp.lang.c)
  • Re: "STL from the Ground Up"
    ... high-level intermediate language than can interoperate with many other ... If your language lacks expressive features then you cannot write code ... memory management in comparison. ... Mostly because type errors mean that the programmer and compiler disagree ...
    (comp.programming)
  • Re: A note on computing thugs and coding bums
    ... It would handle international characters if the execution character ... method I used in "Build Your Own .Net Language and Compiler". ... work areas and counting on Nul is an illusion. ...
    (comp.programming)
  • Re: WaitForSingleObject() will not deadlock
    ... represent an incorrect implementation of the language. ... the *compiler* does not guarantee this. ... but to state it in terms of the execution instead of the formal semantics of the language ... as long as the optimizations do not change the semantics of the language). ...
    (microsoft.public.vc.mfc)
  • Re: "STL from the Ground Up"
    ... If your language lacks expressive features then you cannot write code well ... Same program is 5x faster in OCaml than C++. ... The compiler infers the types of all subexpressions for you and makes them ... virtual const Base *clone= 0; ...
    (comp.programming)