Nauka języków - więcej ogólnie, mniej szczegółowo? [zamknięte]

Witam W mojej obecnej pracy i ogólnie (choćby na potrzeby uczelni), ciągle muszę się uczyć nowych języków, technologii i tak na dobrą sprawę nie mam czasu by pogłębić swoją wiedzę z języków, które znam już w jakimś stopniu. I teraz moje pytanie, czy z perspektywy rozwoju zawodowego, jeśli w przyszłości chciałbym zmienić pracę, lepiej znać więcej języków, ale ogólnie, czy mniej, a bardziej szczegółowo?

Do tego jeszcze może dojść również kwestia frameworków przeznaczonych dla danych języków, warto się ich uczyć, czy może w tym czasie uczyć się jakiegoś nowego języka?

Powód zamknięcia: Udzielono odpowiedzi na pytanie, poprawna odpowiedź została zaakceptowana

  • Pewnie spodziewasz się odpowiedzi na zasadzie A/B. Jednak takiej nie udzielę. Języków programowania jest bardzo dużo i można podzielić je na kilka rodzajów. Znani programiści radzą, aby wyrobić sobie nawyk nauki jednego nowego języka na rok. Można traktować taką formę nauki jako ubezpieczenie. Jeżeli dotychczasowe języki okażą się nie przydatne-będziesz znał inne. Za takim podejściem przemawia też możliwość rozwinięcia swoich horyzontów myślowych i nowe kierunki w których możesz podążać, gdy okaże się, że obecne języki nie spełniają Twoich wymagań w nowym projekcie.

    Sytuacja w której jesteś teraz jest bardzo dobra - będziesz mógł rozeznać się kiedy który język nadaje się lepiej do realizacji konkretnego zadania. Takiej wiedzy brakuje zazwyczaj programistom, którzy skupiają się zanadto nad jednym językiem.

    Ponadto do każdego języka dostępne jest środowisko pełne bibliotek, komponentów, dodatkowego oprogramowania itd. Niektórzy programiści postulują, że lepiej skupić się na jednym języku i poznać dogłębnie jego otoczenie. Jednak myślę że ten postulat jest przesadzony. Nie jestem zwolennikiem nauki na pamięć bibliotek które ciągle się zmieniają i w dodatku pojawiają się nowe.

    Przeważnie i tak programiści uczą się obsługi nowych sytuacji w danym środowisko dopiero w momencie kiedy tej wiedzy potrzebują, nikt nie uczy się całego Frameworka na pamięć i na wszelki wypadek. W tej sytuacji myślę że lepiej poznawać rozwiązania tylko wtedy kiedy są potrzebne i w językach w których są potrzebne.

    Powinieneś nacisnąć kciuk do góry jeżeli ta odpowiedź Ci się podoba. Z góry dziękuję.

  • Dobrze jest znać porządnie jeden wybrany język czy framework. Oczywiście, nie można pozostać tylko na nim i warto rozwijać się w różnych kierunkach, jednak znając same podstawy i ogólniki nie dostaniesz dobrej pracy, bo z reguły szuka się ludzi do programowania w konkretnej technologii (choć często znajomość innych języków jest dodatkowym atutem) Na pewno warto poznać parę ogólnych rzeczy, takich jak zasady programowania obiektowego czy np. wzorce projektowe - dadzą Ci one solidne podstawy do programowania w wielu językach.

  • Jak zna się dobrze inżynierię programowania i zasady programowania obiektowego, to łatwo nauczyć się pisać w nowym języku - kwestia poznania nowych nazw metod.
    Wg mnie znajomość większej ilości języków pozwoli na łatwiejsze znalezienie pracy, ale i tak w tej pracy wszystkich tych języków nie wykorzystamy, tylko jeden, max 2. Lepiej jest znać jeden a dobrze, niż 5 'po łebkach'.

  • Na przykładzie aplikacji webowych.

    Aby stworzyć przyzwoitą stronę www trzeba znać przynajmniej jeden język skryptowy np PHP albo Python, do tego SQL aby móc wykonywać zapytania do bazy danych - chyba, że się używa ORM-a, który z kolei ma swój pseudo język np. DQL w Doctrine albo dialekt używany w Django. Następnie mamy CSS-a, HTMLa, które językami programowania nie są ale już taki JavaScript albo przynajmniej jego "wersja" Jquery jak najbardziej. Jeśli jeszcze zabieramy się za Flasha to się przyda ActionScript.

    Nie da się funkcjonować jako programista ze znajomością tylko i wyłącznie jednego języka. Drugą kwestią jest dobór języków i technologii. Ja jestem zwolennikiem uczenia się w pierwszej kolejności języków komplementarnych a dopiero w drugiej alternatywnych. Mówiąc inaczej wolę znać PHP i JavaScript które się nawzajem uzupełniają niż Ruby i Pythona, które pozwolą mi osiągnąć to samo, ale jest mało prawdopodobne abym użył obu w jednym projekcie (choć zdarzyło mi się użyć PHP i Pythona kiedy pracowałem nad porównywarką cen).

    Moja rada - lepiej zgłębić mniej niż więcej liznąć

  • Moim zdaniem lepiej jest znać ogólnie jak najwięcej języków. W razie potrzeby szybko można wtedy pogłębić wiedzę nt. danego języka mając już podstawy. W ogóle to ciągle warto się uczyć i nie żałować na to czasu. ;)

  • Najlepiej to się w tym wypadku nauczyć uczenia ;-) i to wcale nie głupie, bo jak umie się korzystać z manuali to się umie programować, składnia języka to najmniejszy problem, jak się załapało 'idee'.

  • Ja jestem z więcej więcej ogólnie, bo to wiele ułatwia. Można połączyć komponenty zrobione w różnych językach. Pozatym nie wszystko da się zrobić w jednym.

Zaloguj się, aby dodać swoją odpowiedź