Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

History of C & C++: A Deep Dive

Lesson 2 of 53 in the free Foundation of C & C++ notes on Siksha Sarovar, written by Rohit Jangra.

The Evolution of Systems Programming

The story of C is not just about a language; it's about the birth of modern computing. It is intimately tied to the story of the UNIX operating system. In the late 1960s, researchers at AT&T Bell Labs were working on a massive operating system called Multics. When Multics was cancelled, Ken Thompson and Dennis Ritchie needed a new environment to continue their work.

Timeline of Innovation

  1. 1969: Ken Thompson creates the B language, a stripped-down version of BCPL (Basic Combined Programming Language). B was "untyped"—everything was treated as a single "word" of data.
  2. 1970: Thompson and Ritchie use B to write the first version of UNIX for the PDP-7, a computer with very limited memory.
  3. 1972: Dennis Ritchie evolves B into C. He adds "types" (int, char, float) and the ability to describe complex data structures. This allowed C to describe hardware more accurately while remaining readable.
  4. 1973: The UNIX kernel is rewritten in C. This was a revolutionary moment. Previously, OS kernels were written in Assembly language, which was tied to specific hardware. Rewriting UNIX in C made the operating system "portable"—it could run on any machine that had a C compiler.
  5. 1978: Brian Kernighan and Dennis Ritchie publish the first edition of "The C Programming Language" (K&R C). This book became the "bible" for programmers and the unofficial standard for the language for over a decade.
  6. 1983: Bjarne Stroustrup starts work on "C with Classes" at Bell Labs. He wanted to combine the efficiency of C with the organizational power of Simula (an early OOP language).
  7. 1985: "C with Classes" is renamed to C++ and released. The name was suggested by Rick Mascitti; the "++" is the increment operator in C, symbolizing that C++ is the "next step" or "increment" of C.
  8. 1989: ANSI C is standardized (C89), providing a formal, rigorous definition of the language to ensure code worked the same way on every compiler.
  9. 1999: C99 standard is released, adding modern features like inline functions, variable-length arrays, and long long integers.
  10. 2011: C++11 is released, often called "Modern C++." It brought massive changes like the auto keyword, lambda expressions, smart pointers, and a standardized multi-threading library.

The Impact of C

C's syntax and logic have influenced almost every language created since. Java, C#, PHP, JavaScript, Perl, and Objective-C all borrowed heavily from C. When you learn C, you aren't just learning one language; you are learning the "DNA" of the software industry.

Fun Fact: The Bootstrapping Process

How do you write a compiler for a new language? You have to write it in an existing language. The first C compiler was written in B. But once the C compiler was functional enough, the developers used C to write a better version of the C compiler. This is called bootstrapping.

The Philosophy of Performance

Both C and C++ are built on the "Zero-Overhead Principle." This means:

  • You don't pay (in performance) for what you don't use.
  • The features you do use are as efficient as if you had written them manually in Assembly.
Despite being decades old, C and C++ consistently rank in the top 5 of the TIOBE index, showing their enduring relevance in the tech world. From the software in your car's engine to the servers running the internet, C and C++ are everywhere.