Open Eggbert

History

1966 or 1967 - OOP was invented

"Object-Oriented Programming" (OOP) was coined by Alan Kay in 1966 or 1967.

Early 1970s - the C programming language was created

In the 1970s Dennis Ritchie developed the C programming language at Bell Labs. The reason for the creation of C was to port the UNIX operating system from assembler to a new programming language, enhancing UNIX's portability across various computer architectures.

Early 1970s (too) - OOP gains attraction

Object-oriented programming (OOP) was gaining attraction, mainly through Simula, a language developed in the 1960s.

1979 - Birth of "C with Classes"

Bjarne Stroustrup, a Danish computer scientist at Bell Labs, created and extension for C: "C with Classes".

1985 - Birth of C++

In 1985, Stroustrup published The C++ Programming Language, marking the official release of C++.

1989-1998 - The Standardization Process

During the late 1980s and early 1990s, C++ evolved with new features like function overloading, operator overloading, and templates. In 1989, the first official C++ standard, known as C++ 2.0, was released, adding multiple inheritance and abstract classes.

The Standard Template Library (STL), designed by Alexander Stepanov, became an integral part of C++ in the mid-1990s, introducing generic programming through templates.

The first official ISO standard for C++ was released in 1998 (C++98), providing a stable and portable foundation for the language.

Modernization and Evolution (2003-2011)

A minor revision, C++03, was published in 2003, fixing issues in C++98 but not introducing major new features. However, the language needed a significant update to adapt to modern programming practices.

In 2011, C++11 introduced several powerful features, including:

C++11 marked a turning point, making the language more expressive, safe, and efficient.

Continuous Evolution (2014-Present)

C++ continues to evolve with a new standard every three years:

The Future of C++

The next iteration, C++26, is expected to bring more improvements, including enhanced concurrency support and better tooling for developers. The language continues to be shaped by the needs of modern software development, balancing performance, safety, and usability.

Conclusion

C++ has come a long way since its start in 1979. From its humble beginnings as an enhancement to C, it has grown into a versatile and powerful programming language that remains relevant in today's ever-changing technological landscape. As it continues to evolve, C++ remains a cornerstone of high-performance software development.