Featured Post

80186 Microprocessors: Introduction and Architecture

Hello friends, today we are going to discuss the 80186 microprocessor with integrated peripherals. The Intel 80186 is an improved version of the 8086 microprocessor. 80186 is a 16-bit microprocessor with a 16-bit data bus and a 20-bit address bus. It has a programmable peripheral device integrated into the same package. The instruction set of the 80186 is a superset of the instruction set of the 8086. The term super-set means that all of the 8086 instructions will execute properly on an 80186, but the 80186 has a few additional instructions. The following figure shows the block diagram and pin diagram of 80186. The CPU is divided into seven independent functional parts. 80186 internal block diagram  80186 68-pins pin diagram  Functional parts of 80186 Microprocessor The Bus Interface Unit (BIU) Execution Unit (EU) Clock Generator Programmable interrupt controller Programmable Chip Select Unit (CSU) Programmable DMA Unit Programmable counter/timers The Bus Interface Unit

Computer Programming Languages and Difference Between Them

Hello friends, today we are going to see the different programming languages used in computer and their differences. The programming language is a set of instructions called algorithms that produce various kinds of output. Nowadays, there are different programming languages and the concept of each programming language comes from the loopholes of before one. We will see each one by one. 

Machine Level Language

The programs are written as simply a sequence of the binary codes for each instruction that you want to execute in the microcomputer. This binary form of the program is called machine language because it is the only way machine can understand. This is very easy for the machine because every instruction is in the form of either 0 or 1 format, but very difficult for the user to handle such lengthy programs as well as it is very difficult to find out the error manually. programs are as follows.

Hex Code     Binary Instruction       Operation

00100H 11100100       E4 input
00101H 00000101       port 05 H
00102H 00000100       Add 04   etc.


Advantages

  • The machine language program is executing faster than any other programming languages because no need to translate the program. this is a highly understandable program by machine.
  • Translators are not required so cheap in cost as compare to others.

Disadvantages

  • It requires more time to write a program. Only an expert programmer can write this.
  • It is difficult to find out errors and time-consuming procedure to correct them.
  • It is very difficult to find out the difference between the instruction and data because everything written in the same manner either 0 or 1.
  • The portability of the program is zero, we have to write different program coding for every computer.
  • A highly educated programmer is required to write the program.

Assembly Language Program 

Machine Level Language is difficult to understand and difficult to write a program that’s why assembly language is introduced. Many programmers write their programs in assembly language and then translate them into machine language by using a translator called an assembler. This translator is necessary because a computer can understand only machine level language and not assembly language. In assembly language, the programmer uses two, three, or four-letter code called mnemonics to represent each instruction type.  Such as
LOAD BASE PAY:  Load the contents of BASEPAY in the Accumulator register
ADD OVERPAY:  ADD the contents of OVERPAY with BASEPAY in Accumulator
STORE GROSSPAY: store the result in GROSSPAY

If you want to see the structure of assembly language in detail please see my post: Structure of Assembly Language programming.

Advantages

  • Assembly language programming is easy to write, to understand and to find out the error than machine language programming.
  • Error detection and correction is easy and time-consuming to save the efforts of the programmer.
  • Assembly language has the same efficiency like the machine language to execute the program because it has one-to-one translators between assembly language and machine language. 

Disadvantages

  • Assembly language program is a machine-dependent means a program written in one computer can not run/execute in other computer with different hardware configuration. Lack of portability.
  • Assembler is a must to translate assembly language to machine language.

High-Level Language

The use of computer technology increased rapidly with the advent of assembly language, but programming still required many instructions to accomplish the simplest tasks. To speed up the programming process, high-level languages were developed. The translator programs that convert high-level language programs into machine language are called compilers. compiler High level languages allow programmers to write instructions that are similar to everyday English and contain commonly used mathematical notations. A payroll program written in high level language as

Grosspay = basepay + overtimepay

BASIC, FORTRAN, Pascal, C++, Java, C# and Visual Basic .Net are the most powerful and most widely used high level programming languages. But HLL program can't execute directly so translators are required. two translators were introduced, first Interpreter which were developed to translate and execute high-level language programs directly, without the need of compiling them into machine language. Although compiled programs execute faster than interpreted programs, interpreters are popular in program-development environments, in which programs are recompiled frequently and errors are corrected. Scripting languages is processed by interpreters such languages are JavaScript, Jscript, and VBScript etc.

Procedure Oriented Programming

Procedure-oriented Programming is largely concerned with computational results rather than data. Its a part of a high-level language. The problem is viewed as a sequence of things to be done, such as reading, calculating, and printing. The focus is on procedures, or just code as of functionality. A number of functions are written to accomplish these tasks and it’s possible to expose Data and/or variables to the externally i.e. to handle data globally

characteristics 


  • Emphasis is on doing things (Algorithms)
  • Large programs are divided into smaller programs known as functions.
  • Sharing global data.
  • Data move openly around the system from function to function.
Examples: BASIC, FORTRAN, Pascal, and COBOL and so on.

Structured Oriented Programming

Structured Programming is the technique if organizing programs into a collection of small individual modules. The modules can be grouped into a hierarchy or a network, and each unit has a single entry and a single exit point. In the module, lines of code is occurring from top-down and usually unconditional branching.
Algorithms can divide into small functional units so that one or more programmers can work on each unit, process it, test it, debug it and share it with others. All the units are then combined to produce the larger application or system. This is a highly efficient method for both individuals and teams.

Examples: C, Ada etc.

Object-Oriented Programming

Object-oriented programming is to develop an application based on real time and is largely concerned with data rather than procedures. The programs are divided in number of entities called Objects and the data and functions are builds around these entities. Data structures are designed such that they describe the objects. Data is hidden and cannot be accessed by external functions. Objects may communicate with each other through functions and new data and functions can be easily added.  It follows bottom up approach of Program Execution. There are different new features such as Inheritance, Encapsulation and Data Abstraction, Late Binding, Polymorphism, Multithreading, and Message Passing etc.

Examples: JAVA, VB.NET, C#.NET, C++ etc

Object-Based Programming

Object-Based Programming usually refers to objects without object-oriented features such as Inheritance and Polymorphism.
Many languages progressively become more object-based, especially as compilers emerged that could implement encapsulation and provide to the compiling, linking and binding of several modules into complete applications.
Example of object-based programming plots the transformation of C into C++. Today C++ is called a Hybrid Language because it allows you to code standard C modules, to add objects and do object-based programming, or to invoke the object-oriented features of the language such as inheritance and polymorphism.
Example: [Cardelli 85] objects without inheritance,
'83 Ada and Modula-2. Without polymorphism.


Web Programming Languages

Now a days, most popular things are eCommerce, net banking, websites, videos and social media. The question is that what language behind this all? How it works? yes with web programming languages it is possible. web programming languages basically of combinations of 

  • Markup Languages : HTML (Hyper text Markup Language), XML(Extended Markup Language), to develop websites with the help of different commands called tags. 
  • Cascading style Language(CSS): is also markup language to modify the attributes of tags. i.e. color, background, font etc.
  • Web Programming Languages: which can be used to define complex logical instructions and processes data within the web application. ex: Java, Java Script, Ruby, Python, C sharp, perl and PHP etc. 




Comments

  1. It's a decent post, Which you have shared here about Computer Programming Languages. Your blog is enlightening and I truly loved the manner in which you communicated your perspectives in this post. Thank you for sharing such blogs. Computer Programming Courses Online In Myanmar

    ReplyDelete

Post a Comment

Your comment will inspire me, Please leave your comment