Programming language is human readable format of instructions for CPUs and processors. It was needed after the invention of microprocessors.
Invention of microprocessors
During 70's and starting 80's Intel has released processor like 4004, 8008, 8085, 8080 and 8088 and then 8086. Motorola, Texas Instruments, National Semiconductor, Fairchild Semiconductor are some of the other companies released their first microprocessors. It was the time of mini computers and first microcomputers.
Machine language, the first generation language
Scientists used to write small programs using machine language. Machine language is that low level hex code which central processing unit executes. Machine language is known as the first generation programming language. Machine language are hex numbers and these are very difficult to remember and write.
Assembly language, the second generation language
Then scientist came up with an idea of replacing machine code instructions with English words and thus assembly language came into picture. Assembly language is called second generation language. Assembly language was a boon to the scientists but writing a large program with lots of procedures was still difficult. It is a replacement of difficult hex machine code and developer still need to remember processor specific instruction sets.
Higher level languages, the third generation languages
Scientists were trying to make a language independent of processor instructions. They want to construct one language which uses simple English like statements, mathematical expressions and operators. This is the time of third generation programming language. C, BASIC, Pascal, Fortan etc. These are higher level languages and independent of processor architectures. These languages come with compilers which converts source code to an intermediate code known as object code. Object codes are lower level code but not exactly machine code. Object codes are clubbed together by linker and disassembled in a single assembly file. This assembly file is platform dependent and assembler generates actual machine code.
History of C programming
The C programming language was designed and implemented in the early 1970s by Dennis M. Ritchie. He was an employee of Bell Labs also known as AT & T.
Ritchie worked on a project called Multics in the 1960s with several other colleagues of Bell Labs. The goal of the project was to develop an operating system for a large computer that could be used by a thousand users. This project could not produce an economically useful system and thus AT&T (Bell Labs) withdrew from the project during 1969. So the employees of Bell Labs (AT&T) mainly Dennis M. Ritchie and Ken Thompson had to search for another project to work on.
Ken Thompson began to work on the development of a new file system. He wrote, a version of the new file system for the DEC PDP-7, in assembler. The new file system was also used for the game Space Travel. Soon they began to make improvements and add expansions. They used there knowledge from the Multics project to add improvements. After a while a complete system was born. Brian W. Kernighan called the system UNIX, a sarcastic reference to Multics. The whole system was still written in assembly code.
B programming language
UNIX had assembler and Fortran, besides these it also had an interpreter for the programming language B. The B language is derived directly from Martin Richards BCPL. The language B was developed in 1969-70 by Ken Thompson. In the early days computer code was written in assembly code. To perform a specific task, you had to write many pages of code. A high-level language like B made it possible to write the same task in just a few lines of code. The language B was used for further development of the UNIX system. Because of the high-level of the B language, code could be produced much faster, then in assembly.
A drawback of the B language was that it did not know data-types. Everything was expressed in machine words. Another functionality that the B language did not provide was the use of structure data types. The lag of these things formed the reason for Dennis M. Ritchie to develop the programming language C. So in 1971-73 Dennis M. Ritchie turned the B language into the C language, keeping most of the language B syntax while adding data-types and many other changes. The C language had a powerful mix of high-level functionality and the detailed features required to program an operating system. Therefore many of the UNIX components were eventually rewritten in C including the Unix kernel itself in in 1973 on a DEC PDP-11.
C programming language
The programming language C was designed and implemented jointly by Kernighan and Ritchie, in a now classic book called The C Programming Language, 1st edition. Kernighan has said that he had no part in the design of the C language: "It's entirely Dennis Ritchie's work". But he is the author of the famous "Hello, World" program and many other UNIX programs.
"The C Programming Language, 1st edition" book was the standard on the language C for years. A committee was formed by the American National Standards Institute (ANSI) to develop a modern definition for the programming language C (ANSI X3J11) in 1983. In 1988 they delivered the final standard definition ANSI C. The standard was based on the same book from K&R 1st ed.
The standard ANSI C made little changes on the original design of the C language. ANSI C had make sure that old programs still worked with the new standard. Later on, the ANSI C standard was adopted by the International Standards Organization (ISO). The correct term should there fore be ISO C, but everybody still calls it ANSI C.
Looking for software developer jobs? Try Jooble.
About our authors: Team EQA
You have viewed 1 page out of 248. Your C learning is 0.00% complete. Login to check your learning progress.
Questions index C Questions C++ Questions Win32 MFC COM/DCOM DLL Questions
Compilers & Editors
Download Visual Studio Download XCode Download Visual Studio Code Android studio install sdk Eclipse installer Best C compilers IDEs
Development system setup
Windows media creation tool MSDN subscription Ubuntu virtualbox
New updated posts
Why learn C? Calculate weighted average