Jason. Cała informatyka w jednym miejscu!

Sięgnę znowu do języka Java, aby jeszcze bardziej oddalić się choć na chwilę od tworzenia gier. Pisało się w nim dostatecznie dużo, żeby móc przedstawić Wam cechy języka Java, których każdy z Was powinien być świadom, jeszcze przed rozpoczęciem nauki. Nie będę zagłębiał się w szczegóły czy jakieś zaawansowane wątki, tu są tylko same konkrety.

KRÓTKA CHARAKTERYSTYKA JĘZYKA

Java jaka jest, każdy widzi :). Rok 1995 przyjmuje się za jej "narodziny". James Gosling chciał stworzyć język podobny do C++, ale żeby jednocześnie "ukrywał" wszystkie trudne tematy dotyczące manualnego alokowania pamięci przez programistę. Ponadto jego postulatem było zapewnienie, żeby ta sama aplikacja była w stanie się uruchomić bez żadnych modyfikacji na innej platformie, czyli słynne hasło "napisz raz, uruchom wszędzie". Udało się, choć jak czas pokazał, jest to "hasło względne".

Z biegiem lat język bardzo szybko zyskiwał nowych miłośników posiadając składnię C++, tylko bez konieczności zarządzania pamięcią, które sprawiało wielu osobom horrendalne problemy. Obecnie jest to jeden z najczęściej wykorzystywanych języków, zarówno przez "domowych" majsterkowiczów, jak również potężne firmy i korporacje wykonujące aplikacje biznesowe dla klientów. W kręgach gier jest również czasem wykorzystywany, nie zapominajmy o popularnej produkcji "Minecraft", aczkolwiek nie jest to najlepsza opcja przez wzgląd na "odśmiecacz" pamięci i interpretowanie kodu bajtowego. Jeśli ktoś chce samemu tworzyć gry w języku Java i rozważa taką opcję, zapraszam tutaj, jednak lepiej spojrzeć już na język C# ;). Poniżej znajdziecie cechy języka Java.

Logo języka Java

Java powstała w 1995 roku z inicjatywy Jamesa Goslinga jako język podobny do C++ bez konieczności ręcznego zarządzania pamięcią.

Źródło: Wikipedia

CECHY JĘZYKA JAVA

Jak wszystko na tym świecie, wszystko ma drugą stronę medalu. Teraz cechy języka Java w podpunktach. Najpierw wypiszę najważniejsze wady, aby najpierw zacząć od tej negatywnej strony.

WADY

  • niezależność platformowa jest możliwa tylko poprzez interpretację tzw. kodu bajtowego (pośredniego), przez co przekłada się to na większą liczbę rozkazów dla procesora i spadek wydajności przetwarzania operacji
  • od 2019 roku wymagana jest płatna subskrypcja dla wydawania komercyjnego (najlepiej skorzystać z otwartoźródłowych alternatyw Javy np. "Eclipse Adoptium")
  • język jest zaopatrzony we wbudowany "odśmiecacz pamięci", który odpowiedzialny jest za usuwanie zbędnej już pamięci wykorzystywanej przez obiekty, aczkolwiek w wyjątkowych sytuacjach może nie zareagować jak należy i doprowadzić do wycieku pamięci
  • aby móc uruchomić program napisany w tym języku, stanowisko komputerowe musi mieć zainstalowane środowisko uruchomieniowe. Jedynym sposobem na zniesienie tej zależności jest konwersja aplikacji na plik wykonywalny, aczkolwiek nie będzie tej samej postaci w jakiej się pojawia w językach C i C++

Teraz czas na zalety języka Java!

ZALETY

  • Java ze względu na połączenie kompilacji JIT i interpretacji nie traci tak bardzo na wydajności, tak jak w przypadku "czystego" interpretera (tutaj jest szersze wytłumaczenie tego zjawiska)
  • nie jest wymagana znajomość obsługi manualnego zarządzania pamięcią, tak jak ma to miejsce w językach C i C++
  • posiada mnóstwo bibliotek i wiele gotowych metod pozwalających na uniknięcie "wynajdywania koła na nowo"
  • język jest bardzo szeroko wykorzystywany na rynku pracy i nawet po tylu latach od jego "narodzin" można znaleźć mnóstwo ofert na Junior Developera

Takie krótkie podsumowanie powinno pomóc każdemu z Was w podjęciu decyzji czy cechy języka Java są przekonujące, czy też zabrać się za naukę jakiegoś innego. Tym zdaniem kończę na dzisiaj i widzimy się jutro!

NASTĘPNY ARTYKUŁ: Czy warto uczyć się Javy w 2021 roku, czy nie?