What does “primary language” mean?

In the table on this page of the GCC documentation, one of the elements (about halfway down the table) is listed as "main language" "only. What does this mean? What parts of the language will not be included?

+7
source share
3 answers

The standard library is part of the language. To express a subset of a language that applies only to syntax rules, semantic rules, and the like, but not to a library, people use the term "main language." For example, the C ++ committee has a working group called “main working group” (CWG) and “library working group” (LWG).

+9
source

People often mean all C ++ except the standard library, which is also part of the language specification.

As a more authoritative example, Stephan T. Lavavej (STL) is a key C ++ developer at Microsoft. In his series of lectures on the Primary Language, he defines that this is all that you have access to without including any heading.

He does not consider himself a developer of the main language. For example, he worked on shared_ptr , which is a fundamental part of C ++ 11, perhaps more fundamental than the lines and threads that the comments mention.

The C ++ standard does not mention Core Language, but the standard library

 17 Library introduction 18 Language support library 19 Diagnostics library 20 General utilities library 21 Strings library 22 Localization library 23 Containers library 24 Iterators library 25 Algorithms library 26 Numerics library 27 Input/output library 28 Regular expressions library 29 Atomic operations library 30 Thread support library 

I would say that chapter 1-16 (almost?) Deals only with the main language, but maybe more.

+2
source

Johannes answer explains what “primary language” means in general. In the specific context that you are asking about, this means that in GCC 4.7 parts of the main language n3050 are implemented , but not necessarily parts of the library (these changes are from the article applicable to paragraphs 17-30)

In fact, some changes to the library are also implemented in GCC 4.7, but the library status is documented elsewhere

+1
source

All Articles