Intro to C
A little bit of history
C and C++: at the beginning
[1972] - Developed in parallel to UNIX
UNIX: Operating System multi-task and multi-user (le shell)
Dennis Ritchie and Ken Thompson
Come after the language B, brings notably the notion of types
[1978] The C Programming Language (the book)
Dennis Ritchie et Brian Kernighan
[1979] C with classes (Will become C++)
Bjarne Stroustrup (After his PhD Thesis)
[1987] GNU Compiler Collection (GCC) support C++
It is the first (natively)
Today: GNU project C and C++ Compiler
Norm o C
[1983] group creation part of ANSI
American National Standards Institute
[1989] ANSI C or C89 (with minor evolution)
[1990] adoption of C89 by ISO (C90)
International Organization for Standardization
[1999] New evolution of the ISO norm (C99)
Variable size table, increments of floating point variables ...
Increase of the standard library
[2011] New evolution of the ISO norm (C11)
Multi-thread, generic type...
C++ norm evolves in parallel:
C++98, C++03, C++11 (et C++14)
Sources : fr.wikipedia.org - en.wikipedia.org
Philosophy
Language C and C++
Close to the machine, more or less expressive
An imperative programming language:
Main differences in C++
Addition
Limit
+ Notions of POO
- Not supported on all hardware architectures
+ Templates and STL
- Not the same strictness as other object languages
+ Still close to the machine
- Different behaviors fct(compiler, architectures)
Online resources
Understand with Wikipedia :
C++ : C++ - fr
Programmation impérative : Programmation impérative
GCC : GNU Compiler Collection
...
Courses, tutorials, forums :
...
Tools :
GNU_Compiler_Collection
Windows: Minimalist GNU for Windows (with GCC) : MinGW
IDE (Integrated Development Environment) Dédié
OS independent : codeblocks
IDE Linux : kdevelop
IDE Windows : Visual-Studio
IDE Générique
Visual Studio Code
ATOM
...
Debugger:
Build Automation: Make, CMake
Debugger: GNU Debugger GDB (possible UI)
Automatic test: Answer on stackoverflow
Last updated
Was this helpful?