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

What is 'C' Language?

Hello friends, today we are going to see what is exactly the computer 'C' language? 'C' is a Programming language developed at AT and T’s Bell Laboratories of the USA in the early 1970s. It has designed by a man named Dennis Richie. C began to replace the more familiar languages of that time
like PL/I, ALGOL, etc.  So many programmers preferred C to other languages like PL/I, FORTRAN, Pascal or APL, etc. C becomes so popular because it is reliable, simple, and easy to use.

Step by step development of C Language (History):

In the early 1970s, there are so many languages, which were used for a specific purpose. For example, COBOL (Common Business Oriented Language) was being used for commercial Applications, FORTRAN (Formula Translation) for Engineering and Scientific Applications, and so on. At this stage, people want only one language instead of many languages, each for a different purpose. They need only one language which can perform all possible applications. Therefore, an international committee was formed, which was developed ALGOL 60. ALGOL 60 never became popular because it seemed too abstract, too general. To reduce this abstractness, a new language CPL (Combined Programming Language) was developed by Martin Richards at Cambridge University to solve CPLs problems, but unfortunately, it turned out to be too less powerful and too specific.
Around the same time, Ken Thompson was written B language at AT and T’s Bell Labs, as a simplification of CPL. But like BCPL, B is also very specific. After that Ritchie inherited the features of B and BCPL, added some of his own features, and developed C language which is still keeping it powerful.

Year
Language
Developed by
Remarks
1960
ALGOL
International Committee
Too general, too abstract
1963
CPL
Cambridge University
Hard to learn, difficult to implement.
1967
BCPL
Martin Richards at Cambridge University
Could deal with only specific problems
1970
B
Ken Thompson at AT and T
Could deal with only specific problems
1972
C
Dennis Ritchie at AT and T
Lost generality of BCPL and B restored

    Fig: the figure shows the evolution of the C language

Where C stands?

When we compare other programming languages with C, all the programming languages can be divided into two categories.

  • High-Level languages or Problem-Oriented Languages: These languages have been designed to give a better programming efficiency, i.e. faster program development. Ex. FORTRAN, BASIC, Pascal, etc

  • Low-Level Language or Machine Oriented Languages: These languages have been designed to give better machine efficiency i.e. faster program execution. Ex. Assembly Language and Machine Language etc.
C stands in between these two categories. That’s why it is often called a Middle-Level Language or Intermediate Language since it was designed to have both: a relatively good programming efficiency (as compared to machine-oriented languages) and relatively good machine efficiency (as compared to problem-oriented languages). For further information please check more posts on this blog.


Comments

  1. Anonymous3/24/2012

    thanx ...for giving these notes ..these notes are very useful... we also want more information abt proper 'c' language

    ReplyDelete

Post a Comment

Your comment will inspire me, Please leave your comment