Ano ang mga compiler?  - 1

"Hi, Amigo. My name is Professor Hans Noodles. I'm head of the Scientific Council here on the Galactic Rush. I also oversee our efforts to teach you Java programming."

"Hello, Professor Noodles."

"Gusto kong ipaliwanag sa iyo kung bakit ang Java ay isang napaka-cool na programming language. "

"Maririnig mo nang higit sa isang beses na ang walang kaparis na kalamangan ng Java ay ang pagsasarili ng platform nito . Ano iyon at para saan ito, itatanong mo? Hayaan akong gumawa ng isang roundabout na diskarte."

"Ang isang computer ay maaaring magsagawa lamang ng pinakasimpleng mga numerical na utos. Kapag nagsasanay ng mga aso, gumagamit kami ng mga utos tulad ng 'Sakong', 'Shake', atbp. upang gawin ang isang aso ng isang bagay na gusto naming gawin nito."

"Para sa mga computer, ang mga numero ay gumaganap ng papel ng mga naturang command. Ang bawat command ay kinakatawan ng isang tiyak na numero o code (minsan ay tinatawag na machine code)."

"Ngunit talagang mahirap magsulat ng isang programa gamit lamang ang mga numero, kaya ang mga tao ay nag-imbento ng mga programming language at compiler . Ang isang programming language ay maaaring maunawaan ng mga tao at compiler. Ang isang compiler ay isang espesyal na programa na nagko-convert ng isang program na nakasulat sa isang programming language sa isang serye ng mga code ng makina."

"Ang isang programmer ay karaniwang nagsusulat ng isang programa sa isang programming language at pagkatapos ay nagpapatakbo ng isang compiler, na ginagawang isang solong file na may machine code ang mga file ng program code na isinulat ng programmer - ang panghuling (compiled) na programa."

  • Programa sa C++
  • Compiler
  • Code ng makina

"Ang resultang program ay maaaring isagawa kaagad ng computer. Ang masamang balita ay ang code ng panghuling programa ay lubos na nakadepende sa processor at operating system. Nangangahulugan ito na ang isang program na pinagsama-sama para sa Windows ay hindi gagana sa isang Android smartphone."

"Kaya, kung magsulat ako ng isang programa at i-compile ito para sa Android, hindi ito gagana sa Windows?"

"Eksakto."

"Nakita ko."

"Gayunpaman, ang Java ay gumagamit ng isang mas makabagong diskarte."

  • Programa sa Java
  • Java compiler
  • Espesyal na platform-independent na code (bytecode)
  • JVM
  • Code ng makina

"Ang isang Java compiler ay hindi kino-compile ang lahat ng mga klase sa isang machine-code program. Sa halip, ito ay nag-compile ng bawat klase nang nakapag-iisa at, higit pa, hindi sa machine code, ngunit sa isang espesyal na intermediate code (bytecode). Ang bytecode ay pinagsama-sama sa machine code kapag sinimulan ang programa."

"So, sino ang nag-compile ng program sa machine code kapag ito ay isinasagawa?"

"May isang espesyal na programa na tinatawag na Java virtual machine (JVM). Dapat itong magsimula muna kapag kailangan mong magpatakbo ng isang bytecode program. Isasama ng JVM ang bytecode sa machine code bago isagawa ang programa."

"Interesting. Bakit kailangan iyon?"

"Ito ay isang napakalakas na diskarte at isa sa mga dahilan para sa kabuuang dominasyon ng Java."

"Ang diskarte na ito ay nagpapahintulot sa mga program na nakasulat sa Java na tumakbo sa halos anumang device: mga computer, smartphone, ATM, toaster, o kahit na mga credit card!"

"Malamig!"

"Ang diskarte na ito ay may maraming mga pakinabang. Ito ang dahilan kung bakit ang lahat ng mga programa sa Android ay nakasulat din sa Java. Salamat sa mabilis na paglago ng industriya ng mobile phone, ang Java ay nangingibabaw sa mga sumusunod na lugar ng programming:

1)Enterprise: mabigat na server-oriented na mga application para sa mga bangko, korporasyon, pondo sa pamumuhunan, atbp.

2)Mobile: mobile development (smartphones, tablets), salamat sa Android.

3)Web: PHP ang nangunguna, ngunit nakuha ng Java ang isang solidong bahagi ng merkado.

4)Malaking Data: distributed computing sa mga cluster na binubuo ng libu-libong mga server.

5)Mga matalinong device: mga programa para sa mga smart home, electronic device, IoT refrigerator, atbp."

"Ang Java ay hindi lamang isang wika, ngunit isang uri ng ecosystem: milyun-milyong handa na mga module na magagamit mo sa iyong programa; libu-libong mga online na komunidad at mga message board kung saan maaari kang makakuha ng tulong o payo."

"Kung mas marami kang magsulat ng mga programa sa Java, mas maraming sagot ang makikita mo sa tanong na 'Bakit Java?'. Iyon lang para sa ngayon."

"Salamat, Professor. This was really interesting and inspiring."