Wielu, mówi, że warto znać kilka języków programowania, z czym mogę się zgodzić, ale...
Znajomość kilku języków programowania w stopniu zaawansowanym, co wiąże się ze stałym poszerzaniem swojej wiedzy w zakresie każdego ze znanych języków no i konieczność systematycznego pracowania w nim powoduje, że nie z każdego języka można korzystać przez co efektywność spada, zgodzicie się?
Przykładowo ktoś zna: C++, Java, C#, PHP, Python, RoR, dostaje kontrakt na powiedzmy okres 8 miesięcy na programowanie w C++ (9:00 - 17:00) przez co nie ma czasu na programowanie w pozostałych językach, chyba, że okazjonalnie i z małym nakładem czasu, w przypadku osób, które są już ustabilizowane życiowo (rodzina, dzieci) praca po pracy raczej nie wchodzi w grę.
Nie lepiej poznać załóżmy C++ (desktop) i PHP (web) w stopniu eksperckim i w tym się rozwijać systematycznie?
Oczywiście nie zakładając, że osoba X pozna te języki na poziomie średnim / dobrym, a na zaawansowanym. Spotykam się często z CV, w których kandydaci przedstawiają Y liczbę znanych języków programowania, a nie raz miałem okazję dotrzeć do różnych, ich wypowiedzi na forach, w których pytają się o dość średnio (zaawansowane) rzeczy, które powinni wiedzieć, a przynajmniej mogli to osiągnąć ucząc się danego języka programowania. Zauważyłem u wielu tendencję, że dany język programowania poznają na poziomie średnim / dobrym, trochę w nim pracują, a następnie przechodzą do nauki następnego języka, gdzie przykładowo w C++ droga od nowicjusza do dobrego programisty jest bardzo daleka i nie jest to przerobienie jednej, czy dwóch książek jak w przypadku PHP, a co najmniej kilkunastu i ciągła praktyka, klepanie kodu.