What is the name before modern cpp?

We say c++ as modern C++ from C++ 11.
And then what should I say before C++ 11?

Core c++? just c++? I want to know exactly how people say
C++ code prior to C++11 is sometimes called "legacy C++".
@mbozzi
Thank you.
Most people understand If I called "legacy C++"?
Most people understand If I called "legacy C++"?

Yes, as far as I know, this is the accepted term.
I typically refer to it by the year the C++ was standardised. C++ 98.
We see lots of code posted here with #include <conio.h> .

That stuff based on Borland C++ which predates standardization, includes templates, exceptions, RTTI. In the PC World, it was the only decent popular C++ compiler. It's probably just referred to as Borland C++.
kbw wrote:
We see lots of code posted here with #include <conio.h>

A new non-standard "standard" being pushed is #include <bits/stdc++.h> .

Legacy C++ is a good name. Another name might be ANSI C++, though that covers one specific version of C++.
how well do you want to describe it?
there is c with classes, the original c++.
this had a variety of relatively small changes over the years until the STL came along. The stl was poorish at first, with the libraries slow, best practices yet to be established, and many features we love today not quite in place, but even so it quickly came into its own and became a game changer once the implementations were beefed up and best practices were published (eg effective stl original series).

so basically you have pre stl, post stl, 98, 11 / 17 versions, and if you need finer grained than that, you need to probably specify a compiler generation (eg turbo 3.0 or Borland builder or MSVC 2008 etc) to clarify what was available. For example if asked I have to say my .mat to c++ matrix library was written in pre-stl style.
Last edited on
Thanks, everyone. I just needed a name for my blog category about c++.

I thought categories will be "xxx C++" and "Modern C++"

and temporarily I got categories just "before C++ 11" and "after C++ 11"..
Okay, just don't forget the "more modern" C++14, and the "current" C++17 (soon to be C++20).

@jlb
Thank you, I thought "Modern C++" includes 11, 14, 17.
So when C++23 comes along, does 11 move into the "legacy" bracket?
The previous model of C++ updates was effectively "when it's ready". This gave us a thirteen year wait (excluding the minor bugfix of C++03), and a very clear difference between C++11 and C++98; a very clear modern and legacy C++.

Now that the committee has moved to a model of an update every three years, we won't see a difference of that magnitude again and a simple "legacy" and "modern" label becomes unhelpful.

I think we're already finding the term "modern" to be unhelpful, as for the older programmers it still means "C++11 and up", but there are now C++ programmers who were ten years old in 2011 and for whom anything before C++17 is old-school.
Topic archived. No new replies allowed.