What is the advantage of a high-level language vs machine language?

2 Answers

Merits of High Level Languages -> High level languages are easy to design and understand. -> Portable  and user friend platforms -> No need to remember the corresponding Binary equivalent code  Demerits of High Level Languages  The demerits of High Level languages are very few in compared with the merits of it. One of the drawback of High level language is its performance i.e. The processing performance is slower then machine level languages as High Level Language needs to be converted into machine readable format by the use of compiler or interpreter.

thanked the writer.

Advantages of High-Level Language – It has several advantages over machine language and assembly language.

  1. Machine Independent – High-level languages are machine independent. This is a very valuable advantage because it means that a company changing computers even one from a different manufacturer, will not be required to rewrite all the programs that it is currently using.
  2. Easy to Learn and Use – These languages are very similar to the languages normally used by us in our day-to-day life. Hence they are easy to learn and use.
  3. Fewer Errors – In case of high-level languages, since the programmer need not to write all the small steps carried out by the computer, he is much less likely to make an error.
  4. Lower Program Preparation Cost – Writing programs in high-level languages requires less time and effort which ultimately leads to lower program preparation cost.
  5. Better Documentation – A high-level language is designed in such a way that its instructions may be written more like the language of the problem. Thus the statements of a program written in a high-level language can be easily understood by a person familiar with the problem.
  6. Easier to Maintain – programs written in high level language are easier to maintain then assembly language or machine language programs.

Limitations of High-level Languages – Two disadvantages of high-level languages are –

  1. Lower Efficiency – Generally a program written in assembly language or machine language is more efficient than one written in high-level language. That is, the program written in high – level language take more time to run and require more main storage.
  2. Less Flexibility – Generally, high-level languages are less flexible than assembly languages, because they do not normally have instructions or mechanism to control the computer’s CPU, memory and registers. An assembly language provides the programmers access to all the special features of the machine they are using. Certain types of operations, which are easily programmed using the assembly language, are impractical to attempt using a high-level language. This lack of difficulty means that some tasks cannot be done in a high level language, or can be done only with great difficulty.
For more information get help at CodeAvail- Online Computer Science Assignment
help

thanked the writer.

In order to continue enjoying our site, we ask that you confirm your identity as a human. Thank you very much for your cooperation.

Ninjacraze writes about networking, data communications, computer languages, and refrigerators.

Advantages and Disadvantages of Machine Language

Just as humans use language to communicate, and different regions have different languages, computers also have their own specific languages.

Different kinds of languages have been developed to perform different types of work on the computer. Basically, languages can be divided into two categories according to how the computer understands them.

Two Basic Types of Computer Language

  • Low-Level Languages: A language that corresponds directly to a specific machine
  • High-Level Languages: Any language that is independent of the machine

There are also other types of languages, which include

  • System languages: These are designed for low-level tasks, like memory and process management
  • Scripting languages: These tend to be high-level and very powerful
  • Domain-specific languages: These are only used in very specific contexts
  • Visual languages: Languages that are not text-based
  • Esoteric languages: Languages that are jokes or are not intended for serious use

These languages are not mutually exclusive; some can belong to multiple categories. The terms low-level and high-level are also open to interpretation, and some languages that were once considered high-level are now considered low-level as languages have continued to develop.

Low-Level Languages

Low-level computer languages are either machine codes or are very close to them. A computer cannot understand instructions given to it in high-level languages or in English. It can only understand and execute instructions given in the form of machine language, i.e. binary. There are two types of low-level languages:

  • Machine Language: a language that is directly interpreted into the hardware
  • Assembly Language: a slightly more user-friendly language that directly corresponds to machine language

Machine Language

Machine language is the lowest and most elementary level of programming language and was the first type of programming language to be developed. Machine language is basically the only language a computer can understand and is usually written in hex.

In fact, a manufacturer designs a computer to obey just one language, its machine code, which is represented inside the computer by a string of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of an electric pulse, and the 1 stands for the presence of an electric pulse. Since a computer is capable of recognizing electric signals, it understands machine language.

Advantages

Disadvantages

Machine language makes fast and efficient use of the computer.

All operation codes have to be remembered

It requires no translator to translate the code. It is directly understood by the computer.

All memory addresses have to be remembered.

It is hard to amend or find errors in a program written in the machine language.

Assembly Language

Assembly language was developed to overcome some of the many inconveniences of machine language. This is another low-level but very important language in which operation codes and operands are given in the form of alphanumeric symbols instead of 0’s and l’s.

These alphanumeric symbols are known as mnemonic codes and can combine in a maximum of five-letter combinations, e.g. ADD for addition, SUB for subtraction, START, LABEL etc. Because of this feature, assembly language is also known as ‘Symbolic Programming Language.'

This language is also very difficult and needs a lot of practice to master because there is only a little English support in this language. Mostly assembly language is used to help in compiler orientations. The instructions of the assembly language are converted to machine codes by a language translator, and then they are executed by the computer.

Advantages

Disadvantages

Assembly language is easier to understand and use as compared to machine language.

Like machine language, it is also machine dependent/specific.

It is easy to locate and correct errors.

Since it is machine dependent, the programmer also needs to understand the hardware.

It is easily modified.

High-Level Languages

High-level computer languages use formats that are similar to English. The purpose of developing high-level languages was to enable people to write programs easily in their own native language environment (English).

High-level languages are basically symbolic languages that use English words and/or mathematical symbols rather than mnemonic codes. Each instruction in the high-level language is translated into many machine language instructions that the computer can understand.

Advantages

Disadvantages

High-level languages are user-friendly

A high-level language has to be translated into the machine language by a translator, which takes up time

They are similar to English and use English vocabulary and well-known symbols

The object code generated by a translator might be inefficient compared to an equivalent assembly language program

They are easier to learn

They are easier to maintain

They are problem-oriented rather than 'machine'-based

A program written in a high-level language can be translated into many machine languages and can run on any computer for which there exists an appropriate translator

The language is independent of the machine on which it is used i.e. programs developed in a high-level language can be run on any computer text

Types of High-Level Languages

Many languages have been developed for achieving a variety of different tasks. Some are fairly specialized, and others are quite general.

These languages, categorized according to their use, are:

1) Algebraic Formula-Type Processing

These languages are oriented towards the computational procedures for solving mathematical and statistical problems.

Examples include:

  • BASIC (Beginners All Purpose Symbolic Instruction Code)
  • FORTRAN (Formula Translation)
  • PL/I (Programming Language, Version 1)
  • ALGOL (Algorithmic Language)
  • APL (A Programming Language)

2. Business Data Processing

These languages are best able to maintain data processing procedures and problems involved in handling files. Some examples include:

  • COBOL (Common Business Oriented Language)
  • RPG (Report Program Generator)

3. String and List Processing

These are used for string manipulation, including search patterns and inserting and deleting characters. Examples are:

  • LISP (List Processing)
  • Prolog (Program in Logic)

4. Object-Oriented Programming Language

In OOP, the computer program is divided into objects. Examples are:

5. Visual Programming Language

These programming languages are designed for building Windows-based applications. Examples are:

  • Visual Basic
  • Visual Java
  • Visual C

A Helpful Resource on Computer Languages

Classifying Computer Languages

This resource was used to help write this article. It has more information on this topic and goes into more depth on some of the other kinds of languages and their uses. To get the most out of it, you should have some knowledge of or background in computer science.

Rudra Shankar Kamila on August 19, 2015:

It's notes is very nice..........

Arnab Das on August 18, 2015:

Very much helpful for any beginners ...... good work....

Khalid kasim on August 16, 2015:

It's really helpful. ....

prince naveen kumer on July 30, 2015:

good

im an idn on July 29, 2015:

amazing

shdf on July 26, 2015:

awesome!!!

Asif Ali on July 26, 2015:

Referred wiki and this for my project. Thanks a lot.

(posted 4 years ago!!! Oh....needs to update )

Avinash on June 24, 2015:

It always helps and to make easily understand me......

Rugma.s on June 23, 2015:

Wonderful, but I think that is not here but some time It helps me LOT BAI.

yahya malik on June 22, 2015:

woh very good

PUPPY on June 13, 2015:

NICE BUT EXAMPLES OF LLL AND MORE EX.OF HLL SHOULD HAVE BEEN GIVEN .....THEN ALSO IT IS NICE AND HELPFUL

Aditi on June 13, 2015:

VERRRRYYYYYYYYYY HELPFUL ........ I MADE MY WHOLE COMPUTER PROJECT WITH THE HELP OF THIS ARTICLE......SO THANXXXX VERY MUCH!!!! IT WAS REALLY VERY HELPFUL................

RAzeen on June 11, 2015:

Headache hAd gone anyway thanks

sangami on June 10, 2015:

it is very help full for my school work

Mahima Tyagi on May 27, 2015:

It is very help fulllllllllllllll for me

Thanks;-)

Sourav on May 23, 2015:

It is very good . It helps in my project. U should write about the features of computer language.

vanshita on May 17, 2015:

u should write more details about high level languages

Disha Chaturvedi on May 11, 2015:

Hmmmm.....I like it...iTs eXplanation Is Very GooD.....Thnxzz Very Much...............

kundan kumar on May 04, 2015:

Explanation is excellent. . . . . I like this explanation . . .

So thanxxxxx

sanjay pawar on April 12, 2015:

Excellent to understand, .,.......

dipak jaiswal on April 10, 2015:

God explanation so tnk u

jyothi on April 06, 2015:

Thanks for giving lot of information

shrivathshan on April 04, 2015:

superb notes!

kanika kapoor on April 04, 2015:

THANNKSSSS FOR GIVING US SUCH A GOOD KNOWLEDGE ABOUT LANGUAGES OF COMPUTER THANKS A LOT

Mary on April 24, 2010:

thankz

monica on March 11, 2010:

very good detailed explanation

Postingan terbaru

LIHAT SEMUA