• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Znajomość kilku języków programowania, a stopień zaawansowany tj. ekspercki

VPS Starter Arubacloud
+6 głosów
2,010 wizyt
pytanie zadane 15 stycznia 2016 w C i C++ przez secsec Mądrala (7,250 p.)
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 osoba X 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.

3 odpowiedzi

+5 głosów
odpowiedź 15 stycznia 2016 przez sonquer Gaduła (4,280 p.)
Jeżeli chce się być we wszystkim dobrym, to nie będzie się dobrym w niczym.
Tudzież warto mieć swój język "Młotek".
+5 głosów
odpowiedź 16 stycznia 2016 przez event15 Szeryf (93,790 p.)

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 wink

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ę.

komentarz 16 stycznia 2016 przez event15 Szeryf (93,790 p.)
Tak                     .
komentarz 16 stycznia 2016 przez secsec Mądrala (7,250 p.)
Moim celem nie było obrażenie Ciebie ani nikogo, jeżeli poczułeś się urażony to przepraszam ;)

 

Uczę się względem sieci neuronowych, co wymaga bardzo dużej wiedzy, a co innego jeżeli uczyłbym się względem pisania jakiś aplikacji webowych czy serwisów.
+1 głos
odpowiedź 15 stycznia 2016 przez secsec Mądrala (7,250 p.)
Dodam, że sam zacząłem naukę programowania i początkowo stworzyłem sobie mapę myśli z językami programowania, które chciałbym poznać, ale po rozpoczęciu nauki stwierdziłem, że nie możliwe jest poznanie 4 - 6 języków programowania w stopniu takim, jakim chcę je poznać, nie tyle, że problemem jest ich poznanie, ale problemem jest utrzymanie i rozwijanie wiedzy z właśnie takiego powodu jak wskazałem w poście wyżej: praca, życie prywatne, etc.

Docelowo uczę się względem budowy produktów z zakresu sztucznej inteligencji, głównie BI. Tu, nie jest wymagana sama wiedza o programowaniu, ale i algorytmy, etc.
komentarz 15 stycznia 2016 przez draghan VIP (106,230 p.)
Sam odpowiedziałeś na swoje pytanie. :)

I nie chodzi mi o to, że dodałeś posta i fizycznie dodałeś do niego odpowiedź, tylko o merytorykę - czytając Twoje pytanie można odnieść wrażenie, że już znasz na nie odpowiedź w momencie jego pisania. ;)
komentarz 15 stycznia 2016 przez secsec Mądrala (7,250 p.)
Odpowiedź niby znam, ale zawsze lepiej posłuchać starszych doświadczeniem, choć nie zawsze dobrze radzą, w większości przypadków słyszę ucz się kilku języków programowania i początkowo twierdziłem, że jest to ciekawe doświadczenie, na pewno dające jakieś efekty, ale jak zacząłem naukę programowania (C++) zdałem sobie sprawę z tego, że poznanie w stopniu zaawansowanym (eksperckim) danego języka programowania to nie miesiąc, pół roku tylko bardzo dużo czasu i ciężkiej pracy. Przy czym wiem, że C++ to złożony język programowania i poznanie dobrze podstaw to nie tak jak w przypadku PHP z 4 - 6 miesięcy, ale trochę więcej czasu.

Podobne pytania

0 głosów
1 odpowiedź 192 wizyt
pytanie zadane 20 stycznia 2016 w Inne języki przez Quezx Użytkownik (510 p.)
0 głosów
1 odpowiedź 445 wizyt
0 głosów
2 odpowiedzi 432 wizyt
pytanie zadane 21 lipca 2017 w Inne języki przez Cepepe Początkujący (260 p.)

92,963 zapytań

141,927 odpowiedzi

321,161 komentarzy

62,296 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...