CodeGym /Kursy /Składnia Java /Co to są kompilatory?

Co to są kompilatory?

Składnia Java
Poziom 0 , Lekcja 5
Dostępny
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.

Komentarze (14)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Anonymous #11025239 Poziom 2, Poland, Poland
28 czerwca 2022
Kto by widział żeby w zime padał śnieg :o
Zby szek Poziom 1, Polska, Poland
25 maja 2022
zaskoczyło mnie. Cenna wiedza
Pray Tech Poziom 1, Poland
10 lutego 2022
O żesz kurde balans
22 października 2021
pasowało by się tego nauczyc na pamięć
MarkDarthMenPL #10794130 Poziom 1, Poland
27 sierpnia 2021
WOW!!! I to właśnie wyjaśnia między innymi czemu Minecraft Java Edition jest aż na 3 platformach: Windows, MacOS, Linux. :D
tytus.dominiczak Poziom 1, Poland, Poland
7 grudnia 2021
prawda, ale zauważ, że (moim zdaniem gorszy) bedrock jest na ps, xbox, windows 10 i mobilkach
Dejawo Poziom 1, Poland, Poland
31 stycznia 2022
jedyne co powiem to nie musiałeś dodawać swojego zdania, nie mówię że jest nieważne, po prostu w tej sytuacji nic to nie dało
Ania Poziom 2, Poland, Poland
4 lutego 2022
może i jest trochę gorszy bedrock ale o ponad połowę tańszy. Granie w roblox na laptopie jest o wiele lepsze niż granie na telefonie, tu jest kolosalna różnica, więc nie dziwię się, że w przypadku minecraft'a jest podobnie.
Adam Dudziak Poziom 1, Kraków
1 lutego 2023
W momencie w którym to piszesz Java i Bedrock są w pakiecie za 129,99 zł
burgerport Poziom 1, -, Poland
26 grudnia 2024
a jeszcze pojav launcher na androida obsługuje minecrafta javę i jeszcze na linuxie i rpi
Anonymous #10784901 Poziom 1, Poland
8 sierpnia 2021
I ❤️ JAVA
Jakub Szypuła Poziom 2
24 listopada 2020
Łatwo się tego nauczyć
Alex_kosmiczny Poziom 1, Warsaw, Poland
17 stycznia 2020
naj lepsze to jest
Joanna Poziom 0, Poland
13 października 2021
1,5 roku później, język trzyma poziom pochyłej