Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Java] Dostępne wersje oraz kierunek nauki Javy

Ostatnio zmodyfikowano 2013-01-05 06:45
Autor Wiadomość
DejaVu
Temat założony przez niniejszego użytkownika
[Java] Dostępne wersje oraz kierunek nauki Javy
» 2013-01-02 19:39:26
Powoli przymierzam się do nauki Javy i w związku z tym mam kilka pytań do osób, które mają z nią większą styczność tj. doświadczenie komercyjne lub zrealizowane jakieś konkretne i użyteczne projekty. No to lecimy :)

Jest sobie dział Downloads:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Jak widać w tym dziale jest cała masa wersji Javy. Każda wersja ma jakiś krótki opis, jednak zasadniczo interesuje mnie jakie są istotne różnice między Javą SE, a Javą EE patrząc z punktu widzenia deweloperskiego (np. czego nie da się zrobić w wersji SE, a da się zrobić w wersji EE podobnym nakładem pracy). Druga sprawa to wersje 'kompilatora'. Obecnie na stanie mam książkę "Bruce Eckel, Thinking in Java, wydanie IV", która jest poświęcona Javie w wersji SE5 oraz SE6. Klikając radośnie po różnych stronach pojawiają się miejscami informacje dot. Javy 7 i tu nasuwa się kolejne pytanie: czy między wersją 6, a wersją 7 nastąpiły znów istotne rewolucje, które uniemożliwiają kompilacji starego kodu na nowym kompilatorze bez odpowiednich modyfikacji? Czy też są to zmiany natury optymalizacyjnej oraz dodanie nowych bibliotek do standardu i stąd nastąpiło cyknięcie numerka wersji Javy?

Java ma mimo wszystko szeroki wachlarz zastosowań, także miło by było otrzymać również jakieś informacje dot. polecanych bibliotek i jakie mają zastosowanie "np. biblioteka do tworzenia aplikacji okienkowych" :)

/edit:
Fajnie by było otrzymać informacje dot. bibliotek polecanych obecnie, a nie kilka lat temu, bowiem Java rozwija się dynamicznie i raczej zależy mi na aktualnych informacjach, aniżeli tych co polecano X lat temu.
P-72772
m4tx
» 2013-01-02 21:18:33
Powoli przymierzam się do nauki Javy i w związku z tym mam kilka pytań do osób, które mają z nią większą styczność tj. doświadczenie komercyjne lub zrealizowane jakieś konkretne i użyteczne projekty.
Ja co prawda nie napisałem nic komercyjnego, a konkretny projekt dopiero piszę, ale może mnie nie zjesz... :)

Java EE jest raczej do rozwiązań webowych. Prawdopodobnie na początku wystarczy Ci Java SE. Oprócz SE i EE jest jeszcze Java ME, czyli aplikacje na starsze już telefony z Javą, czy Java "Androidowa".

Parę bibliotek:
  • SWT (+ JFace) - chyba najlepsza biblioteka do GUI, jeśli nie potrzebujesz cukierkowatego wyglądu. Korzysta z natywnego toolkitu (obsługuje WinAPI, Cocoa, GTK+ i Motif). Oracle propagował swego czasu bibliotekę Swing, ale jest to już przestarzała technologia, w dodatku niekorzystająca z natywnego toolkitu systemu. Przykłady aplikacji w SWT: Eclipse, TuxGuitar, Vuze. Jeszcze co do JFace'a - jest to biblioteka ułatwiająca zabawę z SWT. Oferuje różne dialogi, tzw. viewery i wiele innych ficzerów. Producent: Eclipse.
  • jMonkeyEngine - przyjemna, nowoczesna biblioteka do gier 3D. Shadery, VBO i inne fajne ficzery OpenGL-a są tu wykorzystywane gdzie się tylko da. Polecam :)
  • No i cała reszta środowiska uruchomieniowego Javy, bo jest tego naprawdę ogrom i w wielu rzeczach, w których w C++ trzeba użyć zewnętrznych bibliotek, wystarczy użyć rzeczy wbudowanych w Javę :)
Jeszcze co do pytania o Javę 6 i 7 - polecam przyzwyczajać się do nowszej wersji. Java 6 jest już obecnie raczej rzadko spotykana, no i raczej nie znajdziesz kodu pod Javę 6, którego nie skompilujesz kompilatorem Javy 7 :)
P-72791
DejaVu
Temat założony przez niniejszego użytkownika
» 2013-01-02 21:29:00
@m4tx: dzięki :)

Jak ktoś jeszcze może coś od siebie dodać w podobnym duchu do otrzymanej odpowiedzi to byłbym bardzo wdzięczny :)
P-72793
crash
» 2013-01-05 06:45:15
Nie przepadam za stylem Bruce'a, polecam Ci z własnego doświadczenia dwie książki Garego Cornell'a & Cay'a Horstmanna: Core Java 2 Podstawy, Core Java 2 Techniki Zaawansowane. Java jest dobrze udokumentowana, na Twoim miejscu szedłbym z duchem czasu i jechał na wersji 7ej. Na stronie Eclipse'a piszą, że dodali dużo rzeczy w stosunku do szóstki. Nie pamiętam kiedy wyszła szóstka, w każdym razie minęło trochę czasu, więc należy się spodziewać, że ten obszerny język dostał kolejne mechanizmy. Bardzo możliwe, że wycofali jakieś biblioteki, wątpię to jednak - Orki starają się maksymalnie zachować kompatybilność wstecz.

http://www.eclipse.org/jdt/ui/r3_8/Java7news/whats-new-java-7.html

Osobiście za Javą średnio przepadam. Moim zdaniem tak okrutnie obszerny język powinien mieć porządne IDE typu RAD, szybko działające pokroju Borland C++, które to nie powinno generować masy kodu utrudniającego interpretowanie programiście. NetBeans czy JBuilder potrafią zamulić szybkie komputery, a to drażni i odstrasza. Dlatego NotePad++ oraz książka na biurku i jazda :) No i miliard możliwości obsługi plików, nie zawsze działający garbage collector i inne. W żadnym wypadku nie twierdzę, że Java jest do kitu, po prostu średnio lubię w niej pisać.

Nie będę taki marudny - Java pozwala na pisanie apletów, programów na telefony (MIDlety), jest dość bezpieczna jeśli chodzi o zabezpieczanie serwerów (wolę tutaj PHP bo człek się mniej napisze), jest przenośna. Mamy pewność, że używając komponentów GUI aplikacja będzie wyglądała na każdym komputerze identycznie, a pełne zorientowanie obiektowe pozwala -  moim zdaniem - szybciej wyłapywać błędy. Jawiszcze pozwala na programowanie generyczne, co też jest atutem, zwłaszcza że jest to język silnie typowany. Co do GUI, polecam bibliotekę Swing ale i SWT jak pisał mt4x. Pamiętaj, że Java jest dość dobrze udokumentowana, więc mając dostęp do netu nic tylko siedzieć i czytać, klepać kody :)
P-72999
« 1 »
  Strona 1 z 1