Język C++ stworzył duński informatyk, Bjarne Stroustrup w latach 80-tych jako obiektowe rozszerzenie języka C. Od lat C++ należy do najpopularniejszych języków. Programiści szukający pracy w C++ mają szeroką gamę ofert do wyboru.
Wersje języka C++
Język pozostaje bezkonkurencyjny, jeśli chodzi o wysokobudżetowe gry komputerowe, oprogramowanie wbudowane, programowanie systemowe. W oparciu o C++ powstał Amazon, a także systemy operacyjne Windows.
Dotychczas wydano 3 wersje, które zmieniły sposób, w jakim programuje się w C++. Są to odpowiednio:
- C ++11 – wydane 8 lat po poprzedniej wersji. Aktualizacja wprowadziła wyrażenia lambda, ulepszenia w implementacji sprytnych wskaźników, możliwość automatycznego przypisania typu, czy zastąpienie NULL przez nullptr. Zmian było naprawdę sporo, również w bibliotece standardowej, gdzie pojawiły się m.in. nowe struktury danych, klasa std::thread ułatwiająca obsługę wątków czy szablon funkcji std::async, która umożliwia asynchroniczne wywołania,
- C ++14 – wersja ta rozbudowała możliwość dedukcji typów o użycie funkcji języka również w wyrażeniach lambda czy typach zwracanych.
- C ++17 – kolejne stopniowe rozszerzenie dedukcji typów, dodanie możliwości użycia if i lambd w konstrukcji constexpr (czyli takiej, której wartość zostaje określona w czasie kompilacji). W bibliotece standardowej pojawił się np. std::optional, czyli szablon klasy, która zawiera opcjonalną wartość, czy std::filesystem, a więc zunifikowany sposób obsługi systemu plików.
Język programowania, który ciągle się rozwija
Naturalnie nie są to wszystkie nowości w każdej z wersji i jest ich obecnie o wiele więcej. Dodatkowo w tym roku powinniśmy się doczekać wydania C ++20, które wprowadzi m.in. współprogramy i moduły. Wszystko to pokazuje, że C++ ciągle się rozwija, z czego trzeba sobie zdawać sprawę w trakcie jego nauki.
Podstawy C++ pozostają takie same, jak kilkanaście lat temu. Jednak w profesjonalnym developmencie używa się wielu funkcji dostępnych dopiero we współczesnych wersjach.
Obecnie nie ma sensu zaczynać nauki od C++ starszego niż wersja 11. To on powinien stać się bazową wersją na drodze rozwoju programisty języka C ++.