definition of a highlevel language?

miller.paul.w at gmail.com miller.paul.w at gmail.com
Mon May 26 14:47:05 EDT 2008


There is no solid definition of "high level" that one can
unambiguously use to classify programming languages into "high level"
and "not high level," or "low level."

My personal definition is something along the lines of: a high-level
language is one which lets you solve problems without worrying about
"accidental complexity."  By "accidental complexity," I mean such
things as manual memory management, needing to explicitly close files,
etc.

Of course, I consider Python to be "high level."  It's garbage
collected, so, no manual memory management (most of the time --
sometimes the GC needs help); if I want to iterate through a sequence,
I don't have to do crap like

max = len (seq);
for (int i = 0; i < max; ++i) {
    do something with seq[i];
}

I just do:

for item in seq:
   do something with item

Another piece of evidence that points to Python's high-level status is
that if you take a look at some "pretty close to actual programming-
language looking pseudocode," then translate it into Python, typically
the Python code is not much longer than the pseudocode itself.  On the
other hand, translating pseudocode to C or Java often results 50-100%
more lines of code than there were lines of pseudocode.



More information about the Python-list mailing list