|
![](/i/fill.gif) |
nemesis <nam### [at] gmail com> wrote:
> the rest is quite accurate. Or might I say, *was*. Because once upon a time C
> indeed was high level and javascript was interpreted...
Why is C not considered a "high level language" anylonger, given that
once it was?
AFAIK originally the idea with a "high level language" was a language which
abstracts away the machine code completely, allowing the same program to be
compiled for completely different and unrelated processor architectures. This
in contrast with assembly, which is a 1-to-1 correspondence between machine
code instructions and keywords, making the language completely tied to the
specific processor architecture and hence non-portable.
Consider, for example, the x86, PowerPC, ARM, UltraSparc and DEC Alpha
processors. They are completely different architectures, and completely
incompatible with each other. The same machine code, or even the same
assembly program, which works in one of them will not work in the others.
However, the exact same C program can be compiled to all of them without
modification, and it will work in the same way in all of them. That's what
makes it "high level": It abstracts away the processor architecture.
This is a rather concrete definition of "high level language". However,
at some point a much fuzzier definition was introduced, and this new
definition excluded C. What exactly *is* the precise new definition?
I have no idea. Why was it necessary to be introduced? I have no idea.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |