คอมไพเลอร์คืออะไร?  - 1

"สวัสดี Amigo ฉันชื่อศาสตราจารย์ Hans Noodles ฉันเป็นหัวหน้าสภาวิทยาศาสตร์ที่ Galactic Rush ฉันยังดูแลความพยายามของเราในการสอนการเขียนโปรแกรม Java แก่คุณ"

“สวัสดีครับอาจารย์บะหมี่”

"ฉันอยากจะอธิบายให้คุณฟังว่าทำไมJava ถึงเป็นภาษาโปรแกรมที่ยอดเยี่ยมมาก "

"คุณจะได้ยินมากกว่าหนึ่งครั้งว่าข้อได้เปรียบที่ไม่มีใครเทียบของ Java คือความเป็นอิสระของแพลตฟอร์มสิ่งนี้คืออะไรและมีไว้เพื่ออะไร คุณขอถามแบบอ้อมๆ หน่อย"

"คอมพิวเตอร์สามารถดำเนินการได้เฉพาะคำสั่งตัวเลขที่ง่ายที่สุดเมื่อฝึกสุนัข เราใช้คำสั่งเช่น 'ส้นเท้า' 'เขย่า' ฯลฯ เพื่อให้สุนัขทำสิ่งที่เราต้องการให้ทำ"

"สำหรับคอมพิวเตอร์ ตัวเลขมีบทบาทของคำสั่งดังกล่าว ทุกคำสั่งจะแสดงด้วยตัวเลขหรือรหัสเฉพาะ (บางครั้งเรียกว่ารหัสเครื่อง)"

"แต่มันยากมากที่จะเขียนโปรแกรมโดยใช้ตัวเลขเพียงอย่างเดียว ดังนั้นผู้คนจึงคิดค้นภาษาโปรแกรมและคอมไพเลอร์ขึ้นมา ทั้งมนุษย์และคอมไพเลอร์สามารถเข้าใจภาษาโปรแกรม ได้ คอมไพเลอร์ คือโปรแกรมพิเศษ ที่แปลงโปรแกรมที่เขียนด้วยภาษาโปรแกรมให้เป็น ชุดรหัสเครื่อง"

"โปรแกรมเมอร์มักจะเขียนโปรแกรมด้วยภาษาโปรแกรม จากนั้นจึงเรียกใช้คอมไพเลอร์ ซึ่งจะเปลี่ยนไฟล์รหัสโปรแกรมที่เขียนโดยโปรแกรมเมอร์ให้เป็นไฟล์เดียวที่มีรหัสเครื่อง ซึ่งเป็นโปรแกรมสุดท้าย (คอมไพล์)"

  • โปรแกรมในภาษา C++
  • คอมไพเลอร์
  • รหัสเครื่อง

"โปรแกรมผลลัพธ์สามารถดำเนินการโดยคอมพิวเตอร์ได้ทันที ข่าวร้ายก็คือโค้ดของโปรแกรมขั้นสุดท้ายนั้นขึ้นอยู่กับโปรเซสเซอร์และระบบปฏิบัติการเป็นอย่างมาก ซึ่งหมายความว่าโปรแกรมที่คอมไพล์สำหรับ Windows จะไม่ทำงานบนสมาร์ทโฟน Android"

"ถ้าฉันเขียนโปรแกรมและคอมไพล์สำหรับ Android มันจะไม่ทำงานบน Windows เหรอ?"

"อย่างแน่นอน."

"ฉันเห็น."

"อย่างไรก็ตาม Java ใช้วิธีการที่แปลกใหม่กว่ามาก"

  • โปรแกรมในภาษาจาวา
  • จาวาคอมไพเลอร์
  • รหัสพิเศษที่ไม่ขึ้นกับแพลตฟอร์ม (bytecode)
  • เจ.วี.เอ็ม
  • รหัสเครื่อง

"คอมไพเลอร์ Java ไม่ได้คอมไพล์คลาสทั้งหมดเป็นโปรแกรมรหัสเครื่องโปรแกรมเดียว แต่จะคอมไพล์ทุกคลาสอย่างอิสระ ยิ่งไปกว่านั้น ไม่ใช่รหัสเครื่อง แต่เป็นรหัสกลางพิเศษ (bytecode) โค้ดไบต์ถูกคอมไพล์เป็น รหัสเครื่องเมื่อเริ่มโปรแกรม"

"แล้วใครกันที่คอมไพล์โปรแกรมเป็นรหัสเครื่องเมื่อมันถูกเรียกใช้งาน"

"มีโปรแกรมพิเศษที่เรียกว่า Java virtual machine (JVM) ต้องเริ่มต้นก่อนเมื่อคุณต้องการเรียกใช้โปรแกรม bytecode JVM จะรวบรวม bytecode เป็นรหัสเครื่องก่อนที่โปรแกรมจะถูกดำเนินการ"

"น่าสนใจ ทำไมถึงจำเป็น?"

"เป็นแนวทางที่มีประสิทธิภาพมากและเป็นหนึ่งในเหตุผลที่ทำให้ Java มีอำนาจเหนือกว่าทั้งหมด"

"แนวทางนี้ทำให้โปรแกรมที่เขียนด้วยภาษาจาวาทำงานบนอุปกรณ์แทบทุกชนิด: คอมพิวเตอร์ สมาร์ทโฟน ตู้เอทีเอ็ม เครื่องปิ้งขนมปัง หรือแม้แต่บัตรเครดิต!"

"เย็น!"

"แนวทางนี้มีข้อดีหลายประการ นั่นคือสาเหตุที่โปรแกรม Android ทั้งหมดเขียนด้วย Java ด้วย เนื่องจากการเติบโตอย่างรวดเร็วของอุตสาหกรรมโทรศัพท์มือถือ Java จึงครองพื้นที่การเขียนโปรแกรมต่อไปนี้:

1)องค์กร: แอปพลิเคชันที่เน้นเซิร์ฟเวอร์จำนวนมากสำหรับธนาคาร บริษัท กองทุนเพื่อการลงทุน ฯลฯ

2)มือถือ: การพัฒนามือถือ (สมาร์ทโฟน แท็บเล็ต) ขอบคุณ Android

3)เว็บ: PHP เป็นผู้นำ แต่ Java ได้ครองส่วนแบ่งตลาดอย่างมั่นคง

4)ข้อมูลใหญ่: การคำนวณแบบกระจายในกลุ่มที่ประกอบด้วยเซิร์ฟเวอร์นับพันเครื่อง

5)อุปกรณ์อัจฉริยะ: โปรแกรมสำหรับบ้านอัจฉริยะ อุปกรณ์อิเล็กทรอนิกส์ ตู้เย็น IoT ฯลฯ"

"Java ไม่ใช่แค่ภาษา แต่เป็นระบบนิเวศชนิดหนึ่ง: โมดูลสำเร็จรูปนับล้านที่คุณสามารถใช้ในโปรแกรมของคุณ ชุมชนออนไลน์และกระดานข้อความนับพันที่คุณสามารถขอความช่วยเหลือหรือคำแนะนำได้"

"ยิ่งคุณเขียนโปรแกรมด้วย Java มากเท่าไหร่ คุณก็จะพบคำตอบมากขึ้นสำหรับคำถามที่ว่า 'ทำไมต้อง Java?' เพียงเท่านี้สำหรับวันนี้"

"ขอบคุณศาสตราจารย์ สิ่งนี้น่าสนใจและสร้างแรงบันดาลใจจริงๆ"