NYCPHP Meetup

NYPHP.org

[nycphp-talk] Is it worth learning Python too?

James Wetterau james at surgam.net
Wed Apr 14 12:47:07 EDT 2004


Daniel Krook says:
> 
> 
> 
> 
> > Meandering on....I have a book that refers to C as a "high level"
> > language. What's lower than C?
> 
> High-level essentially means that you're writing your program in a human
> readable format, and that what you're writing is abstracted from how the
> machine will understand it, which is why it goes through the process of
> compilation.   Assembly code and raw machine code are low-level languages.
...

Another important practical distinction is that a high-level language
is presumably portable between different computers.  A C program can
be written so that it will compile for any computer architecture.
(It's not necessarily the case that it will compile cleanly, or work
correctly, but it should be possible to write it so that it can, as
long as a C compiler and standard C libraries exist for the computer
or operating system in question.)

A low-level language from this perspective is fundamentally different.
If you write an assembly language program that will assemble correctly
for one computer, no matter how carefully you do it it generally will
not work correctly for a different kind of computer and probably could
not be made to work correctly for both different kinds of computer.
The only exception might occur if it were an extremely trivial program
and the two computers were quite similar, or coincidentally shared
very similar assembly languages.

The definition of a compiler or interpreter or virtual machine
includes the ability to read source code in a high-level language and
generate correct executable programs for different kinds of computers.




More information about the talk mailing list