Nie jestem zawodowym programista C++, ale we własnym zakresie uczyłem się C++ około dwa lata w tym napisałem kilka programów okienkowych i parę pomniejszych gier.
Nauka od C++ na sam start ma pewne plusy
wpływ na charakterek
- nie ma szybkich efektów więc c++ hartuje cierpliwość + samodzielność
- linkowanie bibliotek wymaga czasu i jeszcze większej cierpliwość + samodzielność
- połapanie się w winapi, i innych niskopoziomowych biblitekach hartuje cierpliwość i samodzielność,
- komunikaty komplilacji bywają długie i często nic nie mówią, ale to hartuje znowu cierpliwość + samodzielność
- jak błąd w trakcie wykonania to program leży i ciężej się połapać o co chodzi, ale tak człowiek namacalnie przekonuje się do pracy z debugerem, preprocesorem czy valgrindem i to też hartuje.. eh
Po C++ na przestrzeni 10 lat nie miałem takiego problemu który powaliłby mnie na kolana. Tylko w c++ spotkałem się z różnymi zagadnieniami które bite przez 2-3 dni nie pozwalały mi się poruszyć do przodu nawet o krok.
wpływ na obszary zainteresowań
- w c++ wiele rzeczy jest trudnych na start stąd łatwiej jest się przekonać do tematów związanych z algorytmami
- dawniej książki od algorytmiki głównie przykłady miały w c/c++ albo pascalu więc ktoś kto unika c++ traci dostęp do ciekawszych książek (i poza tym książki w c++ poruszały ciekawsze tematy np. seria perełki programowania dotycząca programowania gier)
- analogicznie jeśli kogoś interesuje opengl lub rzeczy specyficzne dla c/c++, dzisiaj to początkujący wybierze pythona ale domyślnie będzie omijał te tematy, które były super ciekawe w c++
wpływ na naukę kolejnych języków
- po c++ wszystkie pozostałe języki imperatywne wyglądają jak zabawki przeznaczone dla dzieci, i z perspektywy c++ łatwiej jest pojąć o co chodzi np. u mnie wystarczył w zasadzie 1 dzień na pythona, by pisać komercyjne programy, a w przypadku javy niecały tydzień.
Ogólnie jak ktoś wyjdzie z C++ to moim zdaniem szybciej przekona się do tematów związanych z współbieżnością, projektowaniem klas, używaniem systemowego api.
EDIT:
C++ jest trudniejszym językiem i zaczynanie od niego jest bardziej wymagające - to fakt, ale poziom wejścia w takie tematy jak pisanie kompilatora, serwera ala apache/nginx, czy rzeczy na bazie opengl nie są lżejsze ani trochę więc jeśli ktoś się obawia C++ to w sumie co mu zostanie? Klepanie formularzy dla Grażynek bądź scalanie gotowych libów? I nie chodzi mi o to, że c++ jest najlepszy itp, bo nie jest, też nie jestem zakochany w tym języku bo od lat w nim nie koduje, ale c++ to wystarczająco dobry język do rzeczy mniej oklepanych.