ภาษาใหม่ที่มาแรงที่สุดในปัจจุบัน คงจะไม่มีภาษาไหนที่เทียบได้รับภาษาจาวาซึ่งได้รับการพัฒนาขึ้นโดยบริษัทซันไมโครซิสเตมส์ ในปี 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) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเตอร์เน็ต
ชุดคำสั่งที่ผู้ใช้งานเขียนขึ้นเพื่อให้เครื่องคำนวณ (Computer) ทำงานตามลำดับขั้นตอนที่ผู้ใช้ต้องการ
ชุดคำสั่งหรือภาษาเขียนที่ใกล้เคียงกับการทำงานของ เครื่องคอมพิวเตอร์มากที่สุด คือ ภาษาเครื่อง (Machine Language)
ภาษาระดับสูง (High Level Language) ที่ใกล้เคียงกับภาษาที่มนุษย์ใช้ในชีวิตประจำวัน ได้แก่ Assembly, COBOL, Pascal, C, C++, Java ฯลฯ ซึ่งในแต่ละภาษาต้องมีตัวแปลภาษา (Translator) เพื่อแปลงชุดคำสั่งเป็นภาษาเครื่องอีกรอบหนึ่ง
ตัวแปลภาษาดังกล่าวมี 2 สองประเภท คือ คอมไพเลอร์ (Compiler)และอินเตอร์พรีเตอร์ (Interpreter)
การพัฒนาการในช่วงเวลาต่าง ๆ
่ปี 1991 ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ปี 1993 ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (web application) พร้อมกับสร้างเว็บเบราว์เซอร์ (web browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (WebRunner)
ปี 1995
- บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่าฮอตจาวา (HotJava) (WebRunner เดิม)
- ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM)
- บริษัทซันได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเตอร์เน็ต
ชุดคำสั่งที่ผู้ใช้งานเขียนขึ้นเพื่อให้เครื่องคำนวณ (Computer) ทำงานตามลำดับขั้นตอนที่ผู้ใช้ต้องการ
ชุดคำสั่งหรือภาษาเขียนที่ใกล้เคียงกับการทำงานของ เครื่องคอมพิวเตอร์มากที่สุด คือ ภาษาเครื่อง (Machine Language)
ภาษาระดับสูง (High Level Language) ที่ใกล้เคียงกับภาษาที่มนุษย์ใช้ในชีวิตประจำวัน ได้แก่ Assembly, COBOL, Pascal, C, C++, Java ฯลฯ ซึ่งในแต่ละภาษาต้องมีตัวแปลภาษา (Translator) เพื่อแปลงชุดคำสั่งเป็นภาษาเครื่องอีกรอบหนึ่ง
ตัวแปลภาษาดังกล่าวมี 2 สองประเภท คือ คอมไพเลอร์ (Compiler)และอินเตอร์พรีเตอร์ (Interpreter)
ภาษาเชิงกระบวนคำสั่ง (Procedural Programming) กำหนดตัวแปร (Variable) เพื่อจองเนื้อที่ในหน่วยความจำและเตรียมเนื้อที่ในการจัดเก็บข้อมูล เขียนขั้นตอนตามลำดับ เพื่อสั่งให้คอมพิวเตอร์ทำงานตามที่กำหนด ซึ่งลำดับในการทำงานจะมีการจัดหมวดหมู่ใน การทำงาน เพื่อให้ได้ผลลัพธ์ที่ต้องการนำมารวมในหมู่เดียวกัน โดยอาจส่งค่าตัวแปรไปให้และส่งข้อมูลคืนเมื่อ การคำนวณเรียบร้อย พัฒนาการของภาษาจาวา ปลายปี ค.ศ. 1995 ผู้คิดต้นแบบ คือ James Gosling และคณะ จากบริษัท Sun Microsystems วัตถุประสงค์เดิม คือ Oak สำหรับการเขียนโปรแกรมเพื่อฝังตัวในอุปกรณ์อิเล็กทรอนิกส์ ผล คือ ภาษาสำหรับเขียนโปรแกรม (Application Programming) ซึ่งเป็นลักษณะของโปรแกรมเชิงวัตถุ (Object Oriented Programming) ซึ่งสามารถใช้งานบนเว็บได้ด้วย Java 2 SDK Standard Edition หรือ J2SDK ประกอบด้วย features ต่าง ๆ Class Libraries หรือที่เรียกว่า Application Programmer Interfaces หรือ APIs การเขียนโปรแกรมเชิงวัตถุ (Objected Oriented Programming) ผู้พัฒนาต้องมีวิสัยทัศน์เชิงวัตถุ เพื่อหาความต่างของวัตถุแต่ละอย่างหรือคุณลักษณะประจำ (Attribute) ออกมา ขณะเดียวกันต้องพิจารณาพฤติกรรม (Method) ของวัตถุ และนำมาเขียนเป็นคลาส (Class) คลาสจะเป็นแม่แบบหรือพิมพ์เขียวใน การสร้างวัตถุ (Object) หรือ Instance ให้เกิดขึ้นและมีชีวิตในระบบ โดย Object ที่สร้างจะมีรายละเอียดที่ต่างกันไป ตัวอย่าง คลาสของรถ ตัวแปรหรือคุณลักษณะที่ใช้อธิบาย ความต่างของรถแต่ละคัน คือ ยี่ห้อ เช่น โตโยต้า, ฮอนด้า, นิสสัน เป็นต้น สีของรถ หรือจำนวนคนที่สามารถโดยสารได้ ก็เป็นอีกตัวแปรหนึ่งที่ใช้อธิบายความต่างของรถ เป็นต้น ส่วนพฤติกรรมของรถ เช่น การขับเคลื่อนไปข้างหน้า ถอยหลัง หรือหยุด เป็นต้น จะถูกรวบรวมเป็นเสมือนพิมพ์เขียวในการผลิตรถ โดยรถแต่ละคันที่ผลิตออกมาเรียกว่าเป็น Instance ซึ่งจะมีลักษณะประจำ (Attribute) และพฤติกรรม (Method) หลักที่สนับสนุนการโปรแกรมเชิงวัตถุ ความสามารถในการสืบทอด (Inheritance) เป็นการสืบทอดคุณสมบัติของคลาส โดยสร้างคลาสหลักซึ่งมีคุณสมบัติต่าง ๆ โดยรวมที่คลาสอื่นจำเป็นต้องมี จากนั้นจึงสร้างคลาสอื่นขึ้นมา เพื่อรับการถ่ายทอดคุณสมบัติทั้งหมดจากคลาสหลักโดยอัตโนมัติ โดยไม่ต้องสร้างขึ้นใหม่ และสามารถสร้างคุณสมบัติอื่น ๆ นอกจากคลาสหลักขึ้นได้ ความสามารถในการเก็บซ่อน (Encapsulation) เป็น การซ่อนส่วนของการทำงานภายในที่ไม่เกี่ยวข้องกับภายนอกไว้โดยผ่านคลาส เพื่อไม่ให้ผู้นำคลาสไปใช้เห็น หรือทราบรายละเอียดขั้นตอนการทำงานของคลาส เพื่อไม่ให้มี การแก้ไขเปลี่ยนแปลงส่วนที่ซ่อนไว้ ผู้นำคลาสไปใช้จะดัดแปลงได้เฉพาะส่วนที่อนุญาตเท่านั้น ความสามารถในการแปลงร่าง (Polymorphism) ไม่จำเป็นต้องสืบทอดคุณสมบัติทุกอย่างเสมอไป เนื่องจากการแก้ไขลำดับการทำงานของฟังก์ชันเดิม ทำให้เสียเวลาในการตามแก้ไข ทางที่ดี คือ อนุญาตให้มีการเขียนชุดคำสั่งใหม่ภายใต้ชื่อฟังก์ชันเดิมที่มี ตัวอย่างเช่น การ Save To File ของ Memo จะได้ Text File ที่เก็บข้อความนั้น ขณะที่ Save To File ของ Image จะได้ไฟล์รูปภาพ ความสามารถในการจัดโครงสร้างแบบเชิงนาม (Abstract) ข้อมูลแบบเชิงนาม คือ ข้อมูลหรือกระบวนการที่ยังไม่เกิดขึ้น การสร้างคลาสแบบเชิงนามเป็นวิธีหนึ่งที่ช่วยไม่ให้การพัฒนาระบบงานต้องหยุดชะงัก เนื่องจากข้อมูลอาจจะยังไม่เกิด หรือยังไม่สามารถอธิบายได้ว่า ขั้นตอนการทำงานจะเป็นอย่างไร ข้อดีของการพัฒนาโปรแกรมด้วยจาวา ง่าย เนื่องจากเลียนแบบภาษา C/C++ ไม่มีคำสั่ง GOTO และ pointer เป็นภาษาเชิงวัตถุที่สมบูรณ์ Automatic type coercion มีการป้องกันการผิดพลาด (Robust) การกำจัดสิ่งที่ไม่ใช้ (Garbage Collection) แบบอัตโนมัติ และการจัดการความผิดพลาด (Exception Handling) แบบอัตโนมัติ Strongly typed => type checking => type casting มีความปลอดภัยในการที่จะประมวลผล (Secure) โดยไม่ทำลายทรัพยากรของเครื่อง :- sandbox model Multithread ใน java.lang :- ความสามารถในการประมวลผลหลายงานพร้อมกัน Architecture neutral and portable :- สามารถเคลื่อนย้ายได้ง่าย รวมทั้งใช้งานในสภาวะแวดล้อมที่ต่างกัน และใช้กับคอมพิวเตอร์ได้ทุกระบบ (Multi Platform) โดยไม่ต้องปรับแต่ง การเชื่อมโยงแบบพลวัต (Dynamic Link) และการประมวลผลแบบกระจาย (Distributed) ในระบบเครือข่าย
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น