image-pol-00-18

– Cześć, Amigo. Nazywam się Profesor Hans Zawiłło. Jestem Szefem Naukowym Galaktycznej Szarży. Modyfikuję nasze działania tak, aby jak najlepiej nauczyć Cię programowania w Java.

– Dzień dobry, Profesorze Zawiłło.

– Chciałbym wyjaśnić Ci, dlaczego Java jest tak rewelacyjna.

– Jeszcze nie raz usłyszysz, że ogromną zaletą Javy jest niezależność od platformy. Co to jest i do czego się przydaje? Pozwól, że wyjaśnię Ci to okrężną drogą.

Komputer może wykonywać tylko najprostsze polecenia numeryczne. Podczas szkolenia psów używamy poleceń słownych, takich jak „Do nogi”, „Bierz” itp.

– Takimi poleceniami dla komputerów są liczby. Każda komenda jest reprezentowana przez określoną liczbę lub kod (czasami nazywamy to kodem maszynowym).

– Ale tak naprawdę trudno jest napisać program, używając tylko liczb, dlatego ludzie wymyślili języki programowania i kompilatory. Język programowania jest zrozumiały zarówno dla ludzi, jak i dla kompilatorów. Kompilator to specjalny program, który konwertuje program napisany w języku programowania na serię kodów maszynowych.

– Programista zwykle pisze program w języku programowania, a następnie uruchamia kompilator, który zamienia napisane przez niego pliki z kodem w pojedynczy plik z kodem maszynowym – końcowy (skompilowany) program.

  • Program w C++
  • Kompilator
  • Kod maszynowy

– Wynikowy program może zostać natychmiast uruchomiony przez komputer. Zła wiadomość jest taka, że kod końcowego programu jest zależny od procesora i systemu operacyjnego. Oznacza to, że program skompilowany dla Windowsa nie będzie działać na smartfonie z Androidem.

– Zatem, jeśli napiszę program i skompiluję go dla Androida, nie będzie on działał w systemie Windows?

– Dokładnie.

– Rozumiem.

– Natomiast Java stosuje bardziej innowacyjne podejście.

  • Program w Java
  • Kompilator Java
  • Specjalny kod niezależny od platformy (kod bajtowy)
  • JVM
  • Kod maszynowy

– Kompilator Java nie kompiluje wszystkich klas w jeden program z kodem maszynowym. Zamiast tego kompiluje każdą klasę niezależnie i, co więcej, nie robi tego do kodu maszynowego, tylko do specjalnego kodu pośredniego (kod bajtowy). Kod bajtowy jest kompilowany do kodu maszynowego podczas uruchamiania programu.

– Kto więc kompiluje program do kodu maszynowego w momencie uruchomienia?

– Istnieje specjalny program nazywany wirtualną maszyną Java (Java virtual machine – JVM). Jest uruchamiany, gdy trzeba wykonać program z kodem bajtowym. JVM kompiluje kod bajtowy na kod maszynowy przed uruchomieniem programu.

– Interesujące. Do czego to jest potrzebne?

To jest po prostu niezwykle efektywne – dzięki temu język Java jest uniwersalny.

– Takie podejście pozwala uruchomić program napisany w Javie na dowolnym urządzeniu: komputerze, smartfonie, bankomacie, tosterze, a nawet na kartach kredytowych!

– Super!

– To rozwiązanie ma wiele zalet. To dlatego wszystkie programy na Androida są pisane w Javie. Od kiedy nastąpił szybki rozwój branży telefonów komórkowych, Java dominuje w następujących obszarach programowania:

1) Enterprise: ciężkie aplikacje serwerowe dla banków, korporacji, funduszy inwestycyjnych itp.

2) Mobilne: tworzenie aplikacji mobilnych (smartfony, tablety), w dużej mierze dla systemu Android.

3) Web: Na prowadzeniu jest PHP, ale Java zdobyła już spory obszar rynku.

4) Big Data: przetwarzanie rozproszone w klastrach składających się z tysięcy serwerów.

5) Inteligentne urządzenia: programy dla inteligentnych domów, urządzeń elektronicznych, lodówek IoT (Internet rzeczy) itp.

– Java to nie tylko język, to rodzaj ekosystemu: miliony gotowych modułów, których możesz użyć w swoim programie; tysiące społeczności internetowych i forów dyskusyjnych, w których można uzyskać pomoc lub poradę.

– Im więcej piszesz programów w Javie, tym więcej znajdujesz odpowiedzi na pytanie: „Dlaczego Java?”. To tyle na dzisiaj.

– Dziękuję, Profesorze. To naprawdę mnie zaciekawiło.