หัวข้อที่ 1


ประวัติความเป็นมาของ ภาษา JAVA

ภาษาใหม่ที่มาแรงที่สุดในปัจจุบัน คงจะไม่มีภาษาไหนที่เทียบได้รับภาษาจาวาซึ่งได้รับการพัฒนาขึ้นโดยบริษัทซัน ไมโครซิสเตมส์ ในปี 1991 โดยมีเป้าหมายที่จะสร้างผลิตภัณฑ์อิเล็คทรอนิกส์สำหรับผู้บริโภคที่ง่ายต่อ การใช้ง่าย มีค่าใช้จ่ายต่ำ ไม่มีข้อผิดพลาด และสามารถใช้กับเครื่องใด ๆ ก็ได้ ซึ่งสิ่งเหล่านี้ก็ได้กลายเป็นข้อดีของจาวาที่เหนื่อกว่าภาษาอื่น ๆ โดยเฉพาะอย่างยิ่ง การที่โปรแกรมซึ่งเขียนขึ้นด้วยจาวาสามารถนำไปใช้กับเครื่องต่าง ๆ โดยไม่ต้องทำการคอมไพล์โปรแกรมใหม่ ทำให้ไม่จำกัดอยู่กับเครื่องหรือโอเอสตัวใดตัวหนึ่ง แม้ว่าการใช้งานจาวาในช่วงแรกจะจำกัดอยู่กับ World Wide Web (WWW) และ Internet แต่ในปัจจุบันได้มีการนำจาวาไปประยุกต์ใช้กับงานด้านซอฟต์แวร์ต่าง ๆ อย่างมากมาย ตั้งแต่ซอฟต์แวร์อรรถประโยชน์ (Utility) ไปจนกระทั่งซอฟต์แวร์ขนาดใหญ่ เช่น โปรแกรมชุดจากบริษัท Corel ซึ่งประกอบด้วยโปรแกรมหลัก ๆ คือ โปรแกรมเวิร์โปรเซสซิ่ง สเปรดซีต พรีเซนเตชั่น ที่เขียนขึ้นด้วยจาวาทั้งหมด

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


ผู้คิดต้นแบบ คือ James Gosling และคณะ จากบริษัท Sun Microsystems
วัตถุประสงค์เดิม คือ ของ จาวาคือใช้สำหรับการเขียนโปรแกรมเพื่อฝังตัวในอุปกรณ์อิเล็กทรอนิกส์
ผล คือ ภาษาสำหรับเขียนโปรแกรม (Application Programming) ซึ่งเป็นลักษณะของโปรแกรมเชิงวัตถุ (Object Oriented Programming) ซึ่งสามารถใช้งานบนเว็บได้ด้วย
การพัฒนาการในช่วงเวลาต่าง ๆ

่ปี 1991 ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ปี 1993 ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (web application) พร้อมกับสร้างเว็บเบราว์เซอร์ (web browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (WebRunner)
ปี 1995
- บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่า ฮอตจาวา (HotJava) (WebRunner เดิม)
- ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM)
- บริษัทซันได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเตอร์เน็ต

ความหมายของภาษา Java



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


คุณลักษณะคือ
            - โปรแกรมมีขนาดเล็กในระบบเครือข่าย การคอมไพล์จะแปลงโปรแกรมเป็น Java bytecode ซึ่งสามารถเรียกใช้งานได้ทุกที่ภายในเครือข่าย Java virtual machine เป็นตัวแปร bytecode ให้เป็นโปรแกรมเพื่อใช้งานบนเครื่องคอมพิวเตอร์ มีความหมายว่า platform ที่แตกต่างกันของคอมพิวเตอร์ สามารถใช้โปรแกรมนี้ได้
            - คำสั่งเป็นแบบ "Robust" มีความหมายว่า อ็อบเจคของ Java ไม่มีการอ้างอิงข้อมูล หรืออ็อบเจคจากภายนอกซึ่งแตกต่างจาก C++ และภาษาอื่น ๆ เป็นการทำให้มั่นใจไม่มีการเก็บตำแหน่งของข้อมูล ในโปรแกรมประยุกต์อื่น หรือในระบบปฏิบัติการที่ทำให้โปรแกรมไม่ทำงาน Java virtual machine ทำการตรวจสอบแต่ละอ็อบเจคที่ใช้ในโปรแกรม
            - Java เป็นเหมือนกับอ็อบเจคหนึ่ง สามารถได้รับประโยชน์จาก class หรือคำสั่ง เนื่องจากอ็อบเจคมีคุณสมบัติเป็น "นาม" ซึ่งทำให้ติดต่อกับผู้ใช้ได้ ในขณะนี้ภาษาดั้งเดิมมีคุณสมบัติเป็น "กริยา" ดังนั้น method จะได้การรับรู้เป็นความสามารถของอ็อบเจคหรือพฤติกรรม
            - การประมวลผลทำที่เครื่องลูกข่าย ดังนั้น Java applet มีคุณลักษณะในการออกแบบให้ทำงานได้เร็ว
            - Java ง่ายกว่า C++ โดยเปรียบเทียบ
Java ได้รับการแนะนำโดย Sun Microsystems ในปี 1995 และทำให้เกิดทัศนคติการตอบสนองของเว็บ ทำให้ web browser รายหลักได้รวม Java virtual machine เป็นส่วนหนึ่งของ browser ผู้พัฒนาระบบปฏิบัติเกือบทั้งหมดได้ร่วม Java complier เป็นส่วนหนึ่งของผลิตภัณฑ์
Java virtual machine รวมถึงตัวเลือกคือ Just-in-time complier ซึ่งเป็น complier แบบไดนามิคในการคอมไพล์ byte code เป็นคำสั่งที่ประมวลผลได้ เป็นตัวเลือกในการแปร bytecode ในหลาย ๆ กรณี dynamic JIT สามารถคอมไพล์ได้เรียกว่าการแปรของ Java virtual machine
JavaScript เป็นภาษาที่พัฒนาโดย Netscape ซึ่งเป็นตัวแปร (Interpreter) ภาษาระดับสูงและง่ายกว่าการเขียนด้วย Java แต่ขาดความกะทัดรัดเหมือน Java และความเร็วไม่มาก
เนื่องจาก Java applet สามารถใช้งานได้รับเกือบทุกระบบปฏิบัติการ โดยไม่ต้องคอมไพล์ใหม่และ Java ไม่ใช้ส่วนขยายของระบบปฏิบัติการหรือตัวแปร ดังนั้น Java จึงได้รับพิจารณาเป็นภาษาหลักในการพัฒนาการประยุกต์บนเว็บ
หัวข้อหลัก 4 ประการ คือ
1. ใช้ภาษาโปรแกรมเชิงวัตถุ
2.ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
3.เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
4.เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย
ภาษา Java
Java เป็นภาษาสำหรับเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) สามารถใช้งานบน Internet โดยโปรแกรมเมอร์เขียนโปรแกรมครั้งเดียวสามารถทำงานได้ทุกแพลทฟอร์ม
คุณสมบัติของโปรแกรมเชิงวัตถุ ประกอบด้วย
      ความสามารถในการสืบทอด (Inheritance) เป็นการสืบทอดคุณสมบัติของคลาส โดยสร้างคลาสหลักซึ่งมีคุณสมบัติต่าง ๆ โดยรวมที่คลาสอื่นจำเป็นต้องมี จากนั้นจึงสร้างคลาสอื่นขึ้นมา เพื่อรับการถ่ายทอดคุณสมบัติทั้งหมดจากคลาสหลักโดยอัตโนมัติ โดยไม่ต้องสร้างขึ้นใหม่ และสามารถสร้างคุณสมบัติอื่น ๆ นอกจากคลาสหลักขึ้นได้
       ความสามารถในการเก็บซ่อน (Encapsulation) เป็น การซ่อนส่วนของการทำงานภายในที่ไม่เกี่ยวข้องกับภายนอกไว้โดยผ่านคลาส เพื่อไม่ให้ผู้นำคลาสไปใช้เห็น หรือทราบรายละเอียดขั้นตอนการทำงานของคลาส เพื่อไม่ให้มี การแก้ไขเปลี่ยนแปลงส่วนที่ซ่อนไว้ ผู้นำคลาสไปใช้จะดัดแปลงได้เฉพาะส่วนที่อนุญาตเท่านั้น
        ความสามารถในการแปลงร่าง (Polymorphism)
ไม่จำเป็นต้องสืบทอดคุณสมบัติทุกอย่างเสมอไป เนื่องจากการแก้ไขลำดับการทำงานของฟังก์ชันเดิม ทำให้เสียเวลาในการตามแก้ไข ทางที่ดี คือ อนุญาตให้มีการเขียนชุดคำสั่งใหม่ภายใต้ชื่อฟังก์ชันเดิมที่มี ตัวอย่างเช่น การ Save To File ของ Memo จะได้ Text File ที่เก็บข้อความนั้น ขณะที่ Save To File ของ Image จะได้ไฟล์รูปภาพ
         ความสามารถในการจัดโครงสร้างแบบเชิงนาม (Abstract)
ข้อมูลแบบเชิงนาม คือ ข้อมูลหรือกระบวนการที่ยังไม่เกิดขึ้น การสร้างคลาสแบบเชิงนามเป็นวิธีหนึ่งที่ช่วยไม่ให้การพัฒนาระบบงานต้องหยุดชะงัก เนื่องจากข้อมูลอาจจะยังไม่เกิด หรือยังไม่สามารถอธิบายได้ว่า ขั้นตอนการทำงานจะเป็นอย่างไร
ข้อดีของ Java
       โปร แกรมจาวาที่เขียนขึ้นสามารถทำงานได้หลาย platform โดยไม่จำเป็นต้องแก้ไขหรือ compile ใหม่ ทำให้ช่วยลดค่าใช้จ่ายและเวลาที่ต้องเสียไปในการ port หรือทำให้โปรแกรมใช้งานได้หลาย platform
         ภา ษาจาวาเป็นภาษาเชิงวัตถุ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อน การพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อ ต่าง ๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ ทำให้เข้าใจได้ง่ายขึ้น
        ภาษาจาวามีความซับซ้อนน้อยกว่าภาษา C++ ทำให้ใช้งานได้ง่ายกว่าและลดความผิดพลาดได้มากขึ้น
        ภา ษาจาวามีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม และช่วยให้ debug โปรแกรมได้ง่าย
        ภาษาจาวาถูกออก แบบมาให้มีความปลอดภัยสูงตั้งแต่แรก ทำให้โปรแกรมที่เขียนขึ้นด้วยจาวามีความปลอดภัยมากกว่าโปรแกรมที่เขียนขึ้น ด้วยภา ษาอื่น
มี     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)


อ้างอิงมาจาก
%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2185-java-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html
http://www.thaiblogonline.com/boongpig.blog?PostID=13211









ไม่มีความคิดเห็น:

แสดงความคิดเห็น