Basic Level: Starting Programming? C and C++ language to setup base and concepts
Posted: Tue Sep 24, 2024 8:33 am
C Programming Language
You don't have to know it 100%, just the concepts and basics will set you up good.
History Timeline C
Year Version Description
1972 C C was first released.
1978 K&R The first edition of “The C Programming Language” book by Brian Kernighan and Dennis Ritchie.
1989 C-89/ ANSI C ANSI standardized the language (ISO/IEC 9899:1990), introducing standard libraries and features like function prototypes, void pointers.
1990 C-90 Minor updates and fixes on C89.
1999 C-99 Support for variable length arrays, new data types, and inline functions (ISO/IEC 9899:1999).
2011 C-11 Introduction of additional data types, multi-threading, and improved Unicode (ISO/IEC 9899:2011).
2018 C-18 Minor updates and fixes on C11 (ISO/IEC 9899:2018)
Learning Resources:
The C Programming Language (Second Edition) It was written by Brian Kernighan and Dennis Ritchie (He created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B language).
C++ Language
It is widely used for systems programming, gaming, finance, scientific computing, and robotics, among other areas. It’s especially useful in building complex software systems, where performance, efficiency, and reliability are crucial.
One of its most valuable features is its ability to provide low-level access to hardware resources. This makes it an ideal language for developing system-level software, such as device drivers, operating systems, and embedded systems.
It’s also a highly popular choice for scientific computing and is used to build high-performance numerical libraries and simulation tools.
History Timeline C++
Version Year Key Features Major Changes
C++98 1998 First ISO standard - Established the Standard Template Library (STL)
Introduced templates and exceptions in C++ - Introduced namespaces
C++03 2003 - Bug fixes and improvements - Made STL more robust
- Library refinements - Fixed language ambiguities
C++11 2011 - Lambda expressions - Introduced auto keyword for type inference
- Move semantics - Standard threading library
- Range-based for loops
C++14 2014 - Enhanced lambda expressions - Generic lambdas
- Binary literals - Introduced return type deduction
- Simplified memory management
C++17 2017 - std::optional, std::variant, std::any
- Structured bindings - constexpr if - Improved compile-time programming - Introduced parallel algorithms
C++20 2020 - Concepts and ranges
- Coroutines - Calendar and timezone library - Introduced modules - Expanded constexpr capabilities
C++23 2023 Simplified Syntax for using Declarations - Standardized std::print Enhancements to std::expected std::mdspan Improved Lambda Expressions constexpr Enhancements . Networking TS (Technical Specification)
Learning Resources:
Tour of C++, 3rd Edition by Bjarne Stroustrup (Danish computer scientist, known for the development of the C++ programming language)
(Publication date September 24, 2022)
Bing.com and yandex.com, does comes with good results if you are looking for learning resources
You don't have to know it 100%, just the concepts and basics will set you up good.
History Timeline C
Year Version Description
1972 C C was first released.
1978 K&R The first edition of “The C Programming Language” book by Brian Kernighan and Dennis Ritchie.
1989 C-89/ ANSI C ANSI standardized the language (ISO/IEC 9899:1990), introducing standard libraries and features like function prototypes, void pointers.
1990 C-90 Minor updates and fixes on C89.
1999 C-99 Support for variable length arrays, new data types, and inline functions (ISO/IEC 9899:1999).
2011 C-11 Introduction of additional data types, multi-threading, and improved Unicode (ISO/IEC 9899:2011).
2018 C-18 Minor updates and fixes on C11 (ISO/IEC 9899:2018)
Learning Resources:
The C Programming Language (Second Edition) It was written by Brian Kernighan and Dennis Ritchie (He created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B language).
C++ Language
It is widely used for systems programming, gaming, finance, scientific computing, and robotics, among other areas. It’s especially useful in building complex software systems, where performance, efficiency, and reliability are crucial.
One of its most valuable features is its ability to provide low-level access to hardware resources. This makes it an ideal language for developing system-level software, such as device drivers, operating systems, and embedded systems.
It’s also a highly popular choice for scientific computing and is used to build high-performance numerical libraries and simulation tools.
History Timeline C++
Version Year Key Features Major Changes
C++98 1998 First ISO standard - Established the Standard Template Library (STL)
Introduced templates and exceptions in C++ - Introduced namespaces
C++03 2003 - Bug fixes and improvements - Made STL more robust
- Library refinements - Fixed language ambiguities
C++11 2011 - Lambda expressions - Introduced auto keyword for type inference
- Move semantics - Standard threading library
- Range-based for loops
C++14 2014 - Enhanced lambda expressions - Generic lambdas
- Binary literals - Introduced return type deduction
- Simplified memory management
C++17 2017 - std::optional, std::variant, std::any
- Structured bindings - constexpr if - Improved compile-time programming - Introduced parallel algorithms
C++20 2020 - Concepts and ranges
- Coroutines - Calendar and timezone library - Introduced modules - Expanded constexpr capabilities
C++23 2023 Simplified Syntax for using Declarations - Standardized std::print Enhancements to std::expected std::mdspan Improved Lambda Expressions constexpr Enhancements . Networking TS (Technical Specification)
Learning Resources:
Tour of C++, 3rd Edition by Bjarne Stroustrup (Danish computer scientist, known for the development of the C++ programming language)
(Publication date September 24, 2022)
Bing.com and yandex.com, does comes with good results if you are looking for learning resources
