Pisałem wcześniej, że językiem programowania, którego tajniki będę zgłębiał przez najbliższy rok zostanie ten, którego nazwa do tej pory kojarzyła mi się głównie z kawą… Jedną z cenniejszych rad, jakie dostałem przed rozpoczęciem samodzielnej nauki była informacja, że samym językiem nie należy aż tak bardzo się przejmować. Wszystkie założenia programowania są bardzo do siebie zbliżone i przyjmuje się, że umiejąc jeden z nich będzie nam łatwiej zgłębiać tajniki drugiego. Oczywiście nie oznacza to wcale, że różnice są niewielkie. Wręcz przeciwnie, oprócz samej składni każdy z nich ma swoje plusy i minusy. Poniżej garść najważniejszych informacji, dlaczego mój wybór na Javę:
– Przenośność. Można ją uruchamiać na każdym sprzęcie i w każdym systemie, na którym zainstalowana jest tzw. maszyna wirtualna Javy. Był to główny cel, który przyświecał twórcom języka na początku lat 90-tych. W chwili obecnej “write once run anywhere” nie jest może najważniejszym atrybutem, jednakże sprawił, że w Javie napisano tony kodu, a jej popularność nie spada do dziś. Żeby długo nie szukać. Masz telefon na Androidzie? Jeśli tak, ogromna część aplikacji, których używasz, napisana jest w Javie.
– Wygoda. Java posiada ogromną ilość gotowych bibliotek, które przyspieszą tworzenie Twoich aplikacji. Do swoich projektów możesz importować m.in. pakiety wspomagające tworzenie apletów, składniki GUI, strumienie wejścia i wyjścia, obsługę sieci, czy klasy użytkowe i specjalne struktury danych. Świetnie przemyślane i zaprojektowane biblioteki oraz narzędzia ułatwiają programistom wygodne tworzenie interfejsów graficznych aplikacji.
– Szybkość tworzenia programów. Powszechnie panuje opinia, że w Javie pisze się o wiele szybciej, niż w innych językach programowania. Dzieje się tak m.in. dzięki wyżej wymienionym bibliotekom oraz użytecznym klasom, ale również za sprawą świetnych środowisk IDE. Te tzw. “zintegrowane środowiska programistyczne”, głównie NetBeans i Eclipse znacznie poprawiają prędkość i wydajność tworzonego oprogramowania. Pozwalają na łatwiejsze wyszukiwanie błędów, tworzenie bardzo rozbudowanych aplikacji oraz panowanie nad utrzymaniem kodu.
Jeśli chodzi o wady Javy, to najczęściej wspomina się o dwóch aspektach. Po pierwsze, do uruchomienia napisanego w niej programu, należy mieć zainstalowaną tzw. wirtualną maszynę (JVM). Wielokrotnie mogliście pewnie zauważyć wyskakujące powiadomienie o konieczności aktualizacji oprogramowania firmy Oracle. Działo się tak w momencie, gdy chcieliście uruchomić coś napisanego w najnowszej postaci języka, a zainstalowaną mieliście już nieaktualną wersję wirtualnej maszyny. Z racji konieczności posiadania JVM w systemie, powszechnie panuje opinia, że napisane w Javie aplikacje działają o wiele wolniej niż np. te utworzone w C++. Powstało wiele testów na ten temat, a w sieci znajdziecie pewnie dziesiątki ciekawych wątków dyskusyjnych. Oczywiście brak mi eksperckiej wiedzy w tej kwestii, dlatego jeśli chcecie zgłębić temat polecam poczytać chociażby: http://osworld.pl/czy-java-faktycznie-jest-taka-wolna/
Podsumowując mogę stwierdzić, że każdy język programowania ma inne zastosowania. Każdy ma wady, ale każdy ma też zalety. Mnie Java przekonała głównie za sprawą ilości gotowych komponentów w postaci bibliotek, które możesz bez problemów wykorzystywać w nauce, czy codziennej pracy.
Kiedyś pokusiłem się o dokładniejsze porównanie Javy i C++. Może nie super eksperckie, ale starałem się pokazać oba środowiska także od strony programistycznej. Może kogoś zainteresuje jako ciekawostka 🙂
http://blog.ad3.eu/java_vs_c_runda_1.html
http://blog.ad3.eu/java_vs_c_runda_2.html