W poprzednim poście na „Drodze programisty” (Języki programowania, część 1) poznaliśmy listę najbardziej popularnych języków programowania. Od wielu lat, liderem w tej kategorii jest język Java. Dziś przyjrzymy się mu trochę dokładniej. Zaczynając od historii przez przegląd funkcjonalności aż po nowe zastosowania.

Historia

Prace nad językiem Java zostały zapoczątkowane w 1991 roku przez zespół inżynierów z Sun Microsystems pod kierownictwem James’a Gosling’a [eng. The History of Java Technology]. Wierzyli oni, że w nowej erze internetu, coraz większą rolę będą odgrywały komputery współpracujące ze sobą. Ich język umożliwiał tworzenie skomplikowanych programów na wiele platform i systemów operacyjnych.

Stworzenie języka programowania nie jest prostym zadaniem nawet dla utalentowanych inżynierów. I tak naprawdę dopiero 4 lata później świat miał okazję skorzystać z języka Java, gdy przeglądarka internetowa Netscape zaczęła wspierać programy napisane w tym języku (tzw. aplety). Java rozwijała się bardzo prężnie, ciągle dodawano nowe funkcjonalności i rozszerzano możliwości tego języka. Dziś język rozwijany jest przez firmę Oracle i mamy już 8 wersję Javy (od marca 2014 roku).

Zastosowania

Język Java jest używany praktycznie wszędzie. Dzięki niemu możliwe jest pisanie programów konsolowych, aplikacji graficznych (z okienkami), stron internetowych (apletów, servletów i JSP).

Symbolem, czy też logiem, języka Java jest filiżanka kawy. Jak być może zauważysz w przyszłości, programowanie i kawa często idą w parze 🙂

java_ai

Aplety to graficzne programy, które uruchamiane są jako komponenty innych stron internetowych, dziś już coraz rzadziej używane. Można je wciąż jednak spotkać na niektórych stronach.

Servlety to małe programy, które rozszerzają możliwości stron internetowych (możemy o nich myśleć jako o wspólnej funkcjonalności, którą może uruchamiać wiele różnych stron). Za ich pomocą programiści mogli w swoich programach wykorzystywać jakąś wspólną dla wszystkich funkcję i dzięki JSP (Java Server Pages) tworzyć strony HTML wykorzystując język Java.

Obecnie najfajniejszym (według mnie) zastosowaniem języka Java jest tworzenie aplikacji na platformę Android. Google wybrało ten język i właśnie dzięki Javie możesz zacząć tworzyć aplikacje mobilne. O tym też poczytasz na „Drodze programisty” 🙂

Wirtualna maszyna

Głównym elementem języka Java jest tak zwana „wirtualna maszyna” (ang. Java Virtual Machine – JVM). W poście Czym jest program komputerowy pisałem, że program to zestaw instrukcji sterujących pracą komputera. Wiesz już też, że jest on pisany w języku programowania zrozumiałym dla człowieka. Jednak komputer nie rozumie tego języka. Pomiędzy napisaniem programu w języku programowania a komputerem wykonującym nasze polecenia jest jeszcze proces tak zwanej „kompilacji„.

Polega on na tym, że program komputerowy zamieniany jest na „kod maszynowy”, czyli polecenia zrozumiałe dla komputera i jego procesora. Każdy komputer może mieć inną, specyficzną dla siebie konfigurację. Inne procesory mają inny „kod maszynowy”. Więc na dwie różne konfiguracje należy skompilować dany program dwa razy. Jest to przypadek po lewej stronie na poniższym rysunku.

jvm

Po prawej stronie widzimy Javę, która posiada jeszcze element pośredni. Wirtualną maszynę (ten niebieski kształt). I kod napisany w Javie jest „kompilowany” na tak zwany „kod bajtowy”. Następnie jest on uruchamiany na wirtualnej maszynie, która sama komunikuje się z procesorem za pomocą „kodu maszynowego”. W ten sposób kompilacja programu Javy przez programistę następuje tylko raz dla wielu różnych komputerów. To wirtualna maszyna wie, jak ten pośredni kod przekazać procesorowi. JVM jest jednym z głównych powodów tak dużej popularności języka Java. Dzięki temu raz napisany program w Javie działa na różnych systemach operacyjnych.

„Hello world”

Na koniec tego, bardziej niż zamierzałem teoretycznego wpisu, chciałem Ci pokazać jak wygląda najprostszy program w języku Java. W świecie programistów przyjęło się, że pierwszym programem pisanym w nowo poznawanym języku jest tak zwany „Witaj świecie”. Chodzi o to, żeby w danym języku programowania, w jak najprostszy sposób spowodować wypisanie na ekranie napisu „Hello world”.

W języku Java wygląda on tak:

public class HelloWorld
{
  public static void main(String[] args)
  {
    System.out.println("Hello world");
  }
}

Omówmy go linijka po linijce. Niektóre pojęcia w tym opisie mogą na razie wydawać się dziwne, ale obiecuję, że już niedługo poznamy je dokładniej.

  1. Rozpoczynamy definicję publicznej klasy o nazwie „HelloWorld”
  2. Nawiasem klamrowym otwieramy definicję klasy
  3. Rozpoczynamy definicję publicznej statycznej metody „main”. Metoda ta przyjmuje parametr „args”. Jest to tablica elementów typu „String”. W tym programie nie jest on wykorzystywany, ale jest to wymagana składnia dla programu w Javie.
  4. Nawiasem klamrowym otwieramy definicję metody
  5. Uruchamiamy statyczną metodę „System.out.println”, która przyjmuje napis „Hello world” i wyświetla go na ekranie
  6. Nawiasem klamrowym zamykamy definicję metody
  7. Nawiasem klamrowym zamykamy definicję klasy

Możesz zauważyć, że kod tego programu jest bardzo podobny do kodu napisanego w języku C# w poście Jak wygląda program komputerowy?. Takich podobieństw zauważysz jeszcze bardzo dużo ponieważ języki programowania są do siebie w miarę podobne. Szczególnie w prostych przypadkach. Niektóre bardziej skomplikowane funkcje różnią się od siebie składniowo lub wręcz są niedostępne w innych językach.

Na tym kończymy to krótkie wprowadzenie do języka Java. Myślę, że w kolejnych postach poznamy w ten sposób jeszcze języki Python, C# i JavaScript.

Jedna uwaga do wpisu “Języki programowania: Java

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s