วันศุกร์ที่ 19 มิถุนายน พ.ศ. 2558

COMWORK:WEEK4

::โปรแกรมภาษาคอม(Java)::


ภาษาจาวา (Java) หรือ Java programming language คือ ภาษาคอมพิวเตอร์เชิงวัตถุ (Object Oriented) ที่มอง คิด ออกแบบ และเขียนโปรแกรมในลักษณะของเชิงวัตถุทั้งหมด โดยผู้ให้กำเนิดภาษาจาวาก็คือ เจมส์ กอสลิ่ง (James Gosling) โดยจริง ๆ แล้วภาษาจาวานั้นเดิมมีชื่อว่า ภาษาโอ๊ค (Oak)ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แล้วภายหลังจึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน ซึ่งเป็นภาษาที่ถูกออกแบบมาให้ทดแทนการทำงานของภาษา C++ เพราะตอนนั้น กอสลิ่ง มองเห็นว่าภาษา C++ ไม่เหมาะกับอุปกรณ์อิเล็กทรอนิกส์ เนื่องจากมีการใช้หน่วยความจำที่มาก และ มีการทำงานที่ค่อนข้างช้า โปรแกรมต่าง ๆ ถูกสร้างภายใน class โปรแกรมเหล่านั้นถูกเรียกว่า method หรือ behavior โดยปกติจะเรียกแต่ละ class ว่า object โดยแต่ละ object มีพฤติกรรมมากมาย โปรแกรมที่สมบูรณ์จะเกิดจากหลาย object หรือหลาย class มารวมกัน โดยแต่ละ class จะมี method หรือ behavior แตกต่างกันไป
                                                      


แล้ว Object-Oriented Programming คืออะไร?

การเขียนโปรแกรมเชิงวัตถุ ( Object-oriented programming, OOP) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป


จุดมุ่งหมายหลัก 4 ประการ ในการพัฒนาจาวา คือ
  1. ใช้ภาษาโปรแกรมเชิงวัตถุ
  2. ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
  3. เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
  4. เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย

 โปรแกรมที่ถูกพัฒนาด้วยภาษา Java ถูกแบ่งเป็นสองประเภทหลัก ๆ คือ
 
1.Java Application – โปรแกรม Java ทั่ว ๆ ไปที่ทำงานได้ด้วยตัวของมันเอง (Stand Alone Application)
2. Java Applet – โปรแกรม Java ที่ถูกนำไปใช้บน Internet เท่านั้น


ประวัติความเป็นมา

   Java ถูกพัฒนาในปี 1991 โดยบริษัท Sun Microsystems ที่รู้จักกันดีในปัจจุบัน โดยเป็นส่วนหนึ่งของ Green Project ซึ่งเป็นการทำวิจัยสำหรับการพัฒนาซอฟแวร์เพื่อควบคุมเครื่องใช้ไฟฟ้าต่าง ๆ ในบ้าน กลุ่มนักวิจัยเชื่อว่าผลสำเร็จของการวิจัยนี้จะนำไปสู่การพัฒนาโปรแกรมภาษาที่มีความสามารถ และประสิทธิภาพสูงสุดในได้อนาคต 
 โดยเริ่มแรกในการวิจัยพัฒนาโปรแกรมภาษาดังกล่าว C++ ถูกเลือกใช้ให้เป็นภาษาหลักในการพัฒนา เนื่องจากมีความเป็น OOP อยู่แล้วในตัว แต่แล้วกลุ่มนักวิจัยก็พบว่า C++ มีปัญหาและความไม่เหมาะสมต่าง ๆ มากมาย อาทิเช่น เรื่องของหน่วยความจำที่อาจจะมีเพียงน้อยนิด หรือ ไม่มีเลยในกลุ่มของอุปกรณ์เครื่องใช้ไฟฟ้าขนาดเล็ก ไม่พอกับที่ C++ ต้องการ, เรื่องของระบบปฏิบัติการที่ไม่มีในเครื่องใช้เหล่านี้ หรือไม่ว่าจะเป็นความไม่รัดกุมของภาษาเอง ดังนั้นหนึ่งในกลุ่มนักวิจัย James Gosling ได้คิดค้นภาษาใหม่ขึ้นมาเพื่อใช้สำหรับการพัฒนาครั้งนี้โดยเฉพาะ ซึ่งมีความเป็น OOP, ไม่ขึ้นกับระบบปฏิบัติการ และมีการจัดการเรื่องของหน่วยความจำได้ดี เหมาะสมสำหรับการวิจัยครั้งนี้แล้วให้ชื่อว่า OAK
  ภายหลังจากการพัฒนาภาษา OAK ได้สำเร็จ บริษัท Sun ได้นำไปใช้กับบริษัทลูกค้าที่ต้องการพัฒนา Interactive TV ซึ่งเป็นการติดตั้งโปรแกรมลงไปที่กล่องสัญญาณ แล้วต่อพ่วงไปยัง TV เพื่อใช้เป็นตัวควบคุม และติดต่อกับผู้ใช้ แต่โครงการนี้ได้ยุบไปก่อนที่จะพัฒนาสำเร็จ OAK จึงไม่ได้เป็นที่แพร่หลาย OAK จึงถูกเก็บเอาไว้ในคลังการวิจัยของ Sun
            ต่อมาไม่นาน เมื่อการ Internet และ HTML มีการพัฒนา และเป็นที่นิยมมากขึ้น Sun จึงเล็งการไกลถึงการพัฒนา Internet Application ก็เลยนำ OAK ขึ้นมาแก้ไขปรับปรุงให้เข้ากับสถานการณ์ปัจจุบันอีกครั้ง แล้วเปลี่ยนชื่อเสียใหม่เป็น Java ตั้งแต่นั้นเป็นต้นมา

            ปัจจุบัน Java มีการพัฒนาออกมารวม ๆ แล้ว 3 เวอร์ชันหลัก ๆ ด้วยกันดังนี้
        Java 1.0 – เวอร์ชันแรกที่ยังคงสนับสนุนโดย Browser ทั่วไป
        Java 1.1 – ถูกพัฒนาเพิ่มเติมในเรื่องของ หน้าจอ และ event handling
        Java 2 – ล่าสุดที่ออกเวอร์ชันเป็นทดสอบในนาม Java 1.2 และ เสร็จสมบูรณ์ในปี 1998

                                   
รูปแบบของภาษา Java

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



ข้อดี? ข้อเสีย?

ข้อดี
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:
http://www.amplysoft.com/knowledge/Java%20%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%A7%E0%B8%B2%20%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3%20%E0%B8%A1%E0%B8%B2%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%81%E0%B8%B1%E0%B8%99.html
http://www.mindphp.com/%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
https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%A7%E0%B8%B2
https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B9%80%E0%B8%8A%E0%B8%B4%E0%B8%87%E0%B8%A7%E0%B8%B1%E0%B8%95%E0%B8%96%E0%B8%B8
https://www.ozassignmenthelp.com.au/java-programming/
https://nongtha57.wordpress.com/%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%A1%E0%B8%B2-java/

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

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