SlideShare a Scribd company logo
Qurtuba University
Of Science And Information Technology
Assignment
History of C/C++
Submitted To
Sir Javeed
Submitted Date
16-Nov-2015
Submitted By
Fareed Hilal
ID: 10154
Class: BCS
1st Semester
Subject
Programing
fundamentals
The History of C/C++ Language Subject Programing Fundamentals
2 | P a g e
The History of the C Language
The C programming language was devised in the early 1970s by Dennis M. Ritchie an employee
from Bell Labs (AT&T).
In the 1960s Ritchie worked, with several other employees of Bell Labs (AT&T), on a project called
Multics. The goal of the project was to develop an operating system for a large computer that
could be used by a thousand users. In 1969 AT&T (Bell Labs) withdrew from the project, because
the project could not produce an economically useful system. So the employees of Bell Labs
(AT&T) had to search for another project to work on (mainly Dennis M. Ritchie and Ken
Thompson).
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
their 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.
Besides assembler and FORTRAN, UNIX 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
“structures”. 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 (the UNIX kernel itself was rewritten in 1973 on a DEC PDP-11).
The History of C/C++ Language Subject Programing Fundamentals
3 | P a g e
The programming language C was written down, 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).
For years the book “The C Programming Language, 1st edition” was the standard on the language
C. In 1983 a committee was formed by the American National Standards Institute (ANSI) to
develop a modern definition for the programming language C (ANSI X3J11). In 1988 they
delivered the final standard definition ANSI C. (The standard was based on the book from K&R
1st ed.).
The standard ANSI C made little changes on the original design of the C language. (They had to
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
therefore be ISO C, but everybody still calls it ANSI C.
C++ was invented in the very early 80s by Bjarne stroustrup. He had studied in the doctoral
program at the computing laboratory at Cambridge University.
C++ is an Object Oriented Language which has gained much more importance than any other
object oriented programming language and is increasingly being used. For a long time, C++ was
a standardized language and later in 1998 it became an ISO standard.
The first C++ compiler known as cfront was written by the developer at AT&T. It strong ties to C
language.
At the beginning, the developer and other scientists viewed the work done as an extension of C
language. Actually Bjarne Stroustup wanted to add some new features in the subset of C++ that
support Object Oriented concepts. In the subsequent years, he succeeded in his goal which is
now adays called the C++ language with object oriented approach. C++ is a separate language to
C and is almost a proper superset of C. It is for your information that the original version was
called, “C with classes”.
In 1989, the first true C++ compiler, G++, was written by Michael Tiemann of Cygnus was able to
produce code for most of the targets that GCC already supported.
The History of C/C++ Language Subject Programing Fundamentals
4 | P a g e
In late 90’s and the years following, a number of new C++ compilers were produced but many
were unable to keep pace with the standards committee. This era of no development is the
fundamental cause of non-portable of C++ programs. One of the plus p[points of the language
and especially the standard one is that it encompasses the language interface to the standard
library and also the Standard Template Library (STL). There are many new features added in this
language but a few of them are presented in the following manner.
Built in tool (Boolean) type
Exceptions
Casts
Namespaces
The mutable keyword
Templates
Standard Template library (STL)
Conclusion:
There are only a few incompatibilities with C and they are new keywords such as New, delete,
Void* pointer type conversion, etc. The last thing which should also be mentioned is that the
improved comments where the delimiter gives two types of flavor. The first flavor is the C
comment delimiters and the new one is the form of double slash. At the end I would say briefly
that C was redesigned, extended and the reimplementation of this process, the resulting
language is now called the C++ language.

More Related Content

What's hot (20)

Lecture 1- History of C Programming
Lecture 1- History of C Programming Lecture 1- History of C Programming
Lecture 1- History of C Programming
 
C vs c++
C vs c++C vs c++
C vs c++
 
C++ programming
C++ programmingC++ programming
C++ programming
 
C programming
C programmingC programming
C programming
 
History of C Programming Language
History of C Programming LanguageHistory of C Programming Language
History of C Programming Language
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Presentation on C programming language
Presentation on C programming languagePresentation on C programming language
Presentation on C programming language
 
Introduction to Input/Output Functions in C
Introduction to Input/Output Functions in CIntroduction to Input/Output Functions in C
Introduction to Input/Output Functions in C
 
C tutorial
C tutorialC tutorial
C tutorial
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
C++ vs C#
C++ vs C#C++ vs C#
C++ vs C#
 
1. over view and history of c
1. over view and history of c1. over view and history of c
1. over view and history of c
 
History of c++
History of c++ History of c++
History of c++
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Overview of c language
Overview of c languageOverview of c language
Overview of c language
 
Introduction to c++ ppt 1
Introduction to c++ ppt 1Introduction to c++ ppt 1
Introduction to c++ ppt 1
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++
 
OpenGurukul : Language : C Programming
OpenGurukul : Language : C ProgrammingOpenGurukul : Language : C Programming
OpenGurukul : Language : C Programming
 
C Programming- Features of C language
C Programming-  Features of C languageC Programming-  Features of C language
C Programming- Features of C language
 

Viewers also liked

C++ history session 00 history
C++ history session 00   historyC++ history session 00   history
C++ history session 00 historyArun Prakash
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigmBhavin Kamani
 
Overview of c++ language
Overview of c++ language   Overview of c++ language
Overview of c++ language samt7
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Languagesatvirsandhu9
 
Library Management System Project in C
Library Management System Project in CLibrary Management System Project in C
Library Management System Project in Ccodewithc
 
Abstract of Library Management System
Abstract of Library Management SystemAbstract of Library Management System
Abstract of Library Management SystemMd Mudassir
 
difference between c c++ c#
difference between c c++ c#difference between c c++ c#
difference between c c++ c#Sireesh K
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joinsDeepthi Rachumallu
 
Types Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql ServerTypes Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql Serverprogrammings guru
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...cprogrammings
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming ParadigmsDirecti Group
 

Viewers also liked (20)

C++ language
C++ languageC++ language
C++ language
 
C++ ppt
C++ pptC++ ppt
C++ ppt
 
C++ history session 00 history
C++ history session 00   historyC++ history session 00   history
C++ history session 00 history
 
C++ programming
C++ programmingC++ programming
C++ programming
 
Introduction Of C++
Introduction Of C++Introduction Of C++
Introduction Of C++
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigm
 
Overview of c++ language
Overview of c++ language   Overview of c++ language
Overview of c++ language
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
C vs c++
C vs c++C vs c++
C vs c++
 
Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Language
 
Library Management System Project in C
Library Management System Project in CLibrary Management System Project in C
Library Management System Project in C
 
Paradigms
ParadigmsParadigms
Paradigms
 
Abstract of Library Management System
Abstract of Library Management SystemAbstract of Library Management System
Abstract of Library Management System
 
difference between c c++ c#
difference between c c++ c#difference between c c++ c#
difference between c c++ c#
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joins
 
joins in database
 joins in database joins in database
joins in database
 
Types Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql ServerTypes Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql Server
 
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
Inheritance in c++ ppt (Powerpoint) | inheritance in c++ ppt presentation | i...
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
SQL Joins
SQL JoinsSQL Joins
SQL Joins
 

Similar to History of C/C++ Language

C language myths & secrets
C language myths & secretsC language myths & secrets
C language myths & secretsankush1510
 
C Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYC Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYRajeshkumar Reddy
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programmingNouroz Liaquat
 
C programming orientation
C programming orientationC programming orientation
C programming orientationnikshaikh786
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming LanguageSinbad Konick
 
C Programming for Begineers_an introductory_course.pptx
C Programming for Begineers_an introductory_course.pptxC Programming for Begineers_an introductory_course.pptx
C Programming for Begineers_an introductory_course.pptxmrsislam721
 
C programming short notes by pulkit modi
C programming short notes by pulkit modiC programming short notes by pulkit modi
C programming short notes by pulkit modiPulkitmodi1998
 
Intro to cprogramming
Intro to cprogrammingIntro to cprogramming
Intro to cprogrammingskashwin98
 
Evolution of programming language
Evolution of programming languageEvolution of programming language
Evolution of programming languageSameer Saini
 
all languages in computer programming
all languages in computer programmingall languages in computer programming
all languages in computer programminghamza239523
 
Fundamentals of programming and problem solving
Fundamentals of programming and problem solvingFundamentals of programming and problem solving
Fundamentals of programming and problem solvingJustine Dela Serna
 
Evolution of programming languages
Evolution of programming languagesEvolution of programming languages
Evolution of programming languagesNitin Kumar Kashyap
 

Similar to History of C/C++ Language (20)

C language myths & secrets
C language myths & secretsC language myths & secrets
C language myths & secrets
 
History of c
History of cHistory of c
History of c
 
C Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDYC Unit 1 notes PREPARED BY MVB REDDY
C Unit 1 notes PREPARED BY MVB REDDY
 
ojrfjfmerolki
ojrfjfmerolkiojrfjfmerolki
ojrfjfmerolki
 
Speaking in Tongues
Speaking in TonguesSpeaking in Tongues
Speaking in Tongues
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
C programming orientation
C programming orientationC programming orientation
C programming orientation
 
C programming 1
C programming  1C programming  1
C programming 1
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming Language
 
C programming i
C programming   iC programming   i
C programming i
 
C Programming for Begineers_an introductory_course.pptx
C Programming for Begineers_an introductory_course.pptxC Programming for Begineers_an introductory_course.pptx
C Programming for Begineers_an introductory_course.pptx
 
C programming short notes by pulkit modi
C programming short notes by pulkit modiC programming short notes by pulkit modi
C programming short notes by pulkit modi
 
Intro to cprogramming
Intro to cprogrammingIntro to cprogramming
Intro to cprogramming
 
C language By OmishaTech
C language By OmishaTechC language By OmishaTech
C language By OmishaTech
 
History of C Language
History of  C LanguageHistory of  C Language
History of C Language
 
Evolution of programming language
Evolution of programming languageEvolution of programming language
Evolution of programming language
 
What is C.docx
What is C.docxWhat is C.docx
What is C.docx
 
all languages in computer programming
all languages in computer programmingall languages in computer programming
all languages in computer programming
 
Fundamentals of programming and problem solving
Fundamentals of programming and problem solvingFundamentals of programming and problem solving
Fundamentals of programming and problem solving
 
Evolution of programming languages
Evolution of programming languagesEvolution of programming languages
Evolution of programming languages
 

Recently uploaded

plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsparmarsneha2
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleCeline George
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismDeeptiGupta154
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXMIRIAMSALINAS13
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsCol Mukteshwar Prasad
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345beazzy04
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptSourabh Kumar
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfjoachimlavalley1
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
 
Benefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational ResourcesBenefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational Resourcesdimpy50
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasiemaillard
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxJisc
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasiemaillard
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxakshayaramakrishnan21
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...Denish Jangid
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxJisc
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptxJosvitaDsouza2
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
 

Recently uploaded (20)

plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated crops
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Benefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational ResourcesBenefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational Resources
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 

History of C/C++ Language

  • 1. Qurtuba University Of Science And Information Technology Assignment History of C/C++ Submitted To Sir Javeed Submitted Date 16-Nov-2015 Submitted By Fareed Hilal ID: 10154 Class: BCS 1st Semester Subject Programing fundamentals
  • 2. The History of C/C++ Language Subject Programing Fundamentals 2 | P a g e The History of the C Language The C programming language was devised in the early 1970s by Dennis M. Ritchie an employee from Bell Labs (AT&T). In the 1960s Ritchie worked, with several other employees of Bell Labs (AT&T), on a project called Multics. The goal of the project was to develop an operating system for a large computer that could be used by a thousand users. In 1969 AT&T (Bell Labs) withdrew from the project, because the project could not produce an economically useful system. So the employees of Bell Labs (AT&T) had to search for another project to work on (mainly Dennis M. Ritchie and Ken Thompson). 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 their 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. Besides assembler and FORTRAN, UNIX 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 “structures”. 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 (the UNIX kernel itself was rewritten in 1973 on a DEC PDP-11).
  • 3. The History of C/C++ Language Subject Programing Fundamentals 3 | P a g e The programming language C was written down, 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). For years the book “The C Programming Language, 1st edition” was the standard on the language C. In 1983 a committee was formed by the American National Standards Institute (ANSI) to develop a modern definition for the programming language C (ANSI X3J11). In 1988 they delivered the final standard definition ANSI C. (The standard was based on the book from K&R 1st ed.). The standard ANSI C made little changes on the original design of the C language. (They had to 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 therefore be ISO C, but everybody still calls it ANSI C. C++ was invented in the very early 80s by Bjarne stroustrup. He had studied in the doctoral program at the computing laboratory at Cambridge University. C++ is an Object Oriented Language which has gained much more importance than any other object oriented programming language and is increasingly being used. For a long time, C++ was a standardized language and later in 1998 it became an ISO standard. The first C++ compiler known as cfront was written by the developer at AT&T. It strong ties to C language. At the beginning, the developer and other scientists viewed the work done as an extension of C language. Actually Bjarne Stroustup wanted to add some new features in the subset of C++ that support Object Oriented concepts. In the subsequent years, he succeeded in his goal which is now adays called the C++ language with object oriented approach. C++ is a separate language to C and is almost a proper superset of C. It is for your information that the original version was called, “C with classes”. In 1989, the first true C++ compiler, G++, was written by Michael Tiemann of Cygnus was able to produce code for most of the targets that GCC already supported.
  • 4. The History of C/C++ Language Subject Programing Fundamentals 4 | P a g e In late 90’s and the years following, a number of new C++ compilers were produced but many were unable to keep pace with the standards committee. This era of no development is the fundamental cause of non-portable of C++ programs. One of the plus p[points of the language and especially the standard one is that it encompasses the language interface to the standard library and also the Standard Template Library (STL). There are many new features added in this language but a few of them are presented in the following manner. Built in tool (Boolean) type Exceptions Casts Namespaces The mutable keyword Templates Standard Template library (STL) Conclusion: There are only a few incompatibilities with C and they are new keywords such as New, delete, Void* pointer type conversion, etc. The last thing which should also be mentioned is that the improved comments where the delimiter gives two types of flavor. The first flavor is the C comment delimiters and the new one is the form of double slash. At the end I would say briefly that C was redesigned, extended and the reimplementation of this process, the resulting language is now called the C++ language.