CodeGym /Kursy /All lectures for PL purposes /Kompilator i kod bajtowy

Kompilator i kod bajtowy

All lectures for PL purposes
Poziom 1, Lekcja 662
Dostępny

1. Java jest najpopularniejszym językiem programowania

Czy wiesz, że Java jest najpopularniejszym językiem programowania na świecie?

Według rankingu TIOBE języka programowania Java używa ponad 17% wszystkich programistów na świecie. Na drugim miejscu jest C z 16% . A 20 lat temu, kiedy po raz pierwszy pojawił się język Java, C++ był niekwestionowanym liderem, którego udział wynosi obecnie mniej niż 7%.

Język Java pojawił się w połowie lat 90-tych XX wieku i bardzo szybko zyskał popularność. Tysiące programistów przeszło z C++ na Javę. Co tylko po raz kolejny potwierdza, że ​​Java to bardzo fajny język programowania .

Więc co w tym takiego fajnego? Jakie funkcje dodali do niego twórcy?

Będziesz bardzo zaskoczony, jeśli porównasz język Java i język C++: Java jest bardzo podobna do mocno okrojonego C++!

Tak, język Java jest w pewnym stopniu mocno okrojoną wersją C++ . A jeśli w C++ można coś zrobić na 20 sposobów, to w Javie można to zrobić tylko na jeden sposób . A jaka jest zaleta, pytasz?

Rzecz w tym, że nowoczesne programy są bardzo duże i często programiści spędzają do 90% swojego czasu próbując rozgryźć czyjś kod. I tylko 10% - za napisanie nowego kodu. Więc tak, prostota jest zaletą.


2. Kompilator Javy

Nawiasem mówiąc, nie raz usłyszysz, że niezaprzeczalną przewagą Javy nad innymi językami jest wieloplatformowość . Co to jest i z czym się je? Zacznijmy od daleka.

Faktem jest, że komputer może wykonywać tylko najprostsze polecenia.

Dla psów są komendy „bliżej”, „łapa” i inne, słysząc, że pies robi coś ważnego. W komputerze rolę takich poleceń pełnią liczby: każde polecenie jest zakodowane przez określoną liczbę (nazywa się to również kodem maszynowym).

Bardzo trudno jest napisać program w kategoriach liczb, dlatego ludzie wymyślili języki programowania i kompilatory . Taki język z jednej strony jest zrozumiały dla człowieka, z drugiej strony dla kompilatora. Kompilator to specjalny program, który tłumaczy tekst programu napisany w języku programowania na zestaw kodów maszynowych.

Zazwyczaj programista pisze program w języku programowania, a następnie uruchamia kompilator, który na podstawie plików zapisanych przez programistę z kodem programu tworzy jeden plik z kodem maszynowym – program końcowy (skompilowany).

  • Programowanie w C++
  • Kompilator
  • Program składający się z kodów maszynowych
Kroki kompilacji dla C++

Powstały program można natychmiast uruchomić na komputerze. Wadą tego podejścia jest to, że kod wynikowego programu jest silnie zależny od procesora i systemu operacyjnego. Program skompilowany dla systemu Windows nie będzie działał na telefonie z Androidem.

Jeśli napisałeś program dla Androida , nie będzie on działał w systemie operacyjnym Windows !

Ale Java ma znacznie bardziej innowacyjne podejście.

  • program w Javie
  • Kompilator Javy
  • Program składający się ze specjalnych niezależnych kodów (kod bajtowy)
  • Maszyna wirtualna Java
  • Program składający się z kodów maszynowych
Kroki kompilacji dla języka Java

Kompilator Java nie kompiluje wszystkich klas w jeden natywny program. Zamiast tego kompiluje każdą klasę indywidualnie, a nie w kody maszynowe, ale w specjalny kod pośredni (kod bajtowy). Kompilacja do kodu natywnego jest wykonywana podczas uruchamiania programu.

A kto kompiluje program do kodu maszynowego, gdy jest uruchamiany?

Aby to zrobić, istnieje specjalny program o nazwie JVM (Java Virtual Machine) - Java Virtual Machine. Najpierw go uruchamiają, a następnie uruchamiają program składający się z kodu bajtowego. I już JVM kompiluje go do kodu maszynowego przed wykonaniem żądanego programu.

To bardzo potężny ruch i jeden z powodów całkowitej dominacji Javy.


3. Obszary dominacji Jawy

Dzięki opisanym powyżej zaletom programy napisane w Javie można uruchomić na niemal każdym urządzeniu - komputerach, telefonach, bankomatach, tosterach, kartach bankowych.

Zalet tego podejścia jest wiele. Dlatego programy na Androida są również pisane w Javie . A dzięki rozwojowi sektora mobilnego Java ma dominującą pozycję w następujących obszarach programowania:

  1. Enterprise : ciężkie aplikacje serwerowe dla banków, korporacji, funduszy inwestycyjnych itp.
  2. Mobile : rozwój mobilny (telefony, tablety), dzięki Androidowi.
  3. Sieć : PHP jest liderem, ale Java ma również solidny udział w rynku.
  4. Big Data : przetwarzanie rozproszone w klastrach tysięcy serwerów.
  5. Inteligentne urządzenia : programy dla inteligentnego domu, elektroniki, lodówek z dostępem do Internetu.

Java to nie tylko język, ale cały ekosystem: miliony gotowych modułów, które możesz wykorzystać w swoim programie. Tysiące społeczności i forów w Internecie, na których możesz poprosić o pomoc lub poradę.

Im więcej kodujesz w Javie, tym więcej znajdziesz odpowiedzi na pytanie „Dlaczego Java?” .


Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION