Java คืออะไร

         Java หรือ Java programming language คือภาษาโปรแกรมเชิงวัตถุ พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่บริษัท ซัน ไมโครซิสเต็มส์ ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แล้วภายหลังจึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน จุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-oriented programming Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้

         ภาษา Java เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ ( OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)

 

Java ใช้สำหรับอะไรได้บ้าง

เนื่องจาก Java เป็นภาษาที่ใช้งานได้ฟรีและใช้งานได้อย่างหลากหลาย จึงใช้สร้างซอฟต์แวร์ที่แปลเป็นภาษาท้องถิ่นและแบบกระจาย การใช้งาน Java โดยทั่วไปมีดังนี้:

1. การพัฒนาเกม

เกมมือถือ เกมคอมพิวเตอร์ และวิดีโอเกมยอดนิยมจำนวนมากสร้างขึ้นด้วย Java แม้แต่เกมสมัยใหม่ที่ใช้เทคโนโลยีขั้นสูง เช่น แมชชีนเลิร์นนิงหรือความจริงเสมือนต่างก็สร้างขึ้นด้วยเทคโนโลยี Java

2. การประมวลผลบนระบบคลาวด์

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

3. Big Data

Java ถูกนำไปใช้สำหรับกลไกการประมวลผลข้อมูลที่สามารถทำงานร่วมกับชุดข้อมูลที่ซับซ้อนและข้อมูลแบบเรียลไทม์จำนวนมหาศาลได้

4. ปัญญาประดิษฐ์

Java เป็นขุมพลังในการขับเคลื่อนไลบรารีแมชชีนเลิร์นนิง โดยความเสถียรและความเร็วทำให้ Java เหมาะสำหรับการพัฒนาแอปพลิเคชันปัญญาประดิษฐ์ เช่น การประมวลผลภาษาธรรมชาติและดีปเลิร์นนิง

5. อินเทอร์เน็ตในทุกสิ่ง

Java ถูกนำไปใช้เพื่อตั้งโปรแกรมเซนเซอร์และฮาร์ดแวร์ในอุปกรณ์ Edge ที่สามารถเชื่อมต่อกับอินเทอร์เน็ตได้อย่างอิสระ

 

Java ทำงานอย่างไร

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

1 ภาษา Java และ AP นี่คือการสื่อสารส่วนหน้าระหว่างนักพัฒนาและแพลตฟอร์ม Java

2 เครื่องเสมือนของ Java นี่คือการสื่อสารส่วนหลังระหว่างแพลตฟอร์ม Java และฮาร์ดแวร์พื้นฐาน ลองดูแต่ละรายการเหล่านี้โดยละเอียดด้านล่าง

Java API คืออะไร

          Java กำหนดไวยากรณ์และความหมายของภาษาการเขียนโปรแกรม Java ซึ่งรวมถึงคำศัพท์และกฎพื้นฐานที่ใช้เขียนอัลกอริธึม เช่น ประเภทข้อมูลพื้นฐาน บล็อก if/else ลูป ฯลฯ

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

โดยโค้ดแอปพลิเคชัน Java ใดๆ ที่เขียนขึ้นโดยนักพัฒนามักจะรวมโค้ดใหม่และโค้ดที่มีอยู่เดิมจาก Java API และไลบรารี Java เข้าด้วยกัน

เครื่องเสมือนของ Java คืออะไร

          เครื่องเสมือนของ Java ทำหน้าที่เป็นตัวแบ่งระดับชั้นสำหรับการจัดการเพิ่มเติมระหว่างแพลตฟอร์ม Java และฮาร์ดแวร์พื้นฐานของเครื่อง โดยซอร์สโค้ด Java สามารถทำงานได้บนคอมพิวเตอร์ที่ติดตั้ง JVM เท่านั้น ซึ่งสาเหตุที่ต้องใช้เครื่องเสมือนของ Java จะอยู่ในความเป็นมาของการเขียนโปรแกรม

วิธีการเขียนโปรแกรมใน Java มีอะไรบ้าง

หากต้องการเริ่มต้นเขียนโปรแกรมใน Java คุณต้องติดตั้ง Java Edition ในระบบก่อน Java ประกอบด้วย 4 รุ่นหลักดังนี้: 

  1. Java Standard Edition (Java SE)
  2. Java Enterprise Edition (Java EE)
  3. Java Micro Edition (Java ME)

Java SE คืออะไร

Java Standard Edition เป็นแพลตฟอร์มการเขียนโปรแกรม Java หลัก ซึ่งประกอบด้วยไลบรารีและ API ทั้งหมดที่โปรแกรมเมอร์ต้องการสำหรับการพัฒนา Java โดย Open Java Development Kit (OpenJDK) เป็นการนำ Java SE มาใช้ฟรีและเป็นแบบโอเพนซอร์ส

 

ข้อดีของ ภาษา Java

  • ภาษา Java เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุแบบสมบูรณ์ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อน การพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อ ต่าง ๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ ทำให้เข้าใจได้ง่ายขึ้น
        
  • โปรแกรมที่เขียนขึ้นโดยใช้ภาษา Java จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จําเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
        
  • ภาษาจาวามีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม และช่วยให้ debug โปรแกรมได้ง่าย
        
  • ภาษาจาวามีความซับซ้อนน้อยกว่าภาษา C++ เมื่อเปรียบเทียบ code ของโปรแกรมที่เขียนขึ้นโดยภาษา Java กับ C++ พบว่า โปรแกรมที่เขียนโดยภาษา Java จะมีจํานวน code น้อยกว่าโปรแกรมที่เขียนโดยภาษา C++ ทำให้ใช้งานได้ง่ายกว่าและลดความผิดพลาดได้มากขึ้น
        
  • ภาษาจาวาถูกออกแบบมาให้มีความปลอดภัยสูงตั้งแต่แรก ทำให้โปรแกรมที่เขียนขึ้นด้วยจาวามีความปลอดภัยมากกว่าโปรแกรมที่เขียนขึ้น ด้วยภาษาอื่น เพราะ Java มี security ทั้ง low level และ high level ได้แก่ electronic signature, public andprivate key management, access control และ certificatesของ
        
  • มี IDE, application server, และ library ต่าง ๆ มากมายสำหรับจาวาที่เราสามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย ทำให้เราสามารถลดค่าใช้จ่ายที่ต้องเสียไปกับการซื้อ tool และ s/w ต่าง ๆ
       

ข้อเสียของ ภาษา Java

  • ทำงานได้ช้ากว่า native code (โปรแกรมที่ compile ให้อยู่ในรูปของภาษาเครื่อง) หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลาง ก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีก ทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่ compile  โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
       
  • tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้ ถ้าเราดู tool ของ MS จะใช้งานได้ง่ายกว่า และพัฒนาได้เร็วกว่า (แต่เราต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS)
     

          โดยหลักของ Java มีความคล้ายใกล้เคียงกับภาษา C และ C++ อีกทั้งยังตัดความยากหรือความซับซ้อนต่าง ๆ ของภาษา C และ C++ โดยใช้หลักการของ Object-Oriented Programming มาแทนที่มากขึ้น จึงทำให้การพัฒนาในเรื่องของหน้าจอ ไม่ใช่เรื่องที่ยากที่จะใช้งาน โดยในการใช้งาน สามารถที่จะใช้ผ่านโปรเเกรมที่มีชื่อว่า  หรือก็คือ Java Development สามารถดูการพัฒนา Java Platformการพัฒนาโปรแกรมภาษาจาว่าบนเครื่อง Platform ต่างๆ