Programovací jazyk C byl vytvořen v Bellových laboratořích AT&T. Záměrem bylo napsat jazyk pro snadnou a přenositelnou implementaci Unixu, což se podařilo a jazyk C je využíván v menších i ve větších obměnách do dneška.
Jazyk C tedy původně vznikl jako systémový jazyk pro systémové programátory. Nicméně s postupem času se s C a Unixem seznamovali studenti na vysokých školách, odcházeli do praxe a začali používat C i jinde. Uživatelé přirozeně požadovali, aby C bylo nejen mocným prostředkem, ale i bezpečným a přehledným jazykem. Postupně se upouštělo od „fint“.
Pojem ISO norma jazyka C definuje programovací jazyk všeobecného použití. ISO je zkratkou slov International Standards Organisation. ISO norma jazyka C je bezpečnější, než byl původní jazyk K&R C. Současně je důležité, že většina zdrojových textů, napsaných před vydáním normy, je novými překladači přijímána.
Překladače C nabízí řada nezávislých producentů programového vybavení. Dostupné jsou i verze volně (bezplatně) šiřitelné. Hlavní ale je že C, je k dispozici prakticky pro libovolné technické vybavení (hardware). Budeme-li ISO normu jazyka C dodržovat, máme velkou šanci, že budeme schopni přenést zdrojový text na jiný stroj (s jiným procesorem i OS), program přeložit, spojit s funkcemi z knihoven a konečně i spustit. Rozhodně by neměly vyvstat neřešitelné problémy (zní to pěkně, ale jak uvidíte, v praxi vždycky budou nějaké ty problémy).
S postupem doby se nezastavila ani teorie programování. Jestliže jazyk C umožňuje psát programy téměř modulárně, dnešní trend vyžaduje i podporu objektového přístupu. V roce 1986 publikoval Stroustrup knihu The C++ Programming Language, kde definuje nový programovací jazyk C++. Jedná se o objektové rozšíření jazyka C. Počátkem devadesátých let pak bylo i C++ normalizováno.
Ve druhé polovině devadesátých let je pouhá podpora objektového přístupu nepostačující, vzniká jazyk Java. Na rozdíl od C++ nepřejímá z C bezmyšlenkovitě vše, a některé prvky dokonce záměrně nepodporuje, například ukazatele, nicméně opět staví na syntaxi jazyka C. Nicméně vývoj programování i vazby C++ a Javy na jazyk C jistě dokládají trvající užitečnost znalosti jazyka C. Použitelnost C je prokázána generacemi programátorů a desetiletími nasazení.
Proto se začneme věnovat vývoji postupně složitějších a složitějších aplikací v jazyku C/C++. Na konci se naučíme i tvořit vlastní hry v jazyce C++, což určitě každý uvítá.