Który sposób jest bardziej korzystny i produktywny?
Który sposób jest bardziej korzystny i produktywny?
Odpowiedzi:
Myślę, że potrzebujesz obu. Musisz skupić się na swoich kluczowych kompetencjach i lepiej je zrozumieć, ale jednocześnie dobrze jest spojrzeć na zewnątrz i zobaczyć, co jeszcze tam jest. Kontakt z innymi podejściami i innymi językami jest bardzo ważny, aby uczynić z nich ogólnie lepszego programistę. Jest wiele sposobów na skórowanie kota, a znajomość jak największej liczby z nich sprawi, że będziesz psychopatą w lepszym wyborze odpowiedniego narzędzia do określonego zadania.
Spędzaj więc większość swojego czasu na poprawianiu swojej biegłości i poświęć trochę czasu na naukę czegoś nowego.
Ktoś powiedział: „Nie warto uczyć się języka, który nie zmienia sposobu myślenia o programowaniu”.
Tak więc, jeśli znasz Javę, nauka języka C # (lub odwrotnie) jest niewielka. Jeśli nie z powodów pragmatycznych (tzn. Potrzebujesz go, aby rozwiązać problem), sugerowałbym trzymanie się jednego języka na paradygmat, a twój harmonogram jest wciąż wystarczająco pełny;).
Z drugiej strony specjalizacja jest z mojego doświadczenia najczęściej osiągana „w terenie”, tj. Podczas pracy nad projektem, więc przychodzi naturalnie.
Po obu stronach jest wiele naprawdę dobrych argumentów. Wiele lat temu postawiono mi dokładnie to pytanie ... skoncentruj się na moim podstawowym języku i postaraj się zostać „ekspertem” LUB wybrać nowy język i poszerzyć moją sprzedaż. Postanowiłem skoncentrować się na jednym języku.
Naprawdę nie będzie złej odpowiedzi. Oba mają zalety, ale tak naprawdę sprowadza się do tego, który z nich najlepiej pasuje do ciebie i gdzie chcesz, aby Twoja kariera się odbyła.
Nauka nowych języków to przede wszystkim sposób na poznanie nowych koncepcji i zwiększenie wydajności programowania. Nauka programowania sama w sobie bardzo różni się od nauki nowego języka do programowania.
Powinieneś skoncentrować się na ulepszaniu swoich programów (i jest wiele wskaźników do pomiaru tego, wiele subiektywnych; nie ma znaczenia, wybierz metryki i dopracuj je z czasem, wykorzystaj je do edukacji).
Powiedziawszy to, nauka „nowszych” języków (powiedzmy Python
) na starszej liście (np. Powiedz „ C
” i wielu innych) pomoże ci myśleć bardziej efektywnie i skoncentrować się na tych podstawowych pojęciach, które należy ulepszyć. Biorąc przykład dalej, może nie pojawić się od razu, ale możesz C
poprawić swoje programowanie, ponieważ myślałeś w Pythonie. Możesz nawet zacząć pisać Python zamiast psudo-code C
. Teraz jest to o wiele bardziej czytelny i weryfikowalny kod psudo.
Co prowadzi nas do podsumowania podstawowego pytania:
Tak, powinieneś skupić się na językach, które już znasz, i poszerzyć swoją wiedzę na ich temat - o ile są one nadal w użyciu. A , należy również parać się nowych języków, aby dać swój mózg nowsze narzędzia do myślenia (może nawet szybciej) rozwiązania dla potrzeb programowania.
To zależy od celu, w jakim uczysz się języka. Jeśli uczysz się języka, ponieważ używa on innego paradygmatu lub jest odpowiedni dla określonej domeny problemowej. Jeśli jednak jest to język bardzo podobny do tego, który już znasz, a wszystko, co planujesz zrobić, to przepisać cały istniejący kod w tym nowym języku, prawdopodobnie nie ma aż tak dużej wartości (na przykład przepisywanie aplikacji sieci Web w języku Python w ruby) w tym.
Jeśli już czujesz się bardzo komfortowo programując w języku, znasz wszystkie jego idiomy i potrafisz pisać w nim programy bez konieczności przeglądania dokumentacji dla każdego wywołania biblioteki, prawdopodobnie nie ma o wiele więcej do nauczenia się na ten temat. Z drugiej strony, jeśli twoja znajomość języka nie jest tak głęboka, nauka może się przydać. Istnieją dobre sposoby oceny, czy przebywasz w byłym czy drugim obozie dla języka X
Jeśli twoje odpowiedzi na te pytania są gdzieś w stylu „dużo”, „większość z nich” i „tak, i robi się irytujące”, to dobra wskazówka, że opanowałeś język i powinieneś przejść do czegoś Nowy.
Jeśli jesteś już wystarczająco dobry w języku, który znasz, nie ma potrzeby uczyć się bardzo szczegółowych, konkretnych sztuczek dla odrobiny chłodu ... to będzie całkowicie strata czasu. Jednak gdy czujesz się niekomfortowo z jakimś językiem, sugerujemy najpierw opanowanie tego języka.
Oprócz języków istnieją frameworki, wzorce ... aby nauczyć się frameworka, musisz znać język, więc w przypadku bardzo podobnych języków nauka ich pomaga jedynie przynieść trochę niezbyt zabawnej zabawy.
Osobiście uważam, że zawsze powinieneś rozwijać swoje umiejętności, aby tworzyć szybsze, bezpieczniejsze, bardziej niezawodne oprogramowanie dla większej liczby platform i skracać czas, w tym celu może być konieczne nauczenie się nowego języka, nowej struktury, nowego IDE (jest to tak samo ważne jak język) i tylko wtedy, gdy jesteś w tym celu, Twoja inwestycja jest opłacalna.
Przynajmniej nie ucz się nowego języka, aby zwiększyć liczbę języków, które znasz.