articles

Home / DeveloperSection / Articles / Machine Languages, Assembly Languages and High-Level Languages

Machine Languages, Assembly Languages and High-Level Languages

Ailsa Singh2161 10-May-2016

Machine Languages, Assembly Languages and High-Level Languages 


Programmers and coders write instructions in several programming languages, some directly understandable by computers and others needs few intermediate translation steps. Hundreds of such kinds of languages are in widely use today. These languages can be categorizes into three general types:


1.    Machine languages

2.    Assembly languages and

3.    High-level languages

Machine Language:

Every computer directly understand only its own machine language, as defined by its hardware design. Machine languages usually comprised of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers systems to do their most elementary operations and process one at a time. Machine languages are usually machine dependent (a particular machine language can be used on only its own type of computer). Such languages are cumbersome for programmers. For instance, here’s a segment of an early machine-language program that adds overtime pay to base pay and stores the result in gross pay:


+1300042114

+1400593219

+1200212027


But, Programming in machine language was simply too slow and tedious for majority of programmers.

Assembly Language:

Instead of doing things directly and using the strings of numbers that computers could directly understand, coders began using English-like abbreviations to represent elementary operations. All These abbreviations formed the basis of assembly languages. Translator programs known as assemblers were implemented to convert early assembly-language programs to machine language at computer speeds. Here’s a section of an assembly-language program also adds overtime pay to base pay and stores the result in gross pay(does the same thing as the above machine code):


load basepay

add overpay

store grosspay

However, such code is clearer to programmers, it’s incomprehensible to computers until translated to machine language.

High Level language

Computer usage grows rapidly with the advent of assembly languages, but computer peoeple still had to use lots of instructions to accomplish even the simplest tasks. To speed up the programming process, high-level languages were implemented in which only a single statements could be written to accomplish substantial tasks. Translator programs known compilers convert high-level language programs into machine language. High-level languages enable us to write instructions that look almost like daily use English and comprised of commonly used mathematical notations. A payroll program written in a high-level language might contain a single statement such as (does the same thing as the above machine code and assembly code):


grossPay = basePay + overTimePay


From the programmer’s point of view, high-level languages are preferred over machine and assembly languages. Java is by far the most popular and widely used high-level programming language. Compiling a big high-level language program into machine language can take a considerable amount of computer time. Interpreter programs were implemented to execute these high level language programs directly (without the delay of compilation), however slower than compiled programs run. Java  is a very robust platform  which cleverly uses a performance-tuned mixture of compilation and interpretation to ultimately run programs.


Updated 28-Nov-2017

Leave Comment

Comments

Liked By