Derleyiciler nedir?  - 1

"Merhaba, Amigo. Benim adım Profesör Hans Noodles. Burada, Galaktik Hücum'daki Bilimsel Konsey'in başkanıyım. Ayrıca size Java programlamayı öğretme çabalarımızı da denetlerim."

"Merhaba, Profesör Noodles."

"Size Java'nın neden çok havalı bir programlama dili olduğunu açıklamak istiyorum . "

"Java'nın benzersiz avantajının platform bağımsızlığı olduğunu birçok kez duyacaksınız . Bu nedir ve ne için? Soruyorsunuz? Dolambaçlı bir yaklaşım izleyeyim."

"Bir bilgisayar yalnızca en basit sayısal komutları yürütebilir. Köpekleri eğitirken, bir köpeğe yapmasını istediğimiz bir şeyi yaptırmak için 'Topuk', 'Salla' gibi komutlar kullanırız."

"Bilgisayarlar için, sayılar bu tür komutların rolünü oynar. Her komut, belirli bir sayı veya kodla (bazen makine kodu olarak adlandırılır) temsil edilir."

"Ama sadece sayıları kullanarak bir program yazmak gerçekten zor, bu yüzden insanlar programlama dillerini ve derleyicileri icat ettiler . Bir programlama dili hem insanlar hem de derleyiciler tarafından anlaşılabilir. Derleyici , bir programlama dilinde yazılmış bir programı bir programa dönüştüren özel bir programdır. bir dizi makine kodu."

"Bir programcı genellikle bir programlama dilinde bir program yazar ve ardından programcı tarafından yazılan program kodu dosyalarını makine koduyla tek bir dosyaya - son (derlenmiş) programa - dönüştüren bir derleyici çalıştırır."

  • C++ programı
  • Derleyici
  • Makine kodu

"Ortaya çıkan program bilgisayar tarafından hemen çalıştırılabilir. Kötü haber şu ki, son programın kodu büyük ölçüde işlemciye ve işletim sistemine bağlıdır. Bu, Windows için derlenen bir programın bir Android akıllı telefonda çalışmayacağı anlamına gelir."

"Yani, Android için bir program yazıp derlersem, Windows'ta çalışmaz mı?"

"Kesinlikle."

"Anlıyorum."

"Ancak, Java çok daha yenilikçi bir yaklaşım kullanıyor."

  • Java programı
  • Java derleyici
  • Platformdan bağımsız özel kod (bayt kodu)
  • JVM
  • Makine kodu

"Bir Java derleyicisi, tüm sınıfları tek bir makine kodu programında derlemez. Bunun yerine, her sınıfı bağımsız olarak ve dahası, makine kodunda değil, özel bir ara kodda (bayt kodu) derler. Bayt kodu şu şekilde derlenir: program başlatıldığında makine kodu."

"Peki, yürütülürken programı makine koduna kim derliyor?"

"Java sanal makinesi (JVM) adında özel bir program var. Bir bayt kodu programı çalıştırmanız gerektiğinde ilk olarak bu programın başlatılması gerekir. JVM, program çalıştırılmadan önce bayt kodunu makine koduna derler."

"İlginç. Bu neden gerekli olsun ki?"

"Bu çok güçlü bir yaklaşım ve Java'nın toplam hakimiyetinin nedenlerinden biri."

"Bu yaklaşım, Java ile yazılmış programların hemen hemen her cihazda çalıştırılmasına izin verir: bilgisayarlar, akıllı telefonlar, ATM'ler, tost makineleri ve hatta kredi kartları!"

"Serin!"

"Bu yaklaşımın birçok avantajı var. Bu nedenle tüm Android programları da Java ile yazılıyor. Cep telefonu endüstrisinin hızlı büyümesi sayesinde Java, aşağıdaki programlama alanlarına hakim:

1)Girişim: bankalar, şirketler, yatırım fonları vb. için ağır sunucu odaklı uygulamalar.

2)mobil: Android sayesinde mobil geliştirme (akıllı telefonlar, tabletler).

3): PHP lider durumda, ancak Java pazardan sağlam bir pay aldı.

4)Büyük veri: binlerce sunucudan oluşan kümelerde dağıtılmış bilgi işlem.

5)Akıllı cihazlar: akıllı evler, elektronik cihazlar, IoT buzdolapları vb. için programlar."

"Java yalnızca bir dil değil, bir tür ekosistemdir: programınızda kullanabileceğiniz milyonlarca hazır modül; yardım veya tavsiye alabileceğiniz binlerce çevrimiçi topluluk ve mesaj panosu."

"Java'da ne kadar çok program yazarsanız, 'Neden Java?' sorusuna o kadar çok yanıt bulacaksınız. Bugünlük bu kadar."

"Teşekkürler Profesör. Bu gerçekten ilginç ve ilham vericiydi."