วันอังคารที่ 23 มิถุนายน พ.ศ. 2558

week4 : ภาษาคอมพิวเตอร์ JAVA


 

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

การโปรแกรมเชิงวัตถุ (OOP = Object-Oriented Programming)
    การเขียนโปรแกรมที่ประกอบด้วยกลุ่มของวัตถุ(Objects) แต่ละวัตถุจะจัดเป็นกลุ่มในรูปของคลาส ซึ่งแต่ละคลาสอาจมีคุณสมบัติ การปกป้อง (Encapsulation) การสืบทอด (Inheritance) การพ้องรูป (Polymorphism)
แนวคิดของการโปรแกรมเชิงวัตถุ (OOP Concepts)
    1. การปกป้อง (Encapsulation)
      การรวมกลุ่มของข้อมูล และกลุ่มของโปรแกรม เพื่อการปกป้อง และเลือกตอบสนอง
    2. การสืบทอด (Inheritance)
      ยอมให้นำไปใช้ หรือเขียนขึ้นมาทดแทนของเดิม
    3. การพ้องรูป (Polymorphism) = Many Shapes
      – Overloading มีชื่อโปรแกรมเดียวกัน แต่รายการตัวแปร (Parameter List) ต่างกัน
      – Overriding มีชื่อโปรแกรม และตัวแปรเหมือนกัน เพื่อเขียน behavior ขึ้นมาใหม่
 
ประวัติภาษา JAVA
    ภาษาจาวา เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาขึ้นโดย  “เจมส์ กอสลิง” และทีมวิศวกรของเขา ซึ่งบริษัทซันไมโครซิสเต็ม ต้องการนำภาษาจาวามาใช้แทนภาษา  C++  ชื่อของ “จาวา” มาจากชื่อกาแฟที่ทีมวิศวกรของซันดื่มตอนที่ร่วมกันพัฒนาภาษาจาวาขึ้นมา  Java  ถูกคิดค้นและสร้างโดย บริษัท Sun Microsystems ซึ่งเป็นบริษัทผู้ขายระบบ Unix ที่มีชื่อว่า Solaris ซึ่งจุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ พัฒนาขึ้นโดยทีมวิจัย ของ บริษัท ซันไมโครซิสเต็ม (Sun Microsystems)พัฒนามาจากโครงการที่ต้องการพัฒนาระบบซอฟต์แวร์เพื่อควบคุม เครื่องใช้ไฟฟ้าขนาดเล็กภายในบ้านชื่อเดิมคือภาษา Oak ต่อมาเปลี่ยนชื่อเป็นภาษาจาวาภาษาจาวาเริ่มเป็นที่นิยมแพร่หลายในปี ค.ศ. 1995ภาษาจาวาเป็นภาษาที่ไม่ขึ้นกับแพลตฟอร์ม(platform independent) JDK 1.0 ประกาศใช้เมื่อปี1996JDK เวอร์ชันปัจจุบันคือ Java 2
จุดมุ่งหมาย
 จุดมุ่งหมายหลัก 4 ประการ ในการพัฒนาจาวา คือ
1.      ใช้ภาษาโปรแกรมเชิงวัตถุ
2.      ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
3.      เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
4.      เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย
การพัฒนาการในช่วงเวลาต่าง ๆ
   ถูกพัฒนาตั้งแต่ปี 1991 โดยบริษัท Sun Microsystems ซึ่งเป็น ส่วนหนึ่งของ Green Project Write Once Run Anywhere
ค.ศ.1991
   บริษัท ซันไมโครซิสเต็ม (Sun Microsystems) ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคส์ขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ค.ศ.1993
   ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (Web Application) พร้อมกับสร้างเว็บเบราว์เซอร์ (Web Browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (Web Runner)
ค.ศ.1995
   บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่า ฮอตจาวา (HotJava) (WebRunner เดิม) ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM) บริษัทซัน ได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเทอร์เน็ต
รุ่นต่าง ๆ ของภาษาจาวา
   - 1.0 (ค.ศ. 1996) — ออกครั้งแรกสุด
   - 1.1 (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม inner class
   - 1.2 (4 ธันวาคม, ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
   - 1.3 (8 พฤษภาคม, ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย
   - 1.4 (13 กุมภาพันธ์, ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
   - 5.0 (29 กันยายน, ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics
   - 6.0 (11 ธันวาคม, ค.ศ. 2006)  รหัส Mustang เป็นรุ่นในการพัฒนาของ Java SDK 6.0 ที่ออกมาให้ทดลองใช้ในเดือนพฤศจิกายน ค.ศ. 2004
   - 7.0 (กำลังพัฒนา กำหนดออก ค.ศ. 2008) — รหัส Dolphin กำลังพัฒนา

รูปแบบของภาษา Java
    ภาษา Java เป็นภาษาที่ไม่กำหนดแบบการเขียนโปรแกรม ในแต่ละบรรทัด แต่ละบรรทัดสามารถเขียนคำสั่งได้หลายคำสั่งสามารถแทรกคำอธิบาย (comment) Java เป็นภาษาที่บังคับอักขระตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก (Case Sensitiv) Java มีตัวดำเนินการ(operators) หลายชนิด ให้ใช้งานนอกจากคำสั่งนั้นเป็นคำสั่งที่ผู้ใช้สร้างขึ้นมาใหม่ อาจกำหนดเป็นตัวพิมพ์ใหญ่หรือตัวเล็กก็ได้ และสามารถเขียนชุดคำสั่งที่ประกอบด้วยตัวดำเนินการหลายตัวที่ต่างชนิดกันใน ชุดคำสั่งหนึ่งๆได้ โดยภาษา Java จะจัดลำดับการประมวลผลตามลำดับการทำงานของตัวดำเนินการ
รูปแบบคำสั่ง(statements) Java คือ ส่วนประมวลผล(Execute) เพื่อให้ได้ผลลัพธ์ออกมา ทุกคำสั่งจะต้องจบด้วยเครื่องหมาย เซมิโคลอน( ; )


คุณลักษณะเด่นของภาษา Java

–  ภาษา Java เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุแบบสมบูรณ์
–  โปรแกรมที่เขียนขึ้นโดยใช้ภาษา Java จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จําเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
–  เมื่อเปรียบเทียบ code ของโปรแกรมที่เขียนขึ้นโดยภาษา Java กับ C++ พบว่า โปรแกรมที่เขียนโดยภาษา Java จะมีจํานวน code น้อยกว่าโปรแกรมที่เขียนโดยภาษา C++ ถึง 4 เท่า และใช้เวลาในการเขียนโปรแกรม น้อยกว่าประมาณ 2 เท่า
–  Java มี security ทั้ง low level และ high level ได้แก่ electronic signature, public andprivate key management, access control และ certificatesของภาษาจาวา
 
จุดเด่นของภาษาจาวา
–  ความง่าย (simple)
–  ภาษาเชิงออปเจ็ค (object oriented)
–  การกระจาย (distributed)
–  การป้องกันการผิดพลาด (robust)
–  ความปลอดภัย (secure)
–  สถาปัตยกรรมกลาง (architecture neutral)
–  เคลื่อนย้ายง่าย (portable)
–  อินเตอร์พรีต (interpreted)
–  ประสิทธิภาพสูง (high performance)
–  มัลติเธรด (multithreaded)
–  พลวัต (dynamic)

ข้อดี/ข้อเสีย
ข้อดี
1. Write Once, Run Anywhere คือเขียนครั้งเดียวรันได้ทุกที ทุกอุปกรณ์ที่รองรับการทำงานของภาษาจาวา (JRE)
2. Object Oriented คือ เป็นภาษาเชิงวัตถุรองรับการออกแบบเชิงวัตถุ และการเขียนเชิงวัตถุ
3. รองรับการพัฒนาโปรแกรมบนหลากหลาย Platform (J2SE, J2ME และ J2EE)
4. ความเรียบง่าย กล่าวคือ ภาษาจาวาเป็นภาษาที่ถูกออกแบบมาอย่างดี
5. มีความปลอดภัยสูง เข้มงวดในเรื่องของความผิดปกติของโปรแกรม
6. มี Class จำนวนมากมาย ทำให้ผู้เขียนโปรแกรมภาษาจาวาไม่จำเป็นจะต้องเขียนโปรแกรมนั้น ๆ หากมี Class ให้ใช้งานอยู่แล้ว
7. ฟรี ภาษาจาวา สามารถนำมาพัฒนา และติดตั้งได้ฟรี และไม่ใช่เฉพาะตัวภาษาเท่านั้น ตัว IDE ก็ยังฟรีอีกด้วย
8. ระบบจัดการคืนพื้นที่หน่วยความจำอัตโนมัติ (Automatic Garbage Collection) ช่วยให้โปรแกรมเมอร์ไม่ต้องกังวลในเรื่องของการคืนหน่วยความจำให้กับระบบ (ในกรณีปกติ แต่ไม่ทุกกรณี)
 
ข้อเสีย
1. ภาษาจาวา เป็นภาษาที่เรียนรู้ค่อนข้างยาก ถ้าเปรียบเทียบกับภาษาอื่น ๆ เช่น C, PHP และ VB เป็นต้น
2. ภาษาจาวา เป็นภาษาที่มีกฎเกณฑ์ที่ค่อนข้างเข้มงวด และมีคำศัพท์ต่างๆ มากมาย
3. ภาษาจาวา "อาจจะ" ไม่เหมาะกับการพัฒนาระบบงานที่ต้องการเสร็จได้ระยะเวลาอันสั้น หรือระบบงานขนาดเล็ก
4. ภาษาจาวา "อาจจะ" ไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม (บางท่านบอกว่าเรียนยาก และไม่ค่อยเห็นหน้าตาของโปรแกรมเหมือนภาษาอื่น ๆ จึงทำให้เบื่อในการเขียนโปรแกรม)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Credit;
 
 
 
 
 



2 ความคิดเห็น: