warto znać kilka języków programowania
Warto.
Nie lepiej poznać załóżmy C++ (desktop) i PHP (web) w stopniu eksperckim i w tym się rozwijać systematycznie?
to zależy.
i nie jest to przerobienie jednej, czy dwóch książek jak w przypadku PHP,
Tu mnie obraziłeś.
Dobra, to czas na odpowiedź, mimo, że jestem urażony lekceważącym podejściem do PHP
Oczywiście, że posiadanie znajomości wielu języków programowania to super skill. Nikt Ci nie powie, że nie. Jednak uważam, że ludzie, którzy mają mały staż w programowaniu nie powinni nawet o tym myśleć. Z mojego punktu widzenia wygląda to tak, że najpierw trzeba poznać doskonale język jeden, mówi się, że najlepiej z jednego paradygmatu programowania. Trzeba go bardzo dobrze znać, ale poznanie tego języka to - poznanie dobrych praktyk, poznanie metod testowania swojego kodu, wdrażania do do produkcji, ciągła integracja i ciągłe dostarczanie. Utrzymanie takiego kodu. Jest to raczej zadanie dla zawodowego programisty, który może 4-5 lat siedzi w zawodzie jako co najmniej mid. Dopiero wtedy może przesiąść się na inny język a zwykle będzie to kierowane potrzebą douczenia się czegoś, czego jego język mu nie oferuje, lub oferuje to zbyt słabo. Przykład ode mnie z pracy: PHP słabo daje rade z SSLami, trzeba było napisać mini plugin w Javie.
Starając się to wszystko ująć skrótowo, mogę powiedzieć, że wiedza na temat wielu języków przychodzi z czasem i nie jest kierowana popędem w Twoim stylu "zrobiłem mapkę języków jakie chcę znać". Zobacz, zestawiłeś C++ i PHP na równi, a są to języki zgoła innego przeznaczenia, zupełnie inaczej zbudowane, nie mające ze sobą zbyt wiele wspólnego. Tak jak byś porównywał Scalę i Pascala.
Z językami w programowaniu jest tak, jak z językami ogólnie. Ucząc się jednego języka z jakiejś rodziny dużo łatwiej nauczysz się reszty języków z jego rodziny. Dajmy na przykład Włoski. Opanujesz go, to dość prosto przyjdzie Ci: Hiszpański, Portugalski, Grecki. Może nawet i Łacina. Opanujesz Angielski, to łatwo opanujesz Niemiecki Norweski, Holenderski, Duński. Na pewno dużo łatwiej. Ucząc się na raz kilku różnych języków, różnego przeznaczenia i różnych składni nie osiągniesz celu. Staniesz się średnim programistą i prawdopodobnie bardzo zagubionym. Radziłbym Ci się ukierunkować.
Wybierz sobie co tak na prawdę chcesz pisać? Strony internetowe? Programy i aplikacje? Programy z interfesem w sieci? Są do tego języki specjalnego przeznaczenia i tego się trzymaj. Spójrz na składnię tych języków, dowiedz się jak wyglądają, czy podoba ci się ich składnia. Spójrz jakie możliwości mają ich zaawansowane elementy. Na przykład obiektowość w C++ i PHP/Javie zupełnie inaczej wygląda. Oczywiście zasady są te same, ale inaczej się to pisze. Który styl Ci bardziej odpowiada?
Spójrz też na community. TO też ważne, bo community jeżeli jest dobre to zawsze Ci pomoże, nie zostawi Cię w potrzebie. Zastanów się.