answersLogoWhite

0

Machine code isn't just low-level, it is the native language of the machine; the only language the machine actually understands. When we say low-level or high-level we are referring to the amount of abstraction between the source code and the machine code. The source code must be translated into machine code and the more closely that code resembles the machine code the more low-level it is. Assembly is extremely low-level because there is very little in the way of abstraction; the assembly instructions map 1:1 with the machine code. C is also low-level because C statements map very closely to the machine code, but offer a higher level of abstraction than assembly. Assembly language is machine-dependant because every type of machine requires its own distinct version of assembly language whereas C's slightly higher level of abstraction means it can be used to write non-machine-dependant code, more portable code. However, the source code must be recompiled for each machine.

Java, on the other hand, is extremely high-level because the source code bears no resemblance whatsoever to the machine code. Indeed, the source code does not even compile to machine code it compiles to Java byte code suitable for interpretation by the Java virtual machine. In other words, the source code is compiled against a non-existent machine, but one that has common architecture across all platforms that support Java (which is pretty much everything today). This makes the code extremely portable because the Java virtual machine handles the low-level conversion from the Java byte code to the physical machine's native code; the same byte code can be executed upon any platform without the need to recompile.

User Avatar

Wiki User

10y ago

What else can I help you with?

Related Questions

What is the level of assembly language?

Assembly languages are low level languages, sometimes also called machine-level languages.


Are Second-generation languages are also known as assembly languages?

Yes, that is correct. Second-generation languages, also known as assembly languages, provide a low-level interface between software and hardware. They use mnemonic codes and symbolic names to represent machine code instructions, making programming closer to the hardware level compared to high-level languages.


What are high level programming languages how they differ from assembly languages?

High-level languages are easy to read and write. They are not machine dependent and portable from one computer to another. Assembly languages are machine dependent, easier to read than machine code but it's still not easy to read, and the assembler program translates the assembler program straight into machine code.


Is the C language machine dependent or not?

Machine-dependent (generally called "platform-dependent")


Why machine assembly languages are called low level languages?

Machine Language is the lowest level language other than microcode as it is what the processor itself uses to handle operations. Assembly is low level as it is very close to machine language. Higher level languages have higher levels of abstraction and more structure to them, such as C++. Lower level languages are very operation based.


Is the First Generation Language machine dependent?

Yes. Both first and second generation languages are machine-dependent. The first generation of languages were machine code, while the second were assembly languages. Non-machine dependency came about with the advent of the third-generation of languages, all the high-level languages.


Why c is called as middle level language?

Misunderstanding. There are no 'middle level languages', only low and high level languages. Machine code and assembly are the former, everything else is the latter.C is often called a middle-level computer language as it combines the elements of high-level languages with the functionalism of assembly language. But actually it doesn't have any Assembly-like feature (whatever that means).


What is the difference between high level and low level programming?

High level languages are easier for humans to read and program in. They are usually machine independent, and most have a wide variety of programming libraries available for common functions. Low level languages are usually machine specific, such as assembly languages. They lack programming libraries.


Why is assembly language reffered to as low level language?

Assembly language is low-level because it has the least amount of abstraction between the source and the resultant machine code. That is, the translation from assembly language to machine code is 1:1. All high-level languages have much higher degrees of abstraction.


What is assembly program?

An assembly program is a machine-dependent program written in a low-level symbolic code known as assembly language.


Which translator translate low level language 1010111 to machines language?

Only assembly languages are generally considered low-level programming languages, so one could argue that there is only one low-level language. However, there are as many assembly languages as there are processor models or families, as each processor family implements its own set of machine code instructions. Different manufacturers not only invent different mnemonics for similar machine code operations to suit conventions and hardware architecture (e.g. MOVE vs LOAD/SAVE), but also support different notations. Therefore, conceptually, the assembly language is the only low level programming language. However, the standpoint of view of learning the language, or from that of tools to support the language, there are numerous assembly languages, thus numerous low-level languages.


Why is assembly language known as a low level language?

The level of a language is an indication of how abstract it is compared to the machine code it produces. The higher the level, the further it is from the machine and thus the more abstract it is. Assembly language has a near 1:1 translation to machine code with very little in the way of abstraction, thus it is a low-level language.