Week 4 โปรแกรมภาษาคอมพิวเตอร์
Java หรือ Java programming language คือภาษาโปรแกรมเชิงวัตถุ ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C)
Java หรือ Java programming language คือภาษาโปรแกรมเชิงวัตถุ ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C)
http://host103.hunsa.com/img2/load_cpic.php?fid=214445&mime=image/jpeg&ext=jpg
ภาษา
Java เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ
( OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส
ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ
(State) และรูปพรรณ (Identity) ประจำพฤติกรรม
(Behavior)
http://www.amplysoft.com/chmod777/knowledge/image/images/progLanguages.jpg
ข้อดี
– ภาษา
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 ต่าง ๆ
ข้อเสีย
-ทำงานได้ช้ากว่า
native code (โปรแกรมที่
compile ให้อยู่ในรูปของภาษาเครื่อง)
หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลาง
ก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีก
ทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่
compile โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
-tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง
ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้
ถ้าเราดู tool ของ
MS จะใช้งานได้ง่ายกว่า
และพัฒนาได้เร็วกว่า (แต่เราต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS)
http://happyeverytime.exteen.com/images/Programming/Java/java_2.jpg
แนวคิดของการโปรแกรมเชิงวัตถุ
1. การปกป้อง
(Encapsulation)
– การรวมกลุ่มของข้อมูล
และกลุ่มของโปรแกรม เพื่อการปกป้อง และเลือกตอบสนอง
2. การสืบทอด
(Inheritance)
– ยอมให้นำไปใช้
หรือเขียนขึ้นมาทดแทนของเดิม
3. การพ้องรูป
(Polymorphism) = Many
Shapes
– Overloading
มีชื่อโปรแกรมเดียวกัน แต่รายการตัวแปร (Parameter List) ต่างกัน
– Overriding
มีชื่อโปรแกรม และตัวแปรเหมือนกัน เพื่อเขียน behavior ขึ้นมาใหม่
อยากรู้ข้อมูลเพิ่มเติมดูได้ใน Credit
Credit : https://nongtha57.wordpress.com/