Java Podstawy - Horstmann & Cornell

Java Podstawy - Horstmann & Cornell

Java Podstawy to książka napisana przez Cay'a Horstmanna oraz Gary'ego Cornell. Jak sama nazwa wskazuje, książka jest kierowana do ludzi zaczynających przygodę z Javą. Nie jest wymagana znajomość żadnego innego języka programowania, aczkolwiek oczywiście mając jakieś podstawy, będzie nam łatwiej przebrnąć przez początkowe rozdziały poświęcone semantyce i syntaktyce javy. Pozycja jest obszerna i porusza bardzo dużo tematów. Treścią zbliżona jest do Praktycznego kursu Java Marcina Lisa, lecz tutaj wszystko jest omówione w taki sposób, aby dane zagadnienie wyczerpać. Dzięki temu pozycja ta nadaje się świetnie do tego, aby często po nią wracać w przyszłości, gdy zapomnimy jakiegoś szczegółu.

Wszystko jest obrazowane jasnymi do zrozumienia i dobrze wytłumaczonymi przykładami, które pozwalają zrozumieć wszystkie przedstawione mechanizmy. To, czego zdecydowanie tutaj brakuje to zadania do samodzielnego wykonania. Niestety nie zachęca to do samodzielnego myślenia, a jak opisywałem w jednym z artykułów, podejście takie, że przeczytamy książkę, a następnie nie utrwalimy tego samodzielnie sprawi iż będziemy mieli problemy z zapamiętaniem przede wszystkim najważniejszych podstaw.

Książka posiada także kontynuację w postaci Java Techniki Zaawansowane tych samych autorów, która jest świetnym dopełnieniem opisywanego tytułu, rozwinięte są tam niektóre tematy z niniejszej pozycji, a także opisane mechanizmy wykorzystywane w trudniejszych projektach.

Przejdźmy do zawartości, zaczynając od listy rozdziałów:

  • Wstęp do Javy - w największej części lanie wody o rzeczach, które w większości przypadków nikomu nie zapadną w pamięć. Dowiemy się tutaj trochę o historii, a także zaletach i wadach języka oraz wyjaśnione w skrócie zostają nieporozumienia i mity z nią związane.
  • Środowisko programistyczne Javy - opis pakietu JDK, instalacji. Niestety brak jest informacji o tym, że czasami trzeba dodać zmienną środowiskową ClassPath. Jest to i tyle istotne, że bez tego możemy nie być w stanie skompilować już pierwszego programu, ponieważ korzystamy z konsoli.
  • Podstawowe elementy języka Java - Dowiemy się tutaj wszystkiego co najważniejsze. Typy, zmienne, operatory, łańcuchy. Autor wprowadza także proste wejście i wyjście (klasę Scanner) dzięki czemu możemy sobie wymyślać przykłady, które będą w jakiś sposób ciekawsze i interaktywne.
  • Obiekty i klasy - czyli to co w Javie najciekawsze i najważniejsze zarazem. Definiowanie własnych klas, metod, opisy pakietów oraz nieco o poprawnym komentarzach dokumentujących do pól składowych klas.
  • Dziedziczenie - jak sama nazwa wskazuje rozdział jest poświęcony polimorfizmowi.
  • Interfejsy i klasy wewnętrzne - tutaj także nie powinno być wątpliwości co do zawartości. Jest to dosyć nudny, aczkolwiek ważny rozdział.
  • Grafika - podstawowe elementy pakietu Swing i AWT. Nauczymy się tu tworzyć proste programy z interfejsem użytkownika. Poznamy ramki, panele i nauczymy się na nich rysować różne figury,
  • Obsługa zdarzeń - Użyteczna rzecz - obsługa interaktywnych elementów interfejsu użytkownika - przycisków w programie, kliknięć myszy, odczytywanie zdarzeń klawiatury.
  • Komponenty Swing interfejsu użytkownika - więcej rzeczy związanych z dwoma poprzednimi rozdziałami.
  • Przygotowanie apletów i aplikacji do użytku
  • Wyjątki, dzienniki, asercje i debugowanie - nauczysz się tu przechwytywać i obsługiwać wyjątki. Warto przyjrzeć się temu dokładnie, ponieważ pozwoli nam to pisać programy odporne na niechciane zachowania.
  • Programowanie uogólnione - klasy generyczne i ich wykorzystanie
  • Kolekcje - opis frameworka Collections - listy, zbiory, tablice haszowane ...
  • Wielowątkowość

Jak widać mamy tu do czynienia z książkę, która po sumiennym "przerobieniu" pozwoli nam pisać już całkiem ciekawe programy. Przy każdym ważniejszym dziale znajduje się wyciąg metod z API wraz z opisami działania, co osobom nieobeznanym jeszcze w korzystaniu z dokumentacji pozwoli na łatwiejsze zapamiętanie i powrót do nowych zagadnień.

Książka świetnie nadaje się dla początkujących programistów, jak i tych, dla których Java jest już kolejnym z rzędu językiem programowania. Dzięki temu, że wszystkie zagadnienia są naprawdę wyczerpująco opisane, nie będziesz musiał dodatkowo sięgać po inną literaturę.

Co do wykonania książki, to jest solidna, z grubą oprawą, na pewno będzie służyła wiernie tak długo jak tylko będzie nam potrzebna. Gdyby ktoś jej dłużej nie potrzebował to bez problemu znajdzie też nowego właściciela.

Z pełnym przekonaniem mogę ją polecić każdemu. Jeśli szukasz dobrej książki na start z programowaniem w Javie, będzie to dobry wybór (pod warunkiem, że jesteś wystarczająco zdeterminowany w przepisywaniu przykładów z książki i wymyślaniu sobie własnych zadań do przećwiczenia). Cena jak na taką ilość stron, jakoś wykonania i przede wszystkim wartość merytoryczną jest nawet więcej niż OK.

Moja ocena: 8/10

Dyskusja i komentarze

Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.

Poniżej znajdziesz archiwalne wpisy z czasów, gdy strona była jeszcze hobbystycznym blogiem.

ANDRZEJ

myślisz, że jest lepsza od Thinking in Java, bo z całym szacunkiem thinking in dla mnie była mało przystępna, ale może to z racji, że nie znałem w ogóle cpp sięgając po nią, a B. Eckel chyba zakładał jejgo znajomość pisząc o javie.

Slawek

Wydaje mi się, że jest napisana lżejszym językiem i ogólnie się lepiej czyta. Cała seria Thinking jest też bardzo dobra, jak widać Tobie przypasowała :) Nigdy nie przeczytałem całej thinking in java, bo po prostu mnie nużyła, teraz, gdy potrzebuję jakiegokolwiek przypomnienia najchętniej sięgam po książkę do SCJP, niestety ciężko dostępną w Polsce i kosztującą ok 150zł, o której nie omieszkam napisać recenzji.

Andrzej

chciałbym znaleźć coś napisanego takim językiem jak Grębosz napisał Symfonię C++.

Slawek

Java Podstawy Marcina Lisa to jedyne co jest napisane tak przystępnie. Niestety nie znajdziesz tam aż tak obszernej wiedzy, a jedynie podstawy - mniej więcej materiał taki jak obecnie jest tutaj na stronie.

Radek

Witam, mam takie pytanie czy zna ktoś książkę z zadaniami wraz z rozwiązaniami tych zadań z podstaw Javy?

Witek

Witam Narazie korzystam z Java2.Kurs Podstawowy, autor Herbert Schildt. Helion ma niedługo wydać książkę "Java. Zadania z programowania z przykładowymi rozwiązaniami", którą zamierzam kupić. http://helion.pl/ksiazki/java-zadania-z-programowania-z-przykladowymi-rozwiazaniami-miroslaw-kubiak,javaza.htm

Slawek

Jeśli faktycznie będzie kosztowała 20zł, to faktycznie warto kupić, szczególnie jeśli ktoś ma problemy z wymyślaniem sobie problemów do przećwiczenia.

Witek

Witam Masz rację, czasami brakuje mi pomysłów, aby przećwiczyć niektóre zagadnienia. W książce Java2. Kurs Podstawowy, są ćw., ale wydanie jest dość stare bo z roku 2002, a od tamtego czasu Java została poprawiona, choć do nauki podstaw może być tylko za mało jest ćw. do każdej lekcji, dlatego czekam na ukazanie się tej książki z zadaniami

Witek

Dodam jeszcze, że przydałoby się forum dla osób, które zaczynają swoją przygodę z Javą, takie dla osób, które nigdy nie miały do czynienia z programowaniem i dla pozostałych już zaawansowanych, gdzie mogliby wymieniać się swoimi uwagami, sugestiami, doświadczeniem oraz miejscem gdzie mogliby wykonać niektóre ćw. związane z CVS i pracą zespołową. Ja korzystam z Eclips’e Pulsar-Helios.

Witek

Witam Właśnie odebrałem książkę, o której wspomniałem w poście „Java. Zdania z programowania z przykładami rozwiązanymi”. Przykłady kończą się na zagadnieniu o plikach tekstowych np.: Napisz zagadnienie z zasadami programowania obiektowego program, który tworzy tablicę „ a „10x10 zawartość z tablicy „ a „ przepisuje do tablicy „b” i zapisuje ją do pliku tekstowego, a następnie odczytuje ją z pliku i wyświetla na ekranie. Cena nie jest wygórowana.

Slawek

Zadanie też niezbyt wygórowane ;) No ale poćwiczyć zawsze można.

Witek

Szczerze mówiąc spodziewałem się zadań na trochę wyższym poziomie, skoro autor adresuje ten zbiór dla maturzystów, studentów, nauczycieli informatyki oraz dla osób zainteresowanych programowaniem, itd. Tak jak pisałeś w poście można poćwiczyć i utrwalić pewne zagadnienia i to wszystko. Przykłady z ćw. można pobrać ze strony wydawcy i zerknąć na kod autora.

Jarek

Uczę się programować od podstaw, Być może ta książka jest dobra, ale dopiero zaczynam ją rozumieć po przeczytaniu Twojego kursu i przerobieniu w nim zawartych przykładów. W w/w książce są opisy ale czasem brak praktycznych zastosowań, które zaczynającym od zera by dużo pomogły. To moje zdanie. WIELKI SZACUN ZA TEN KURS!

Luksus

Witam, wie ktoś może czy do tej książki jest polska wersja plików corejava.zip z programami z książki?

Bolner

Czołem Nie wiem jak Wy, ale coś mi nie pasi w tej książce. Jestem totalnym laikiem i postanowiłem nabyć ten podręcznik. Aktualnie jestem na 167 stronie i kurde powiem szczerze, że niby rozumiem, ale nie ogarniam całości. Przykłady są napisane tak, że połowy kodu nie rozumiem. Być może tak to już jest, że pomimo tego, że nie do końca się rozumie to co się aktualnie czyta, to jednak jakaś wiedza w głowie pozostaje. Może w dalszej części książki będzie bardziej konkretniej to opisane ... Pozdrowienia. PS. SZACUNECZEK ZA KURS :-)

Cermin

Witajcie, Przymierzam się do zakupu książki. Mam problem z wyborem. Który z wymienionych będzie lepszym wyborem? - "Head First Java" wydanie II - "Java. Podstawy" wydanie IX "Head First Java" obejmuje javę 5, a "Java Podstawy" 7. Rok wydania Head First to listopad 2010, a Java Podstawy grudzień 2013, czyli miesiąc temu. A może inna książka będzie lepsza?

Sławek Ludwiczak

Java Podstawy przerobiłem w większości, tylko wersję o kilka w tył - dobra książka, pełne kody, dobrze tłumaczone. Seria Head do mnie zupełnie nie trafia (i to nie tylko jeśli chodzi o Javę) - dużo obrazków i próba przekazywania wiedzy w ciekawy sposób, ale w moim przypadku ma to zupełnie inny skutek - ja wolę po prostu obszernie opisane co i jak, zamiast rozrzucać wszystkie informacje w jakieś chmurki i wypunktowania rozrzucone po całej stronie.

Jaek

Jestem gdzieś w 1/6 tej książki. Inne książki z jakimi się zetknąłem mogłyby robić za streszczenie tego co tu jest, bo tak są tu dokładnie tłumaczone rzeczy, że jako początkujący odkrywam wciąż nowe informacje i odpowiedzi na pytania, jakie mi się nasuwały przy czytaniu innych książek albo kursów. Tak jak pisałem, przeczytałem około 1/6, ale zostały już omówione pętle i if-y i leci już programowania obiektowe. Z tym zawsze mam problemy (konkretnie to z projektowanim obiektowych programów z grafiką). Liczę, że tu będzie to tak omówione, że w końcu "zaskoczę".