Jak powinna poprawnie wyglądać nauka języka?

0

No tak jak w tytule tematu, jak człowiek powinien się uczyć jakiegoś języka programowania, aby to miało sens? Przerabiałem trochę rzeczy i uważam, że różne kursy w moim przypadku nie mają sensu, bo jest tego w takim kursie za mało i nie jest dany temat w pełni wyczerpany, to znaczy, że jak ktoś mi tu opowiada w kursie o metodach na tablicach, to poda jakieś dwie metody, które potrzebuje, bo tak sobie w kursie założył, ale pozostałych metod jest 20 i więcej, a nawet nie był w stanie napisać gdzie mogę znaleźć dokładną, sprawdzoną informację na ten temat - być może dlatego, aby zakupić kolejną część kursu. Przerabiałem parę kursów i niestety, ale DLA MNIE są bez sensu, zwłaszcza nie takie, gdzie miałem okazję uczestniczyć, na kilkadziesiąt godzin, niby setki materiałów, a za przeproszeniem g**no tam jest. Myślałem nad książkami, ale jak to z książkami bywa, mogą nie być aktualne, więc nauka z programowania z książki, która została wydana w 2015 może nie mieć sensu, to nie jest medycyna.

Teraz po prostu robię tak, że otwieram sobie dokumentację takich metod używanych w tablicach JS, i sprawdzam po kolei jak działa każda metoda, robię notatki do każdej przetestowanej metody, czyli do czego służy, ile parametrów może przyjmować i jakie one są - oczywiście tak na logikę, nie opisuję strony A4 tylko w paru zdaniach. Czasami coś połączę, wykorzystam w funkcji taką metodę i tak dalej, dalej w skrócie opisane jak to teraz robię. Do tego dochodzi typowo teoria, abym potrafił wskazać różnicę np o metodzie shift oraz unshit, na czym polega operacja redukcji, itd. Co mogę jeszcze zmienić, aby było lepiej?

Jest jakiś sposób, aby robić własne notatki przy pomocy wsparcia kodu? Bo teraz piszę sobie w Dokumentach Google i wklejam kod, który nie wygląda za dobrze, potrzebowałbym jakiegoś Markdown, jest coś dobrego na Windowsa, w ostateczności na Linuxa? Może być płatne, musi mieć możliwość zapisu do PDF, itp.

1

Wymyślić projekt i pisać, pisać, pisać, pisać. Najpierw zagląda się do dokumentacji, a po jakimś czasie baaardzo dużo rzeczy wchodzi w "pamięć mięśniową". Osobiście nie widzę żadnego sensu w robieniu sobie notatek innych niż jakieś cheat-sheety rodzaju listy przekierowań strumieni w bashu, bo nie sposób tego spamiętać. No ale to są moje prywatne odczucia, każdy się uczy inaczej.

Jest jakiś sposób, aby robić własne notatki przy pomocy wsparcia kodu? (...) potrzebowałbym jakiegoś Markdown (...) musi mieć możliwość zapisu do PDF, itp.

Brzmi jak dobry pomysł na taki ćwiczebny projekt. Jest dość rozbudowany, żeby użyć wielu ficzerów danego języka.

1

Podstaw programowania uczysz się na bieżąco, pisząc kod i szukając rozwiązań w internecie, a nie zapisując sobie wszystkie metody klas, które środowisko zazwyczaj podpowiada wraz z parametrami i instrukcjami do czego one służą :D Jeżeli chcesz być w tym dobry, to nie ucz się wszystkiego na pamięć, bo nie starczy Ci życia na start w branży, tylko naucz się wyszukiwać informacje i z nich korzystać. Kod z komentarzami powinien być Twoją dokumentacją.

0

Jeśli nie znam konkretnych metod, to jak mam dobrze napisać kod? Przykładowo znalezienie największej liczby z podanych mogę łatwo ogarnąć za pomocą Math.max, ale kiedyś dawno temu nie wiedziałem o takich rzeczy i robiłem to za pomocą if co wyglądało tragicznie, dlatego o to mi chodzi, aby przejrzeć dokumentację, sprawdzić różne dostępne w języku metody, zobaczyć na przykładzie jak ona działa, wychwycić różnice między między nią a przeciwną itd. A przy sprawdzaniu takiej już metody napisanie linijki komentarza co robi nie uważam za stracony czas.

2
SzyszekOgromny napisał(a):

Jeśli nie znam konkretnych metod, to jak mam dobrze napisać kod?

Za pierwszym piszesz tragiczny kod, bo znasz tylko ify. Za drugim razem piszesz lepszy (z nowo poznanymi właściwościami języka, strukturami danych, etc.), za trzecim razem jeszcze lepszy (z użyciem stosownych wzorców projektowych/architektoniczych), a naprawdę dobry to nie będzie nigdy. Tak wygląda nauka programowania i tego raczej nie przeskoczysz. No ale jak ci pomaga robienie notatek, to jak najbardziej rób. Byle nie pochłaniały za dużo czasu, który mógłbyś poświęcić na praktykę, bo ćwiczenie się w sztuce programowania to proces czasochłonny.

Robienie notatek traci w pewnym momencie sens, bo w efekcie przepiszesz dokumentację na nowo. A ona już tam jest, często sprzężona z IDE. I co więcej, zmienia się w czasie. Więc myślę, że nauka na bieżąco poprzez zwyczajne pisanie kodu jest jedyną sensowną drogą.

Zresztą same metody, klasy, składnia, API danej technologii to jest jeden z mniejszych problemów w nauce, bo to zawsze siedzi gdzieś na stacku, w dokumentacji, w IDE, w man page'ach. Tutaj chodzi o nabycie po pierwsze specyficznego sposobu myślenia, a po drugie umiejętności szybkiego i efektywnego przyswajania wiedzy w locie, a to, podkreślam jeszcze raz, nabywa się poprzez trening na placu boju, w praniu.

0

Teraz po prostu robię tak, że otwieram sobie dokumentację takich metod używanych w tablicach JS, i sprawdzam po kolei jak działa każda metoda, robię notatki do każdej przetestowanej metody, czyli do czego służy, ile parametrów może przyjmować i jakie one są - oczywiście tak na logikę, nie opisuję strony A4 tylko w paru zdaniach. Czasami coś połączę, wykorzystam w funkcji taką metodę i tak dalej, dalej w skrócie opisane jak to teraz robię.

Jeśli nie masz jakieś dziwnej pracy typu help desk, to co robisz to masochizm, i strata czasu.

więc nauka z programowania z książki, która została wydana w 2015 może nie mieć sensu

Jeśli uczysz się z książki typu "Podstawy programowania", a nie "Framework js marzec 2019", to nauka z książek ma jak najbardziej sens. W książkach z reguły zawarta jest wiedza uniwersalna i nie zależna mocno od frameworka i czy nawet jezyka.

A przy sprawdzaniu takiej już metody napisanie linijki komentarza co robi nie uważam za stracony czas.

I tak i nie, bo musisz umieć pisać takie rzeczy jak max, min, z palca i na zawołanie. W każdym nie trywialnym projekcie prędzej niż później dojdziesz do momentu w którym bedzie pisał dokładnie takie metydy, z jednym dodatkowym if'em w środku, czy sprawdzeniem nulla.

0

Do programowania komercyjnego w Polsce wystarczy Ci podstawowa znajomości składni języka, obiektowości oraz dobra znajomość angielskiego. Większość się googluje na stackoverflow i najwyżej przerabia pod siebie. Jeżeli mi nie wierzysz, to jako dowód czas popatrzeć ile bootcampowiczów w 3/6 miesiący się potrafiło poprzebranżawiać ostatnimi czasy i poznajdywać pracę. Nie wiem jak w innych krajach.

1

No tak jak w tytule tematu, jak człowiek powinien się uczyć jakiegoś języka programowania, aby to miało sens?

Pisząc praktyczne projekty. Im wcześniej przestaniesz się "uczyć języka programowania X", a zacznieć "programować w języku X" tym lepiej.

Przerabiałem parę kursów i niestety, ale DLA MNIE są bez sensu, zwłaszcza nie takie, gdzie miałem okazję uczestniczyć, na kilkadziesiąt godzin, niby setki materiałów, a za przeproszeniem g**no tam jest. Myślałem nad książkami, ale jak to z książkami bywa, mogą nie być aktualne, więc nauka z programowania z książki, która została wydana w 2015 może nie mieć sensu, to nie jest medycyna.

Kiedyś było lepiej, bo było mniej materiałów (ale znowu: jak się coś znalazło to zwykle miało to ręce i nogi, bo nie było tyle pozerstwa. Teraz każdy, kto programuje co najmniej pół roku, tworzy własny tutorial czy kurs programowania. I są to często rzeczy słabej jakości).

Niestety internet się rozwija i z roku na rok coraz gorzej będzie (coraz większy śmietnik informacyjny i coraz więcej pozerstwa). Więc jeśli chcesz programować, to nie możesz marudzić, tylko zaakceptować ten fakt, że programowanie to grzebanie w gównie i kluczową umiejętnością zaczyna być umiejętność wyszukiwania wartościowych informacji w tonie gówna i umiejętność krytycznego myślenia, żeby odróżnić g**no od wody pitnej (ew. można zamienić g**no w wodę pitną, niczym Bill Gates - w zasadzie nie sam Bill Gates, bo miał od tego ludzi, wiadomo). Więc też czasem z czegoś słabego można wyciągnąć jakąś pożyteczną naukę.

Myślałem nad książkami, ale jak to z książkami bywa, mogą nie być aktualne, więc nauka z programowania z książki, która została wydana w 2015 może nie mieć sensu, to nie jest medycyna.

Książki są też dostępne w postaci cyfrowej i uaktualniane.

Teraz po prostu robię tak, że otwieram sobie dokumentację takich metod używanych w tablicach JS, i sprawdzam po kolei jak działa każda metoda, robię notatki do każdej przetestowanej metody, czyli do czego służy, ile parametrów może przyjmować i jakie one są -

Ale to nie ma sensu. Po prostu naucz się używać tablic w JS, rób projekty, w których będziesz z nich korzystał (tam gdzie potrzeba), to ci się utrwali. A jak czegoś zapomnisz, to sprawdzisz sobie na MDN.

0
LukeJL napisał(a):

No tak jak w tytule tematu, jak człowiek powinien się uczyć jakiegoś języka programowania, aby to miało sens?

Kiedyś było lepiej, bo było mniej materiałów (ale znowu: jak się coś znalazło to zwykle miało to ręce i nogi, bo nie było tyle pozerstwa. Teraz każdy, kto programuje co najmniej pół roku, tworzy własny tutorial czy kurs programowania. I są to często rzeczy słabej jakości).

Trochę Januszostwem mi zaleciało xD W sensie "kiedyś to było lepiej". Właśnie teraz są najlepsze czasy bo wszystko masz na wyciągnięcie ręki. Może i są rzeczy słabej jakości, ale są też i dobrej. Jest np. masa kursów robionych przez uniwersytety, a nawet same firmy typu oracle, pivotal. Poza tym każdy ma prawo robić tutoriale, kwestia tego czy chcesz to oglądać czy nie. Zawsze tak było, nie tylko w branży IT.

0

Kiedyś było lepiej, bo było mniej materiałów (ale znowu: jak się coś znalazło to zwykle miało to ręce i nogi, bo nie było tyle pozerstwa. Teraz każdy, kto programuje co najmniej pół roku, tworzy własny tutorial czy kurs programowania. I są to często rzeczy słabej jakości).

Niestety internet się rozwija i z roku na rok coraz gorzej będzie (coraz większy śmietnik informacyjny i coraz więcej pozerstwa).

Dlatego jeszcze raz polecę książki, może nie mają pięknej cukierkowej formy, za to informacje są sprawdzone, zredagowane i wartościowe. A postać sama w sobie zmusza do skupienia i ruszenia głową.

Trochę Januszostwem mi zaleciało xD W sensie "kiedyś to było lepiej". Właśnie teraz są najlepsze czasy bo wszystko masz na wyciągnięcie ręki. Może i są rzeczy słabej jakości, ale są też i dobrej.

A to wymaga wkładania wysiłku w celu przesiania, informacji. Wada, dwa wiele tematów zwłaszcza niszowych jest robionych. Znajdź np. w internecie NIE MA ani jednego przykładu w formie artykuły bloga lub filmu, poprawnego uzycia wzorca MVVC w WPF'ie. Żadnego, wszystkie są po łepkach. I zrobione bez jednej warstwy.

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