Kurs Java Podstawy - rozszerzony

Czy warto uczyć się z książek?

Jako rozpoczęcie działu z recenzjami książek warto podjąć się tematu, czy w ogóle warto po nie sięgać, czy lepiej korzystać z tutoriali online, lub jeszcze innych źródeł. Spróbuję przedstawić te zalety i wady, które moim zdaniem są istotne. Postaram się także zbytnio nie lać wody i pisać bzdur.

Po pierwsze warto zrobić przed potencjalnym zakupem przegląd książki w następującej kolejności:

  • W księgarni zobaczmy przede wszystkim spis treści skupiając się na notce "dla kogo", lub podobnej. Zazwyczaj autor opisuje i nawet nie kłamie na temat tego do kogo jest ona adresowana
  • Otwórzmy książkę w kilku losowych miejscach i przeczytajmy przynajmniej po jednym akapicie danego rozdziału. Niestety niektóre książki mimo dużej wartości merytorycznej są pisane wprost encyklopedycznym językiem, żeby nie nazwać go maszynowym. Dobrą książkę informatyczną powinno się czytać niemal jak dobrą powieść od deski do deski i powinna nas ona zachęcać do tego, że w razie potrzeby informacji sięgniemy po nią.
  • Na koniec warto poczytać opinie bardziej doświadczonych użytkowników z danego zakresu w sieci. Zazwyczaj ktoś kto kupi jakąś książkę rozwija się dalej w danym kierunku, a co za tym idzie jest w stanie powiedzieć, czy dana pozycja byłą dobra, czy raczej kiepska.

Jeśli już jesteśmy zdecydowani to mamy dwa wyjścia, albo kupimy książkę, albo jej nie kupimy. No właśnie, czy warto wydawać często grubo ponad 100zł za tytuł, z którego będziemy korzystali tylko przez 2 tygodnie, czy nawet 2 miesiące.

Jeśli mowa o książkach, to gdybym rozpoczynał swoją przygodę z programowaniem na nowo i miał dostęp do jakiegoś dobrego tutoriala w języku polskim to książki z tego zakresu bym raczej nie kupił. Rozpoczynający swoją przygodę z programowaniem niestety często nie wiedzą jak mają się uczyć z książki. Bierne czytanie i przepisywanie kodu (albo co gorsze używanie źródeł dołączonych na CD, lub do pobrania z internetu) niestety nie daje efektu i gwarantuję, że w ten sposób nauka będzie postępowała w wolnym tempie. Kursy z kolei mają tą zaletę, że podają wiedzę w bardziej skondensowanej formie i bardziej pobudzają do myślenia. Ja staram się połączyć te oba elementy w całość, aby wytłumaczyć działanie danej rzeczy - często kusi mnie, aby rozpisać się jeszcze o jakimś zagadnieniu, ale wiem, że lekcja przez to stała by się nudna, a zbyt duży natłok informacji podany na raz po prostu nie wejdzie do głowy odbiorcy.

Moim zdaniem są dwa sposoby nauki z książek informatycznych.

Pierwszy polega na aktywnym analizowaniu treści i próbowaniu wykorzystywania wszystkiego na bieżąco - nie czekajmy, aż autor poda nam jakiś gotowy kod do skompilowania i przetestowania działania. Jeśli podana jest jakaś funkcja, lub mechanizm, to sami szukajmy zastosowania w jakimś przykładzie i spróbujmy sami coś napisać. Bierne kopiowanie kodu sprawdza się tylko na początku, aby nauczyć się podstawowych konstrukcji, później niestety powoduje zapamiętanie na bardzo krótki okres czasu w efekcie czego i tak będziemy musieli sięgnąć po książkę kolejny raz.

Drugi sposób nauki z książek nazywam literackim. Osobiście jeśli już sięgam po jakąś książkę - ostatnio na przykład naszła mnie chęć poznania PHP ze względu na to, że nie mogłem przerobić nawet prostego szablonu dla wordpressa i wtedy go stosowałem. Ponieważ podstawy każdego języka są podobne to nie ma sensu powtarzania całego procesu nauki - klepania kodów z książki i jej analizy linijka po linijce. Ja wolę w takim przypadku czytać książkę jak powieść - najlepiej do poduszki, bo wtedy najwięcej zapamiętuję. Czytam powiedzmy 50, czy nawet 100 stron książki, a następnego dnia piszę cały dzień kod, wykorzystując to co przeczytałem. Dzięki temu mam dobre podstawy teoretyczne, przetestowane także w praktyce, co skutkuje tym, że zapamiętuję jak coś wykorzystać.

Bardziej zaawansowane książki to już inna bajka. Tam często podawany jest taki natłok informacji, że bez testowania działania przykładów podawanych na bieżąco nie jesteśmy w stanie tego po prostu zrozumieć i zapamiętać. Z drugiej strony wszystko zależy czego się uczymy, bo jeśli biegle posługujemy się językiem angielskim, to moim zdaniem lepiej sięgać po oficjalne dokumentacje, które są zdecydowanie najlepszym wyjściem.

Oddzielnym tematem jest też język publikacji, Oczywiście najlepiej sięgać po te w języku branży, czyli angielskim, wtedy możemy być pewni, że w książce nie będzie jakichś "bubli". Jest to o tyle istotne, że próbując wytłumaczyć jakieś zagadnienie innej osobie może nas ona po prostu nie zrozumieć. Na szczęście o tym fakcie zazwyczaj możemy dowiedzieć się z 3 punktu naszego schematu działania w przypadku zakupu książki - internauci po prostu o tym napiszą w komentarzach.

Tak więc podsumowując, czy warto uczyć się z książek?

Moim zdaniem oczywiście tak w przypadku, gdy:

- ktoś nie jest w stanie zrozumieć innych źródeł, które dostępne są za darmo

- książka z danej dziedziny jest po prostu warta zakupu.

Komentarze

Basia

Polecam książkę Head First Java. Bardzo dobra książka. Dzieki niej polubiłam i zrozumiałam Jave. Chyba jedyna książka z obrazkami o programowaniu. Bardzo dobra dla początkujących. Jako jedna z niewielu nie jest pisana przez profesorów dla profesorów.

Slawek

Ostatnio sięgnąłem po jedną z książek tej serii i po części się zgadzam, że faktycznie wiedza jest przekazywana w efektywniejszy sposób. Z drugiej strony czasami (akurat w tej mojej) denerwują mnie niedomówienia, częste "na razie nie musisz tego umieć, przeczytasz o tym w dalszej części".

Ragas

Też jestem zdania że ta książka jest rewelacyjna. Generalnie co do



Slawek:

„na razie nie musisz tego umieć, przeczytasz o tym w dalszej części”.
to myślę że jednak tak jest lepiej, można sobie na spokojnie wszystko poukładać w głowie :)
Poza tym książka porusza dużo rzeczy, łatwo zrozumieć. Dla początkującego to prawdziwy skarbiec. Polecam.
DDO

Tak już jest, W każdym kursie. U ciebie też korzystamy z klasy i metod w 1 rozdziale by nagle zobaczyc jak one wygladaja;

hk



Slawek:

Ostatnio sięgnąłem po jedną z książek tej serii i po części się zgadzam, że faktycznie wiedza jest przekazywana w efektywniejszy sposób. Z drugiej strony czasami (akurat w tej mojej) denerwują mnie niedomówienia, częste „na razie nie musisz tego umieć, przeczytasz o tym w dalszej części”.

Właśnie rozpocząłem naukę z tą książką i jak na razie nie mogę nic sensownego napisać na jej temat. Jednak co do niedomówień, o których wspomniałeś, to sam w swoim kursie też kilku z nich używasz przecież :D W większości książek do programowania dla początkujących muszą być zastosowane jakieś uproszczenia. Inaczej natłok informacji utrudniłby przyswajanie wiedzy i zrozumienie tematu.
BTW.
Head First. Java. w drugim wydaniu nazywa się Rusz głową! Java. Tej z angielskim tytułem nie ma już dostępnej.
Damian

Co do tutoriali online to wszystkie kończą się na podstawach (mowie o tutorialach w polskim języku nie wiem jak z angielskimi) Dlatego po jakimś czasie i tak musisz skorzystać z czegoś innego np. z książki.

Arkadiusz

Na półce od dłuższego czasu leży mi książka "Java podstawy" wydanie VIII Cay S. Horstmann Gary Cornell wydawnictwo Helion. Przeczytałem już kilka rozdziałów, ale jakoś mnie to nie zachęciło do dalszej nauki. Brakowało mi tutaj zadań, pod koniec każdego rozdziału. Chętnie ją sprzedam

gjw

Ja przyznam że przeczytałem pierwsze 300 stron słynnej książki "Thinking in Java" (wyd. 3). I muszę przyznać, że czyta się ciekawie, opisane całkiem zrozumiałem językiem, ale listingi są KOMPLETNIE NIECZYTELNE - natłok śmieciowych informacji, długie kawałki kodu, do tego w absolutnie każdym listingu dorzucona klasa simpletest, która dodatkowo utrudnia ogarnięcie całości.

Diego

Z mojej strony dla początkujących polecam książkę "Java przewodnik dla początkujących" wydanie V Herbert Schildt. Łatwy start, praktycznie w trakcie i pod koniec każdego rozdziału, sam piszesz program wykorzystując wiedzę z tego i poprzednich rozdziałów :)

javax

Jaka jest najlepsza ksiązka do nauki Javy w wersji java 7? Mile widziane wersje w języku polskim, może ktoś coś poleci w tym kierunku. Tylko do Javy 7 ponieważ 6 mnie nie interesuje.

Marcin Kunert

Java 7 praktycznie niczym nie różni się od Java 6. Po polsku raczej nic nie znajdziesz, ale możesz spróbować tego: http://it-ebooks.info/book/2343/ (sam nie czytałem więc nie mogę polecić)

dastar

Ukazała się właśnie nowa książka do Javy, dotycząca także wersji 8
http://ksiegarnia.pwn.pl/produkt/217842/java.html

Artok

Polecam książkę K. Barteczko podliknowaną wyżej. Faktem jest to, że jestem początkujący, więc z początku trudno jest zrozumieć, ale daję radę

Sławek Ludwiczak

Książka Pana Barteczko faktycznie jest całkiem dobra, chociaż np. pomimo deklaracji z pierwszych stron książki o tym, że nie będą używane pojęcia, które nie były jeszcze wytłumaczone, to co chwilę można przeczytać "wyjaśnimy to później" (niestety nam też się to zdarzało w kursie i wiemy jak ciężko coś takiego obiecać i zrealizować).
Druga kwestia to całkowite pominięcie kwestii wprowadzenia, konfiguracji środowiska itp. Na 2 stronach opisano co musi być zainstalowane, że można korzystać z eclipse, albo notatnika, że trzeba mieć ustawioną zmienną path, jakich komend użyć do kompilacji i uruchomienia - 90% ludzi nie zrozumie o co chodzi w tym krytycznym punkcie.
No i podstawowa kwestia - osoba sięgająca po tę ksiażkę musi sobie zdawać sprawę z tego, że po przerobieniu tych blisko 500 stron nie napisze ani jednej aplikacji "okienkowej" którą by sobie mogła uruchomić ot tak np. z pulpitu komputera - wszystko jest w konsoli windowsa. Kompletne pominięcie kwestii Javy FX, która jest zasadniczo główną innowacją Javy8 o której użytkownik informowany jest na okładce.
Raczej dobry podręcznik akademicki jako uzupełnienie kursu, ale książka niekoniecznie dla "zielonych" (a przynajmniej nie dla tych, którzy oczekują, że ktoś poprowadzi ich za rękę jak dziecko we mgle).

Tomasz Waszczyk

Polecam również http://www.programcreek.com/ oraz zapraszam do siebie http://www.blog.waszczyk.com ;-)