Compilers or interpreters translate high-level code to machine language. Interpreted languages require a runtime to perform the conversion when the high-level code is executed whereas compiled languages are typically compiled to native machine code which requires no further translation. However, some languages compile the high-level code to an intermediate code known as byte code which is then interpreted to produce the machine code. This is typically done to improve performance, because it is quicker to interpret byte code than it is to interpret high level code (primarily because the byte code is more compact). Also, the byte code need only be compiled once but can be execute on any machine with a suitable interpreter. Java is a typical example of this (compiled Java byte code can be interpreted by the Java virtual machine on any physical machine). While this greatly improves performance and portability, the need for a runtime means the language is not suitable for general purpose programming (such as operating system kernels, device drivers, subsystems and so on), it can only be used to develop applications software. Despite the improved performance, compiled native machine code programs will always perform better than interpreted byte code. And although native machine code programs are not portable (they are machine-specific), the high-level source can be portable, it simply needs to be recompiled.
There is no such thing as a high speed language in computing.
An Assembler converts assembly language instructions into machine language.
Machine-dependent (generally called "platform-dependent")
Machine code, assembly language, COBOL, FORTRAN and C. Machine code is the only language that is native to the machine. All others must be converted to machine code.
Both, compiler and assembler, are software tools which translate instructions written in a programming language into executable machine code. (Both will typically require additional tools, such as a linker, in the process.) An assembler recognizes a machine-specific assembly language. This is a low-level language with a one-to-one relationship between language (assembly) instructions and machine code instructions. A compiler recognizes a generally machine-independent language such as the C programming language. These are higher level languages compared to the assembly languages, generally offering a one-to-many relationship between language instructions and expressions, and the resulting machine code instructions.
There is no such thing as a high speed language in computing.
Assembly language is a readable way of representing machine language. It consists of mnemonics that can be directly converted to machine language. Assembly language allows easier jump instructions with the usage of labels which gets converted to real addresses after assembling.
high level language is converted to machine level language using a compiler or an interpreter
Machine language is the computer instructions in memory--the actual bits used by the machine hardware or microcode interpreter. To "look" at it, it has to be converted to a human-readable form. Often, it is printed as a sequence of hexadecimal numbers, usually tagged with the memory address. Sometimes it is processed by a disassembler program, which tries to translate the code into assembly language instructions and data. This is not always successful since in machine architectures that mix data and instructions, it can be difficult to determine which program areas are data and which are instructions.
An Assembler converts assembly language instructions into machine language.
Machine-dependent (generally called "platform-dependent")
Machine code, assembly language, COBOL, FORTRAN and C. Machine code is the only language that is native to the machine. All others must be converted to machine code.
Both, compiler and assembler, are software tools which translate instructions written in a programming language into executable machine code. (Both will typically require additional tools, such as a linker, in the process.) An assembler recognizes a machine-specific assembly language. This is a low-level language with a one-to-one relationship between language (assembly) instructions and machine code instructions. A compiler recognizes a generally machine-independent language such as the C programming language. These are higher level languages compared to the assembly languages, generally offering a one-to-many relationship between language instructions and expressions, and the resulting machine code instructions.
Computers use machine language, which are coded instructions in binary.
With a COMPILER,
Compiler
compiler