[net.micro.68k] Some thing or another about C and Intel processors.

quiroz@rochester.UUCP (Cesar Quiroz) (05/28/85)

From article <387@gumby.UUCP> (g-frank@gumby.UUCP):
>
>   Clever compilers for almost any language but C can paper over most sorts
    ^^^^^^           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    It seems to me that the way you define 'cleverness'  is important here.
How can you claim a compiler is 'clever' and doesn't produce good code?  
Either it isn't clever at all, or you mean "this is as clever as it can be,
and even then there is no way we could do better".  I go on, assuming you
meant the second (please do correct me if this isn't true).

>         . . .                                 .  The problem is that C is a
>programming language written with a particular machine storage model in mind,
>and it ports poorly to other architectures.   . . .

    True.  Which is a reflection both on the language design and on the
architecture design.  I myself will go any day for linear address spaces
on top of which I could impose other structures, rather than on arbitrarily
limited segments, which impose a structure I may not want.

>and it ports poorly to other architectures.  Modula-2, Pascal, Ada, all are
>languages that port quite well to the 8086 family, and produce efficient,
>readable code without any sort of trickery required of the programmer.

    This may also be true.  It just happens that I don't quite believe it.
How is a large array simpler to use in Pascal than in C?  How is a Modula-2
compiler to decide whether a particular procedure in an external module
(whose *interface* is all we have) is going to end up being 'far' or 'near'
its uses?

>
>   The problem is C, not Intel.   . . .

    Is that a choice?

>                                 If you have programs that require enormous
>data arrays, you picked the wrong processor, didn't you?  Otherwise, you just
>picked the wrong language.
>

    Agreed.  For years, 64K was deemed to be an awful lot of storage.  Now it
isn't any longer, but it is certainly true that one may find lots of problems
that will perfectly fit in 64K or less, much better in 128k or so.   Not that
they are too interesting, but they are still there. By the way, how much is 
a 6502/6510/6809/z80 when compared with a small-model 8088/8086?

>   Do try to desist from characterizing particular processors as being "suitable
>for vending machines," by the way.  I have a stupid 68000 system in my basement
>that I can't use and can't sell because there's no software for it, and one of
>those vending machines sitting on my desk.
>
    Amen.  That only adds noise to the discussion.

>
>-- 
>      Dan Frank
>

Cesar Augusto  Quiroz Gonzalez

Department of Computer Science     {allegra|seismo}!rochester!quiroz
University of Rochester            or
Rochester,  NY 14627               quiroz@ROCHESTER