Wednesday, April 16, 2014

Programming Lanquages

Four concentric circles.  The innermost circle is labeled Machine Language.  The next circle is labeled Assembly Language.  The next circle is labeled Higher Order Language.  The outermost circle is labeled 4 GLs.
Programming languages are used to create software that causes a computer to perform various functions. However, all computer languages can be placed in one of four broad categories which share certain common technical characteristic.These categories also have implications for management and software support as well. These four categories are
  • Machine Language
  • Assembly-Level Language
  • Higher-Order Languages (HOLs)
  • Fourth-Generation Languages (4GLs)

Image of series of the 0 and 1 in a box with the title Machine Language.
  • Machine Languages
    • Digital computers internally represent and process data and instructions as bits. Software coded using this lowest level representation is called a machine language program. First Generation computers were initially programmed using machine languages.
    • Machine languages have many disadvantages
      • Machine language programs are hardware dependent
      • the machine language program for one processor will not work on a different model
      •  Machine language is rarely employed today except for fixes (called patches) to fielded software or, when there is a performance requirement that can not be met by a higher order language.
      • The use of patches should be very strictly controlled and limited to emergency situations.
In the background of the image is a person at a computer.  In the foreground is the title Assembly Level Language.  In the foreground on the bottom right is the text  CLA100 ADD101 and STO102.
  • Assembly-Level Language
    • Assembly language is a mnemonic representation of machine language instructions.
    • Rather than entering the sequence "1101110100110011" to represent a command to the computer to add to numbers, the command "ADD" would be used instead.

    Examples of Higher-Order Language.


    • Higher-Order Languages
      • A general purpose programming language that allows people to write programs without having to understand the inner workings of a computer
      • Translated into a format that a computer can execute (machine language), typically using a computer software tool called a compiler
      • Not unique to a specific brand of computer or a specific computer vendor and, therefore, considered to be highly portable(machine independent)



    •  Translation Process
      • HOLs must be translated into machine language understandable by computer hardware. This translation process is called compilation, and it is done by a complex software tool called a compiler.
    Translation Process diagram

    Source Code
    This translation process starts with the HOL program (called the source code), as written by the programmer. The source code is fed into a sophisticated software tool called a compiler.

    Compiler
    Compilers automatically translate HOL to machine language (compilation). Small programs can take as little as a hundredth of a second to compile while extremely large, very complicated HOL programs can take many minutes to go through a complete compilation process.

    Object Code
    The result of the compilation process is \'\'machine code\'\' or \'\'object code.\'\' The object code is stored in memory and is executed on the computer hardware. As errors are discovered or software upgrades required, source code is changed and the compilation process is repeated.




    Fourth-Generation Languages
    Fourth-Generation Languages (4GLs) gained prominence with the advent of Fourth-Generation computer hardware. 4GLs allow non-technically trained users, as well as professional programmers, to specify the results they want and let the computer determine the specific software instructions needed

    0 comments:

    Post a Comment