Wątek przeniesiony 2020-03-15 22:55 z Nietuzinkowe tematy przez furious programming.

Uczenie się języków programowania

0

Cześć, otóż ostatnio z uwagi na zewnętrzne powody zacząłem się uczyć drugiego języka programowania i troche sie obawiam, że zamiast nauczyć się obydwu języków to zrobi mi się wielki "miszmasz" w związku z czym będą mi się mylić polecenia, składnie etc. Teraz moje pytanie, czy uczenie się dwóch(nie mówie o większej ilości) języków naraz jest "zdrowe"? Czy może powinienem się nauczyć jednego języka, a potem wziąć dopiero za kolejny? Jak Wy się uczycie? //jeżeli zły dział to prosze o przeniesienie

7

Umiejętność programowania jest jeden poziom abstrakcji wyżej od znajomości języka.

3
Wayne napisał(a):

Cześć, otóż ostatnio z uwagi na zewnętrzne powody zacząłem się uczyć drugiego języka programowania i troche sie obawiam, że zamiast nauczyć się obydwu języków to zrobi mi się wielki "miszmasz" w związku z czym będą mi się mylić polecenia, składnie etc.

Jeśli nie programujesz w Notepad.exe i nie kompilujesz wszystkiego ręcznie (a jeśli to robisz, przestań bo nie warto) to wszelkie problemy z "myleniem się" będziesz w stanie dość szybko wyłapywać, zresztą ile razy można zapomnieć że jakiś konstrukt pochodzi z języka "A" a nie "B"?

Druga sprawa, że przecież i tak prawie na pewno nie unikniesz pracy z tylko jednym językiem programowania naraz. Nie dzisiaj. Nawet jeśli ta "wielość" będzie się sprowadzać do połączenia dowolnego języka general-purpose z SQL, to nadal są już dwa języki. A jest spora szansa, że będzie więcej.

Trzecia sprawa... patrząc na to w ten sposób, miszmasz z wieloma językami to małe piwo przy miszmaszu z wersjami jednego języka, bibliotek i tak dalej. Te pierwsze są dużo bardziej ewidentne. Ale języki zmieniają się stopniowo, niektóre zmiany są dość subtelne i niekoniecznie dotyczą samej składni, w dodatku łatwiej jest sobie ubzdurać, że coś weszło w wersji X a nie Y - no a potem jest konsternacja i kontemplowanie własnej głupoty :D

Teraz moje pytanie, czy uczenie się dwóch(nie mówie o większej ilości) języków naraz jest "zdrowe"?

Ja tam uważam, że tak, choć trudno przeczyć że poświęcając daną ilość czasu na naukę jednego języka poznasz go dużo dogłębniej niż dzieląc ten czas na więcej języków. Z drugiej strony każdy inny język to będzie dla Ciebie czarna magia chyba, że jest naprawdę podobny do tego, który znasz, ma podobne paradygmaty i tak dalej.

Czy może powinienem się nauczyć jednego języka, a potem wziąć dopiero za kolejny?

W którym momencie uznasz, że "nauczyłeś" się języka? To nie jest zero-jedynkowe, na zasadzie "pamiętam już 90% składni, więc chyba umiem". Do tego dochodzi masa rzeczy dookoła, biblioteki, narzędzia, cały ekosystem. Tego się uczy latami, w dodatku zmienia się to dynamicznie więc jak już opanujesz do perfekcji ekosystem zastany w 2020, to będziesz mieć masę zaległości.

Jak Wy się uczycie?

Najkrócej mówiąc - w miarę potrzeb i rozwoju sytuacji, a czasami jak coś mnie zaintryguje samo z siebie ;)

A tak ściślej - nie mam jakiejś reguły, że uczę się tylko jednego języka naraz "aż się nauczę" i koniec. Ani tym bardziej, że uczę się tylko jednego i nic ponadto. Zresztą nawet bym nie powiedział, że znam jakikolwiek "od deski do deski", a obecnie pracuję na przemian gdzieś tak z czterema, wliczając SQL pięcioma, z różną częstotliwością używania i natężeniem, z czego dwóch nie znałem przedtem wcale, a jednego używałem "dawno temu i nieprawda", w dość starej wersji i w praktyce trzeba się go było uczyć ;)

3

Mam swoje prywatne porzekadło. Bazuje na słowach „Wie viele Sprachen du sprichst, sooft mal bist du Mensch“ (Johann Wolfgang von Goethe), że z językami programowania jest podobnie.

A w/w porzekadło brzmi: dopiero znając porządnie trzeci język programowania, ten pierwszy poznajesz naprawdę głęboko

2
Wayne napisał(a):

Cześć, otóż ostatnio z uwagi na zewnętrzne powody zacząłem się uczyć drugiego języka programowania i troche sie obawiam, że zamiast nauczyć się obydwu języków to zrobi mi się wielki "miszmasz" w związku z czym będą mi się mylić polecenia, składnie etc. Teraz moje pytanie, czy uczenie się dwóch(nie mówie o większej ilości) języków naraz jest "zdrowe"? Czy może powinienem się nauczyć jednego języka, a potem wziąć dopiero za kolejny? Jak Wy się uczycie? //jeżeli zły dział to prosze o przeniesienie

Pozwoliłem sobie zerknąć w Twoje posty. Nie weź tego zbyt osobiście, ale nie masz płynności w znajomości C++, ani w "programowaniu", tj tym czymś mało wymiernym, co jest niezależne od języka (wyrażanie algorytmów)
Może jednak poczekaj na płynność w jednym lub drugim.

1

Poza faktem, że tak sformułowany post wskazuje na brak głębokiej znajomości programowania, to ogólnie raczej odradzam łapania się wielu technologii, bo sam jestem tego ofiarą.
Jestem takim fullstackiem z przewagą frontu + mobile + trochę devops + unity. Zaleta jest taka, że sam mogę robić dość złożone projekty.
Wada, znacznie gorsza, jest taka, że osoby, które w jedną technologię weszły w tym czasie „głębiej” są w lepszej sytuacji na rynku pracy. Mam takie poczucie, że backendowiec ze mnie taki w kategorii „starszy junior”, a przez odejście z tematu, na froncie też widzę, że bywają lepiej zorientowani ode mnie, bo ten czas który poświęcałem na naukę innych rzeczy mogłem ładować we front.
W poważnych korporacjach rzadko szuka się fullstacków. W efekcie mam taki stos perfekcyjny do januszsoftów, które nie mają skali, żeby zbudować poważny zespół i wolą mieć 2-5 osób. Nie polecam, poważnie.

2
renderme napisał(a):

Poza faktem, że tak sformułowany post wskazuje na brak głębokiej znajomości programowania, to ogólnie raczej odradzam łapania się wielu technologii, bo sam jestem tego ofiarą.

Zgadzam się z @renderme co do nie uczenia się za wielu technologii na raz. Ja np z tego powodu ograniczam się do JVM a i tak jest tam sporo języków i koncepcji do nauki. Ale to bardziej dla rozrywki, niż dlatego że potrzebuję w pracy

Wayne napisał(a):

troche sie obawiam, że zamiast nauczyć się obydwu języków to zrobi mi się wielki "miszmasz" w związku z czym będą mi się mylić polecenia, składnie etc.

To nie jest tak że mózg programisty mieści tylko jeden język programowania. Ograniczonym zasobem nie jest tu pamięć, a czas. Dlatego lepiej znać jeden dobrze niż 10 po trochu

1

Odkąd zacząłem programować do teraz miałem styczność z kodem w wielu językach. Nazwy dwudziestu z nich jestem w stanie przypomnieć sobie w ciągu minuty i raczej nie jest to lista kompletna bo zanim postawiłem ostatnią kropkę w tym poście spłynęły do mej świadomości nazwy jeszcze kilkunastu. Tak z własnej woli jak i z przymusu czy to zawodowego czy edukacyjnego ze strony uczelni. Zaczynałem w Pascalu pod DOS. I nie mam jeszcze 40ki na karku jakby ktoś pytał. Preferuję z tej listy jeden język, drugi muszę używać by gadać z CPU na najniższym możliwym poziomie a trzeci uważam za ciekawego kandydata do pisania w nim prototypów większych aplikacji.

Raczej trudno jest skończyć jakąś sensowną jak na warunki krajowe uczelnię na kierunku informatyka i mieć styczność tylko z jednym językiem programowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1