PROGRAMMING LANGUAGE

A programming language is a formal computer language or constructed language designed to communicate instructions to a machine, particularly a computer.


Source code of a simple computer program written in c programming language, which will output the "Hello World" message when compiled and run.

High-Level Languages

  • In a high-level language there are “multiply” and “divide” commands. The language knows how to create the multiply and divide functions even through the microprocessor does not have these functions built in.
  • In fact, these languages can understand English commands like print, run, do, next, and end. The microprocessor does not understand these English word, but the language changes (interprets or compiles) them into machine language before sending them to the microprocessor.

1. FORTRAN (Formula Translation) 

- stands for (Formula Translation), it is a language that handles high-level mathematics very well and is designed for scientist and engineers.

2. COBOL

 - stands for Common Business-Oriented Language, is tailored to the needs of business.


3. BASIC

- stands for Beginner’s All-purpose Symbolic Instruction Code, was designed to be easy for nonprofessional programmers to learn and use.


4. PASCAL

- named for the French mathematician "Blaise Pascal", is designed to encourage the programmers to adhere to what are considered “correct” programming practices.


In-between Language

There are some languages that are somewhat “in between” the high-level and low-level languages.
  • C
  • FORTH

1. C language

It is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion.

2. FORTH language

It is an imperative stack-based computer programming language and environment originally designed by Charles “Chuck” Moore. 

Low-level Language

1. Machine Language 


  • it is only one language that the computer actually understands, and that is machine language, which consist of 1’s and 0’s.This binary language is fine for the computer but not for people.

2. Assembly Language

  • The first step toward a language that is easier for people to work with uses abbreviations to stand for different operations.
  • This “language” of abbreviations is called assembly language. The “abbreviations” are called mnemonics.
  • A mnemonic (pronounced ne-’män-ik) is something that aids the memory. Mnemonics are designed to be easy to remember and are a significant improvement over binary digits.

3 comments:

  1. I am using Arduino Programming Language. Is it a High Level or Low level Language and how will I know? Can you cite some specific differences?

    ReplyDelete
    Replies
    1. Hi Micah! Arduino Programming Language is a high level language.

      Arduino language is merely a set of C/C++ functions that can be called from your code. Your sketch undergoes minor changes (e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++).

      "High-level language" refers to the higher level of abstraction from machine language. Rather than dealing with registers, memory addresses and call stacks, high-level languages deal with variables, arrays, objects, complex arithmetic or boolean expressions, subroutines and functions, loops, threads, locks, and other abstract computer science concepts, with a focus on usability over optimal program efficiency. Unlike low-level assembly languages, high-level languages have few, if any, language elements that translate directly into a machine's native opcodes.

      The terms high-level and low-level are inherently relative. Some decades ago, the C language, and similar languages, were most often considered "high-level", as it supported concepts such as expression evaluation, parameterised recursive functions, and data types and structures, while assembly language was considered "low-level". Today, many programmers might refer to C as low-level, as it lacks a large runtime-system (no garbage collection, etc.), basically supports only scalar operations, and provides direct memory addressing. It, therefore, readily blends with assembly language and the machine level of CPUs and microcontrollers.

      Assembly language may itself be regarded as a higher level (but often still one-to-one if used without macros) representation of machine code, as it supports concepts such as constants and (limited) expressions, sometimes even variables, procedures, and data structures. Machine code, in its turn, is inherently at a slightly higher level than the microcode or micro-operations used internally in many processors.

      You can also visit this site for more information:
      https://en.wikipedia.org/wiki/High-level_programming_language

      Delete