Some people, illiterate in computer science, do not understand what computer scientists refer as, computer-programming languages. Verily, computers operate under certain conditions, language being one of them. The language, programmed language rather, create computer programs thus regulating its operation according to specific instructions. Additionally, computer-programming languages help computer users to create or analyze computer algorithms applicable in many areas like accounting, statistics and business management.
Thus, these programmed languages help to create highways of human communication through computers. Programming languages express inscription. The two modes include syntax, which is an encryption of form, and semantics, which convey meaning. Computer languages are as old as the computer itself.
In ancient times, these languages were paramount in the operation of different machines. Today, there are so many programming languages created by computer scientists and still more are yet to come. Interestingly, computers only understand one programming language. In simple terms, the computers execute information through binary coding system.
Thus, one way to write a computer program is through binary machine codes. The paper will examine the two levels of computers in computer programming languages. There are two levels of computer programming languages, low-level and high-level languages. Largely, these two levels closely bear a resemblance to binary machine coding technique. (MacLennan, pp.1-8).
Low-Level Computer Programming Languages
A programmed language instructs the computer to comply with specific commands as done by the user. Normally, computer users address their commands into the computer hardware where the instructions, now in machine code form, change those instructions into binary notations using two digits 0 and 1.
Thus, low-level languages do not have an effect on computer instructions. Since their effect to abstraction is almost impossible, a computer user can create programs without using compilers or interpreters. Additionally, low-level programming languages fall into two main categories, first and second generation. In the first generation, the machine code-microprocessor is responsible for processing information according to language instructions.
However, this system is cumbersome and requires more time backed with memorizations of some numerical codes. Perhaps this is the reason why, modern computer programmers do not create new programs falling in this class of first generation low-level computer programming language.
The second generation low-level programming language is simply, assembly language programming where, the computer programmer does not need to memorize much information although plain instructions are necessary. Consequently, the programmer assembles programmed data into the machine code. Thus, from the first and the second generations, two examples of low-level programming languages exist. These include machine language and assembly language. (Friedman, Mitchell, Haynes, pp. 2-33).
For the programmer to create low-level programming languages, computer architecture is very necessary for machine coding in the Central Processing Unit (CPU) of a computer.
Since low-level programming languages interrelate with the Central Processing Unit or computer hardware, it is somehow hard to any computer user to analyze abstraction using this level of computer programming languages. Nevertheless, low-level programming languages do exist especially when creating small programs which do not require massive data processing.
High-Level Computer Programming Languages
Unlike low-level programming languages, high-level programming languages have strong abstractions as detailed in the computer architecture. In most cases, programmers find them easier to create or even transfer them from hardware to hardware using natural languages.
It is for this reason; computer programmers refer high-level programmed language as non-Central Processing Unit languages because, the language does not portray CPU features like scope and computer memory. Nevertheless, the main reason of hiding computer details is to make the whole language be friendly to the user who may be worried of machine code information.
Thus, the execution meaning-semantics of the computer hardware is totally different from the program hence, the language created is simple and easy to understand as compared to low-level languages.
Since there is a difference between a computer program and the architecture of a computer, this leads to high abstraction. Additionally, high-level programming languages contend with variables, complex mathematical expressions, usability and objects. Thus, from these examples, it is clear high-level languages do not apply opcodes just like in low-level languages. Instead, instructions feed the machine code unswervingly.
However, if a programmer is using a more generic data, it can be impossible to use high-level programming language. In this scenario, the data is written using low-level programming language technique bearing in mind; high-level programming language would simply it. High-level languages need a compiler to change the language into binary digits of 0 and 1used by the computer. Examples of high-level languages include C++, Scheme, Prolog, Python, Prolog, Java, ADA, Fortran 90 and Lisp, Fortran 77.
These high-level languages offer a high percentage of abstraction compared to that of the Central Processing Unit. In addition to this, high-level languages can execute the same information regardless of the platform a language is running. (Pierce, pp. 330-338).
As technology continues to grow, computer scientists are busy developing new computer programming languages that will execute complex data and provide easier processing. (Pascal, Lapujade, Gilles and Frederic, pp.164-169). These programming computer languages are either depended on the computer hardware directly or indirectly.
Those languages written using the computer hardware- machine code are low-level languages while, those languages created independent of the computer hardware though they need a compiler to change data into digit form which is then interpreted by the compute hardware, fall in the class of high-level computer programming languages.
The two levels of computer programming languages are beneficial depending on the application of the language. For example, low-level languages create simple programs, while high-level languages create huge but easier to understand programs.
Friedman, Daniel, Mitchell, Wand, and Haynes, Christopher: Essentials of Programming Languages. Massachusetts: The MIT Press. 2001. Print.
MacLennan, Bruce. Principles of Programming Languages. Oxford: Oxford University Press. 1987. Print.
Pascal, Lando, Lapujade, Anne, Gilles, Kassel, and Frederic, Furst. Towards a General Ontology of Computer Programs, Institute of Computer Software, 2007, 164-169.
Pierce, Benjamin. Types and Programming Languages. Massachusetts: The MIT Press. 2002. Print.