R154OP4VMKRV6
Zdjęcie przedstawia kartkę zapisaną wzorami matematycznymi, to układ równań.

I_P_W13_M01_Java Rozpoczynamy przygodę z programowaniem

Źródło: Antoine Dautry, domena publiczna.

Trochę historii

Java to wszechstronny, wieloplatformowy oraz obiektowy język programowania, który został opracowany w 1995 roku przez kanadyjskiego informatyka James Gosling wraz z zespołem firmy Sun Microsystems. Początkowo projekt nosił nazwę Oak i miał służyć do programowania urządzeń elektronicznych, takich jak dekodery telewizyjne czy inteligentne urządzenia domowe. Z czasem język został przemianowany na Java i zaczął zdobywać popularność w świecie Internetu. Jedną z najważniejszych cech języka Java była jego przenośność. Twórcy kierowali się zasadą „Write Once, Run Anywhere” (WORA), czyli „napisz raz, uruchamiaj wszędzie”. Dzięki zastosowaniu maszyny wirtualnej Java (JVM – Java Virtual Machine) programy mogły działać na różnych systemach operacyjnych bez konieczności zmiany kodu źródłowego. Java należy do języków kompilowanych. Kod źródłowy programu jest najpierw tłumaczony przez kompilator na tzw. bajtkod, a następnie wykonywany przez maszynę wirtualną. Rozwiązanie to pozwoliło połączyć szybkość działania z wieloplatformowością.

Najważniejsze etapy rozwoju języka Java

1991 — początek projektu Oak W firmie Sun Microsystems rozpoczęto prace nad nowym językiem programowania przeznaczonym dla urządzeń elektronicznych. Projekt prowadził James Gosling. 1995 — oficjalne powstanie języka Java Język otrzymał nazwę Java i został publicznie zaprezentowany. W tym samym czasie gwałtownie rozwijał się Internet, co przyczyniło się do szybkiego wzrostu popularności Javy. 1996 — Java Development Kit (JDK) 1.0 Udostępniono pierwsze oficjalne środowisko programistyczne JDK umożliwiające tworzenie i uruchamianie aplikacji w Javie. 1998 — Java 2 (J2SE) Wprowadzono nową platformę Java 2, która rozszerzyła możliwości języka oraz uporządkowała jego zastosowania:

  • J2SE — aplikacje desktopowe,

  • J2EE — aplikacje przedsiębiorstw,

  • J2ME — urządzenia mobilne.

2004 — Java 5 Pojawiły się bardzo ważne usprawnienia języka:

  • typy generyczne (Generics),

  • pętla foreach,

  • automatyczne konwersje typów (autoboxing),

  • adnotacje (annotations).

Wersja ta znacząco uprościła pisanie programów. 

2006 — Java jako projekt open source Firma Sun Microsystems udostępniła znaczną część platformy Java jako oprogramowanie otwarte. 2010 — przejęcie Sun Microsystems przez Oracle Firma Oracle Corporation przejęła rozwój języka Java po zakupie Sun Microsystems. 2014 — Java 8 Jedna z najważniejszych wersji języka. Dodano:

  • wyrażenia lambda,

  • programowanie funkcyjne,

  • API Stream,

  • nowoczesne operacje na danych i kolekcjach.

2017 — nowy cykl wydawniczy Wprowadzono regularne wydawanie nowych wersji Javy co sześć miesięcy. 2021 — Java 17 (LTS) Wersja długoterminowego wsparcia (LTS), szeroko wykorzystywana w nowoczesnych systemach informatycznych. Obecnie Java pozostaje jednym z najpopularniejszych języków programowania na świecie. Jest wykorzystywana do tworzenia:

  • aplikacji internetowych,

  • systemów bankowych,

  • aplikacji mobilnych Android,

  • programów biznesowych,

  • systemów chmurowych i serwerowych.

Dzięki swojej stabilności, bezpieczeństwu i ogromnej społeczności programistów Java nadal odgrywa ważną rolę w edukacji informatycznej oraz w profesjonalnym tworzeniu oprogramowania.

Słownik

Oracle
Oracle

firma zajmująca się m.in. tworzeniem i udoskonalaniem kolejnych wersji języka Java.

Java Running Environment (JRE)
Java Running Environment (JRE)

środowisko uruchomieniowe Javy; zestaw narzędzi przystosowanych do uruchamiania programów skompilowanych do kodu bajtowego Javy.

Java Virtual Machine (JVM)
Java Virtual Machine (JVM)

Wirtualna Maszyna Javy – pojęcie abstrakcyjne; specyfikacja określająca zestaw narzędzi potrzebnych do skompilowania i uruchomienia programów napisanych w języku Java lub skompilowanych do kodu bajtowego Javy. JVM jest zależne od danego systemu operacyjnego.

Integrated Development Environment (IDE)
Integrated Development Environment (IDE)

zintegrowane środowisko programistyczne. Rodzaj aplikacji przeznaczonych dla programistów do pisania, testowania i uruchamiania programów. Aplikacje te posiadają wiele przydatnych narzędzi, przez co oszczędzają programiście wiele czasu, a przede wszystkim bardzo ułatwiają pisanie programów. Najczęściej są przystosowane do jednego konkretnego języka.

kompilacja
kompilacja

proces, w którym kod źródłowy za pomocą kompilatora jest tłumaczony na język maszynowy, specyficzny dla danego software'u czy hardware'u. Proces kompilacji jest specyficzny dla języka programowania i może zachodzić z różną prędkością.

kod bajtowy
kod bajtowy

lista instrukcji do wykonania przez wirtualną maszynę Javy.

kod maszynowy
kod maszynowy

zestaw rozkazów, za których realizację odpowiada bezpośrednio procesor; ciąg zer i jedynek, które są interpretowane przez procesor.

kompilator
kompilator

program służący do automatycznego tłumaczenia kodu źródłowego programu na kod maszynowy; tworzy plik wykonywalny, który można uruchomić na innym komputerze bez użycia środowiska programistycznego; w przypadku Javy mówimy o kodzie bajtowym.

kod wieloplatformowy
kod wieloplatformowy

o kodzie powiemy, że jest wieloplatformowy, jeśli będzie w większości przypadków działał na różnych systemach operacyjnych (MS Windows, Linux, Mac OS i innych), dając ten sam wynik.

kod bajtowy Javy
kod bajtowy Javy

lista instrukcji do wykonania przez wirtualną maszynę Javy (JVM)