C / C++
C and C++ are related but 2 different languages.
Read more: C vs C++
Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html
- Compilers: Clang (preferred) and GCC
- Build tools: no standard, CMake is probably the most popular; Gradle also supports C++; Google open sourced Bazel.
- header files:
- source files:
It does not matter which file extension to use.
If a source file
c.cc includes a header
b.h, which includes
c.cc can use all symbols declared in
The original STL was developed separately, and was proposed to be included in C++ standard. Only part of it actually went into the standard, some parts were rejected while others were redesigned. That is why wikipedia says it "influenced many parts of the C++ Standard Library". You will not find the term "STL" in the standard, instead usually STL refers to container library, iterator library and algorithm
- VS Code (free, code editor)
- CLion (not free, full featured IDE)
- Xcode (on macOS)
- OS: Linux is implemented in C (but NOT C++)
- other languages: CPython is written in C; OpenJDK is using C++
- Web Browser: V8, the JS engine is in C++, used by node and Chrome
- graphics and games: Vulkan, which replaces OpenGL, is written in C; Unreal Engine is written in C++; Unity's runtime is in C++ (though programmers write C# on top of Unity)
- servers: many companies, including Google and Facebook, use C++ extensively to build their servers.
- databases: the most popular databases are often using C/C++: MySQL, Postgres, Redis, MongoDB
- Boost (https://www.boost.org/)
- Google: abseil (https://github.com/abseil/)
- Facebook: folly (https://github.com/facebook/folly)