0
$\begingroup$

I know that Assembly is the lowest level of the stack besides machine code, but are the languages above it all considered "high level languages" or is there a hierarchy amongst these languages. For instance, are C++, Ruby, and Python all "high level languages"?

$\endgroup$
2
  • 4
    $\begingroup$ The terms "high level language" and "low level language" are not clearly (or likely coherently, in many cases) defined. There is no commonly agreed upon meaning for these terms and no commonly agreed upon "hierarchy". $\endgroup$ – Derek Elkins left SE Jan 5 '19 at 5:32
  • $\begingroup$ The archaic division of languages into low and high level, or into "generations", is more of a guide to students of programming and a marketing gimmick than computer science. Research in programming languages has no such conceptions, but rather exact notions of expressivity and transformations between languages. It is useful to understand what people talk about when they mention high-level and low-level languages, but anyone who makes it sound like these are precise technical terms should not be believed without providing some really solid evidnce they know what they're talking about. $\endgroup$ – Andrej Bauer Jan 5 '19 at 11:02
1
$\begingroup$

High Level languages are all languages that are able to be written in code that is easy to read. High level languages will use words that are easily read and understood and because of this, the code is very different from low level code. Code written in these languages has to be compiled and assembled into code that the computer can directly understand. This resulting code will be the low level language/code that you are referring to.

Examples:

High Level: C++, Java, C# Low Level: Assembly, Machine code

$\endgroup$
2
  • $\begingroup$ Are Assembly and Machine Code the only low level languages? And can machine code be divided into different numerical systems like Base-2, Base-8, Base-10, etc.? $\endgroup$ – Cody Rutscher Jan 5 '19 at 2:59
  • $\begingroup$ It should be emphasized that these are little more than social conventions. After all, a definition which says "easy to read" involves humans more than machines. $\endgroup$ – Andrej Bauer Jan 5 '19 at 11:03
3
$\begingroup$

There are supposedly generations of languages. According to Wikipedia:

First generation: Machine language.

Second generation: Low-level programming languages such as assembly language.

Third generation: Structured high-level programming languages such as C, COBOL and FORTRAN.

Fourth generation: Domain-specific high-level programming languages such as SQL (for database access) and TeX (for text formatting)

The fifth generation was supposed to be developed by Japan's fifth generation project in the 1980s but didn't really go anywhere. Some people consider constraint-based languages to be fifth generation (Wikipedia).

There is also a supposed hierarchy of language power, expressed by Paul Graham as the "Blub Paradox" in his essay Beating the Averages. In this controversial approach, languages such as Basic and Cobol are low in the hierarchy, Python and Perl would be in the middle, and Lisp would be at the top.

$\endgroup$
1
  • 1
    $\begingroup$ I always thought the generations were little more than poor marketing. $\endgroup$ – Andrej Bauer Jan 5 '19 at 11:04
1
$\begingroup$

Perhaps a better way to try to understand which languages come from where is a directed graph on a timeline (like a family tree ).

Shameless Plug

$\endgroup$
2
  • $\begingroup$ (No graph can do justice to the galloping featurism of the past decade (start that decade anytime after *NIX epoch).) $\endgroup$ – greybeard Feb 10 at 8:43
  • $\begingroup$ @greybeard Perhaps, but it is cool to see the connections, especially for someone who didn't live through them personally. $\endgroup$ – jasonleonhard Feb 10 at 16:17
-1
$\begingroup$

enter image description here

This picture shows the hierarchy:

Machine Language is the lowest. It is the most understandable by computer.

High level language is the highest. It is the most understandable by human so far.

New contributor
Mark C is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
$\endgroup$
1
  • 2
    $\begingroup$ High level language is the highest. Your picture show one item above High level language. $\endgroup$ – greybeard Feb 23 at 7:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.