C++

Aktualizacja: 15.09.2017

Zastosowanie

C++ to język ogólnego zastosowania. Programy w C++ mogą być napisane tak, aby były wieloplatformowe bez żadnym modyfikacji, ale tylko, gdy trzymamy się odpowiednich zasad. Niektóre właściwości/biblioteki są dla specyficznych systemów.

Został stworzony głównie do programowania systemowego oraz dużych i z ograniczonymi zasobami systemów wbudowanych. W C++ napisane zostały systemy operacyjne (lub ich części) takie jak Apple OS X,IBM OS/400, Windows NT, XP, Vista, 7. Jednak zastosowanie C++ jest dużo szersze, głównie tam gdzie stawia się na wydajność oprogramowania, od aplikacji desktopowych(m.in. produkty Adobe np. Photoshop, Acrobat czy pakiety biurowe Office) przez serwery (m.in. e-commerce np. Amazon, Ebay; wyszukiwarki np. Chrome; baz danych SQL np. MongoDB) po silniki gier AAA lub ich części (np. CryEngine, Unity, Unreal Engine).

C++ używany jest w największych światowych korporacjach m.in: Adobe, Facebook, Amazon, Ericsson, HP, IBM, Intel.

Poziom skomplikowania

C++ to język dużo bardziej złożony niż inne języki programowania. Jego semantyka może się wydawać nieco mniej przyjazna dla początkujących. Trzeba zrozumieć dużo więcej aspektów niż w językach o wyższym poziomie abstrakcji od sprzętu. Należy do nich np. zarządzanie pamięcią. Zakłada statyczną kontrolę typów, ale pozwala także na ich automatyczną dedukcję. Jednak dzięki tym właściwościom C++ daję większą kontrolę nad programem, jest bardziej jednoznaczny i umożliwia dostęp do bardziej niskopoziomowych funkcji.

Często mówi się o wskaźnikach, że są trudne dla początkujących jednak nie powinieneś się ich bać. Zwłaszcza, że istnieją inteligentne wskaźniki (są zalecą praktyką), które same usuwają się wraz z końcem swojego zasięgu zapobiegając wyciekom pamięci, więc nie musisz już się o to martwić. Surowe wskaźniki są używane tylko w specyficznych sytuacjach.

Można zauważyć, że C++ jest często polecanym językiem na początek, na zasadzie, że jak poznasz wszystkie koncepty programowania w C++ to już żaden inny język nie sprawi Ci problemu. Jednak jest to język bardzo złożony i dla nowicjuszy może być to przytłaczające. Jeśli nie masz konkretnych założeń, warto zacząć z bardziej przyjaznymi dla początkujących językami jak np. Python. C++ to nieco trudniejsza i dłuższa droga na początek, ale jeśli nie jest to dla Ciebie problemem, C++ to dobry wybór szczególnie jeśli liczy się szybkość oraz niskie zużycie zasobów.

Popularność

Według indeksu TIOBE C++ jest 3 najbardziej popularnym językiem programowania. Z kolei ranking Spectrum plasuje go na 4 pozycji lekko odstając za Pythonem, C, Javą i C++, Na Stack OverFlow znajduję się na 6 pozycji z ilością 495 827 zadanych pytań. Również na GitHubie jest na 6 pozycji najczęściej tagowanych języków z liczbą ponad 365 000 repozytoriów, z czego około 700 ma więcej niż 500 gwiazdek. Jeśli chodzi o organizowane spotkania to w porównaniu z innymi językami jest ich znacznie mniej. Według MeetUp.com zarejestrowanych jest 48 900 zainteresowanych z liczbą tylko 168 spotkań na całym świecie.

Przyszłość języka

Lata świetności C++ z 2003 roku już dawno minęły, jednak wraz z rozwojem technologii VR (Virtual Reality), w której C++ jest przodującym językiem, wraca on do swojej świetności. Dodatkowo mimo krytyki poziomu skomplikowania, jest on cały czas aktywnie ulepszany, przez co nie zostanie wypchnięty przez inne języki jeszcze przez długi czas. Ostatnia jego wersja wyszła w 2014 roku, a nowa jest zapowiedziana na rok 2017.