Przygotowanie do pracy

Java

Generalnie do nauki Javy polecam dwa źródła:

1. Oficjalny tutorial do Javy (po angielsku, na stronie Suna).
2. "Thinking in Java" Bruce'a Eckela. Książka dostępna również po polsku, choć ja czytałem tylko darmową wersję elektroniczną.

Pierwsza z tych pozycji powinna w zupełności wystarczyć do nauki języka na potrzeby pracy dyplomowej. (Uwaga: do nauki samego języka, co niekoniecznie oznacza, że nie trzeba będzie jeszcze zapoznać się z jakimiś dodatkowymi technologiami.)

Dobrze będzie zapoznać się z następującymi pakietami:

  • java.lang
  • java.util

"Zapoznać" się oznacza w tym przypadku: wiedzieć, jakiego typu klasy są w tych pakietach. Nie trzeba się uczyć na pamięć nazw tych klas, ani nazw metod w tych klasach (to samo przyjdzie z czasem…).

W projekcie będzie używana wersja 1.6.

Dodatkowo można zapoznać się z biblioteką Swing. Jest to standardowa biblioteka do tworzenia GUI w Javie.

Narzędzia

Podstawowym narzędziem pracy będzie SDK Javy. Można je znaleźć na oficjalnej stronie Suna. Zalecam używanie najnowszej wersji.

IDE i edytory tekstu

Do pisania programów w Javie można wykorzystać jakieś IDE. Wydaje mi się, że szczególnie godne polecenia są dwa:
1. Eclipse
2. NetBeans

Pierwsze z nich jest bardziej popularne, zwłaszcza w firmach, w których tworzy się oprogramowanie w języku Java. Osobiście zaś używam NetBeansa (jeśli już używam IDE), bo za Eclipsem nie przepadam. Kwestia gustu.

Uwaga: zazwyczaj IDE pozwalają tworzyć tzw. projekty (zbiory plików związane z daną aplikacją, nad którą się pracuje). Ponieważ praca będzie polegała na tworzeniu oprogramowania ''niezależnego'' od wszelkich IDE, to chcąc wykorzystywać dane IDE trzeba będzie opracować sposób pracy pod danym IDE nad programem. Innymi słowy: trzeba będzie się nauczyć "zmuszać" IDE do zbudowania programu nie będącego "natywnym" projektem danego IDE. Zadanie to pozostawiam już dyplomantom. (Doradzałbym jednak w pierwszej kolejności zdecydowanie się na wybór konkretnego IDE, a dopiero potem rozwiązanie tego problemu.)

Oczywiście jeśli ktoś chce używać innego IDE, będzie to możliwe.

Można też wykorzystać dowolny edytor tekstu. Zalecałbym jednak wybór takiego, który potrafi podkreślać składnię. Przykładami mogą być gVim, jEdit (moje ulubione).

Budowanie projektu

Programy w Javie wygodnie buduje się za pomocą Anta. Warto jest się zapoznać z tym narzędziem, gdyż umiejętność pisania (i czytania) skryptów Anta zapewne się przyda. (Uwaga: nie trzeba osiągnąć poziomu eksperta.)

System kontroli wersji

Podczas pracy nad kodem będzie wykorzystywany również system kontroli wersji (ang. version control system, w skrócie VCS). W przypadku tego projektu najlepiej będzie używać tzw. rozproszonego systemu (ang. distributed version control system). Osobiście składniam się najbardziej ku gitowi.

W związku z tym dobrze byłoby zapoznać się z głównymi pojęciami związanymi z takimi systemami (repozytorium, wersja, kopia robocza, zmiana, etc.).

Inne

Warto przyjrzeć się projektowi GreenFoot. Myślę, że można będzie wykorzystać wiele pomysłów, które zostały tam zaimplementowane.