sposób na naukę z książki

sposób na naukę z książki
K8
K8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:791
0

Spotkałem się z taką opinią, że jeżeli chcemy opanować jakiś konkretny język - zakładamy, że podstawy ogólnie programowania już znamy np co to wskaźnik czy for... - dobrze jest przeczytać od deski do deski książkę poświęconą temu językowi i dopiero wtedy zacząć pisać kod. Co o tym sądzicie?

WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:5 dni
  • Postów:3168
2

Sadze ze w teorii, teoria dziala. Albo jak gorale mowia: jak sie niw wywrocisz to sie nie nauczysz. Jak nie pokodujesz to tez sie nie nauczysz.

K8
K8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:791
0

Niby chodzi o to, by wstępnie poznać język. Bo na pewno wszystkiego za I razem się nie ogarnie i zrozumie. Kod musi przejść przez palce.

UglyMan
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 lata
  • Postów:2206
5

Kodować możesz, ale warto przewalić jakąś książkę, żeby się dowiedzieć o rzeczach, o których byś nawet nie pomyślał

edytowany 1x, ostatnio: UglyMan
p_agon
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:96-230
  • Postów:953
12

Przy ksiazkach, ktore maja ponad 800 stron zapomnisz co bylo na poczatku. Przeczytaj pobieżnie cala ksiazke a pozniej rozdzial po rozdziale. Od razu rob zadania i modyfikuj je pod swoje pomysly.


Reasumując wszystkie aspekty kwintesencji tematu, dochodzę do fundamentalnej konkluzji: To by nic nie dało, nie dałoby nic! Przez 10 minut można, przy 2h to już jakaś zemsta pagona.
edytowany 1x, ostatnio: p_agon
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
4

Wszystko zależy na jakim etapie nauki jesteś, jeżeli dopiero zaczynasz to raczej przeczytał bym na początku jakieś 30% książki i siadał z powrotem do kodu. Po jakimś miesiącu klepania brał bym kolejne 20% procent.

Podam taki przykład, jeżeli weźmiesz 800 stronicowe tomisko dla Javy to spotkasz się tam z rzadko używanymi konstrukcjami np:

Kopiuj
<V, VV super V>
void validate(V value, Validator<VV> validator) { ... }

Generalnie jak ktoś nie wie co to ko- i kontra- wariancja i ma problemy ze zrozumieniem List<?> to taka ezoteryka go tylko przytłoczy.

Dlatego najlepiej dobrać książkę do poziomu, rozdziały zaawansowane można przejrzeć a na początku radzę je pominąć, popisać trochę kodu a potem do nich wrócić.


Holy sh*t, with every month serenityos.org gets better & better...
edytowany 1x, ostatnio: 99xmarcin
PR
PR
  • Rejestracja:około 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:204
4

Programuje od 20 lat w wielu językach i nie przeczytałem ani jednej książki w całości. Co więcej - im szybciej zaczniesz pisać tym lepiej.

Korges
  • Rejestracja:prawie 5 lat
  • Ostatnio:2 minuty
  • Postów:551
0

Nie potrafię się uczyć z książek. Wkurza mnie że musisz je przytrzymywać, żeby się nie zamykały.
Książki tylko do czytania rekreacyjnego.

edytowany 1x, ostatnio: Korges
bakunet
  • Rejestracja:prawie 8 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Polska
  • Postów:1595
4

A ja lubię się uczyć z książek, dużo bardziej niż z filmów. W książce zawsze możesz szybko wrócić do odpowiedniego materiału i wyjaśnień, jeśli zapomnisz lub wcześniej nie zrozumiałeś co autor miał na myśli. Wydaje mi się, że wiedza z filmów jest bardziej ulotna. Ale to pod kilkoma warunkami:

  • będziesz robił zadania z książek,
  • będziesz przerabiał ją ze zrozumieniem,
  • a jeśli czegoś wcześniej nie zrozumiałeś to wrócisz do tego,
  • książka jest napisana dobrze.

Moim zdaniem książka jest świetnym punktem wyjścia żeby zrobić coś więcej niż Hello world i przygotowuje do korzystania z dokumentacji. Choć pewnie docelowo masz pisać samodzielnie, bez posiłkowania się przykładami, korzystając z dokumentacji.

Ale to jest opinia samouka nad którym nikt nie stał kto by mógł cokolwiek wyjaśnić albo poprawić.

edytowany 1x, ostatnio: bakunet
AK
książka jest napisana dobrze. Zgadzam się. Wydanie książki angażuje zespół, wydawcę, recenzenta, angażuje kapitał. Tam się nie idzie na pałę, książka ma plan. "Filmiki YT" skrajnie rzadko plan mają, zawierają to, co się akurat autorowi pomyślało.
AK
Oczywiście zdarzy się kiepska ksiażka, ale to co innego
PR
PR
  • Rejestracja:około 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:204
0

@bakunet: wybacz ale bzdury piszesz. Ja tez uważam, ze książki są spoko i są lepsze od filmów. Natomiast, ludzie mylą książki o programowaniu z beletrystyką. Nie ma tam wciągającej historii z wątkiem miłosnym (chyba, ze to amerykańska książka o zarządzaniu). To jest podręcznik i powinno się go czytać fragmentarycznie.

Ale największym błędem jest wspomnienie, że ktoś ma pisać samodzielnie... nikogo nie obchodzi czy piszesz to sam, czy z książka czy w parze ale ma być dowiezione. Inaczej SO nie miał by sensu.

edytowany 1x, ostatnio: pragmaticdev
Silv
<myśli o podręcznikach>
TheLearner
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Krypton
  • Postów:298
1

Ja najbardziej lubię naukę właśnie z książek. Jestem wzrokowcem, jak czytam robię jakieś krótkie notatki, więc zapamiętywanie to nie problem. Z tych notatek powstaje "mapa" książki/materiału, niezbyt obszerna, dzięki której zapamiętuje większość rzeczy, które mnie interesują. Nie zajmuje ona dużo, a wiem gdzie wrócić jeśli jakiegoś zagadnienia z "mapy" nie pamiętam. Pisanie kodu to oddzielny tema, wiadomo, że jak tylko czytamy i nic z tego nie próbujemy zaimplementować w jakiś sposób to kicha wychodzi.
Kolejną zaletą książek jest relaks. Lubie w ramach powtórzenia przeczytać coś bardziej luźno, na leżaczku, przeskakując fragmenty, które mnie nie interesują.
Co do wad to na pewno materiał w książkach szybko ulega przedawnieniu. Zanim coś wyjdzie i dotrze do mnie to często jest nieaktualne. Idzie to jednak szybko zweryfikować.


PK
PK
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:245
0

Ciężko jest zrozumieć złożone konstrukcje jeśli wcześniej nie doświadczyłeś problemów jakie wynikają z operowania najprostszymi konstrukcjami wybranego języka. Pomyśl, że te ciekawsze i trudniejsze konstrukcje są odpowiedzią na pewne problemy jakie z czasem ujawniają się w kodzie.

K8
K8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:791
0

A dobrze myślę, że lepiej ogarnąć podstawy choćby z książki dopiero potem bawić się we frameworki?

Zobacz pozostałe 8 komentarzy
PR
pragmaticdev
Czyli musicie mieć fabrykę lub własny kontener DI a jak słyszę własny kontener DI to widzę gościa co opracowuje pierwsza wersje koło od nowa tym razem z 4 bokami.
KamilAdam
Nie, Robimy Serwisy w jednym miejscu i wsadzamy wszystkie zależności przez konstruktory. Nie ma to nic wspólnego z kontenerem
PR
pragmaticdev
A jak zmieni się implementacja IProvidera a jest on wstrzykiwany do 18klas? Które są używane w 20 miejscach? Co jeśli będziemy chcieli mieć ISerwis tworzony dla każdego requesta, ale za to ICalculator powinien być jeden na cała instancje a IHeavyObject powinien być per request ale jest ciężki wiec go nie usuwać ale zwracać do puli i mieć na podorędziu z 20 sztuk? W kontenerze to zazwyczaj po linijce rejestracji klas, a tak napiszecie potworka lub będziecie dopiero potem osadzać jakiś kontener a kod nie będzie do niego pasował. Przerabiałem to.
KamilAdam
@pragmaticdev: przykro mi, nie mam takich problemów o jakich piszesz. Może przy za prostych aplikacjach pracuję, a może Scala upraszcza. Przykro mi też że ty z takimi problemami musisz się mierzyć :(
PR
pragmaticdev
Już nie muszę bo mam narzędzia co robią to za mnie.
bakunet
  • Rejestracja:prawie 8 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Polska
  • Postów:1595
0

@kosmonauta80: Ja wiem, że czas to pieniądz itd., ale jak nie spróbujesz sam to się nie przekonasz który sposób jest najlepszy. Przerób sobie podręcznik, później jakieś video tutki i będziesz wiedział którą stroną Ci wchodzi najlepiej. Choć to i tak składnia języka to będzie dopiero początek podróży. Do tego dojdą biblioteki, frameworki, API, inne technologie wymagane na rynku pracy. Poza tym po 40 latach na tej planecie już powinieneś siebie trochę znać.

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8398
3
kosmonauta80 napisał(a):

Spotkałem się z taką opinią, że jeżeli chcemy opanować jakiś konkretny język - zakładamy, że podstawy ogólnie programowania już znamy np co to wskaźnik czy for... - dobrze jest przeczytać od deski do deski książkę poświęconą temu językowi i dopiero wtedy zacząć pisać kod. Co o tym sądzicie?

  1. Nie wszystkie książki powinno się czytać od deski do deski. Niektóre książki są bardziej "encyklopedyczne", w sensie, że każdy rozdział czego innego dotyczy i czytasz to, czego potrzebujesz w danym momencie.

  2. A nawet jeśli książka ma charakter przewodnika "krok po kroku", to i tak bez sensu jest czekać z pisaniem kodu aż do skończenia książki. Co z tego wyniesiesz w ten sposób?? Książki "krok po kroku" raczej się robi tak, że czytasz rozdział, a potem siadasz do komputera i ćwiczysz sobie w praktyce (ba, czasem nawet przeczytasz akapit i ćwiczysz w praktyce). czytanie --> praktyka --> czytanie --> praktyka. A nie czytanie --> czytanie --> czytanie --> czytanie --> praktyka.)

  3. No i czy książka jest "encyklopedyczna", czy "krok po kroku" jest subiektywne. Nawet książek przeznaczonych "krok po kroku" nie trzeba zawsze czytać w całości albo po kolei. Z drugiej strony kto ci zabroni przeczytania 1000 stronicowej książki od deski do deski, żeby pogłębić wiedzę o danym zagadnieniu? (tylko, że wtedy taka książka powinna dotyczyć bardziej teoretycznych/koncepcyjnych aspektów, a nie być podręcznikiem pisania kodu. Wtedy większość i tak zapomnisz, ale może coś tam zapamiętasz, parę koncepcji z całej książki).


edytowany 3x, ostatnio: LukeJL
DE
DE
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:311
0

Moim zdaniem praktyka czyni mistrza, nigdy nie korzystałem z książki, jak na początku uczyłęm się teorii z neta to g**no umiałem, poszedłem do pierwszej pracy i w rok nauczylem się 100x więcej + dobrych praktyk kodowania, niż jak bym korzystał z jakiś książek

edytowany 1x, ostatnio: Descendant
pedegie
  • Rejestracja:około 11 lat
  • Ostatnio:ponad rok
  • Postów:204
1

Zgadzam się, zawsze uczę się z książek. Uważam, że kursy video i tutoriale z sieci za słabo wyczerpują zagadnienia a dokumentacja z kolei nie bierze pod uwagę zasady Pareta; książka jest czymś pomiędzy a po przerobieniu takiej, mamy solidne podstawy żeby zacząć pisać własne projekty.

Raz na próbę zrobiłem odstępstwo od tego podejścia ucząc się TypeScript'a - wpisywałem w google najprostsze zapytania typu: "for loop typescript" - najdłużej zajeła mi nauka w ten sposób więc już do niego nie wracam.

edytowany 2x, ostatnio: pedegie
Wawer0123
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:94
2

moim zdaniem prawidłowa kolejność to:

Kopiuj
1. zrób
2. zrozum
Kopiuj
1. kurs/dokumentacja/tutoriale
2. project
3. książka
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)