Re: ILC2005: McCarthy denounces Common Lisp, "Lisp", XML, and Rahul



Christopher C. Stacy wrote:
Ray Dillinger <bear@xxxxxxxxx> writes:


C is rare among programming languages in that it takes downward
extensibility as a serious goal and does it well, and C and its
descendants practically rule the earth these days. I think this is not a coincidence.


Contrary to popular belief, the C language does not provide a
way to access low-levels (such as memory locations or registers) of the machine that executes the program. The ISO standard is
quite clear on the fact that C program semantics are defined
in terms of abstract execution environment (eg. "in which issues
of optimization are irrelevant", 5.1.2.3).

sigh. I'm not talking about the C spec, I'm talking about C.

In the real world, C programmers can write subsections
of their programs in machine code and that machine code
will usually run fine even if the C code is compiled
by a different compiler.  It is outside the scope of
the *official* standard, but the data layouts of
structs, etc, are so strongly constrained by tradition
and expectation that they are an *effective* standard.

Hell, the tradition is *so* strong that *binary*
interfaces to OS calls are usually specified these
days in terms of C structs, and the implementors of
code to call those functions from *other languages*
all know exactly what data layout those C structs
refer to and can implement calls to them from other
language systems.

I'm not going to quibble about what's in C's spec.
The spec is (very clearly in this case) not the
language.

				Bear

.



Relevant Pages

  • Re: How do I dig a memory value out?
    ... language hit the 'sweet spot' between a higher level ... > that would compile to machine code. ... > A friend of mine who was working with lasers, (and also had an Atari) ... Someone brought it into a user group meeting. ...
    (microsoft.public.vb.general.discussion)
  • Re: MSIL or Bytecode taught instead of ASM
    ... efforts of the "high level language" communities, ... spent learning any given assembler or assembly language. ... said IL (unlike the basic architecture). ... traditional VM (the high or low-levelness between bytecode and machine code ...
    (comp.programming)
  • Re: a new language
    ... there is not that much reason to use it for much...). ... then I tried ripping off ideas from java (making a mostly statically typed ... language, and a vm resembling the jvm). ... my design included 'structs', where structs differed primarily from classes ...
    (comp.lang.misc)
  • Re: Universal Computer Truths
    ... language like Forth or C or Lisp or Ruby or Python or *whatever*, ... that what is being done in assembly (and/or machine code) is correct for the ... A simple example is how different compilers implement x86 instructions for ... You don't even know that the assembler is producing the ...
    (comp.lang.forth)
  • Re: Is Procedural Paradigm a basis of OO Paradigm?
    ... Now a given language may allow for such, ... I don't know machine code so I cannot be sure. ... But it is saying that the a specific program under a specific mapping ... roman numerals equivalent to mathematical sentences written in arabic ...
    (comp.object)