วันพุธที่ 24 มิถุนายน พ.ศ. 2558

Week 4 : โปรแกรมภาษา Java




                       มาถึงบทความที่ 4 ของวราปาก้าแล้วค่า ขอนำบทความภาษา Java ให้เพื่อนๆได้เข้าใจเกี่ยวกับภาษานี้มากขึ้นนะคะ ไปดูกันเลย!!!

                         ภาษาจาวา (Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของโครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ค่ะ  ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทภาษาซีพลัสลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak)ค่ะ  ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทนค่า


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


                         ซึ่งในการพัฒนาภาษาจาวานี้ มีจุดมุ่งหมายหลัก 4 ประการค่ะ 

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

                ทุกสิ่งทุกอย่างมีความเป็นมาหมดค่ะ แม้กระทั่งเจ้าภาษานี้


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


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




                           สำหรับการพัฒนาภาษา Java สามารถพัฒนา Application ได้หลากหลายรุปแบบมากค่ะ  อย่างเช่น Application ที่ทำงานบน Windows , Mac , Linux หรือบน Web Application (JSP Java Servlet) และที่กำลังมาแรงสุดในตอนนี้ก็คือ การพัฒนา Application บน Mobileนั้นเองค่า  ซึ่งในปัจจุบันสามารถพัฒนาได้บน Android และ BlackBerry และในอนาคตจะยังมีตามมาอีกหลายตัวแน่นอน ดังนั้นในภาษา Java จะมีรุ่นที่เป็น SDK อยู่หลายตัว เช่นเราอาจจะเคยได้ยินพวก J2SE , J2EE , J2ME หรือ SE , EE , ME เราอาจจะงงว่าทำไมมันถึงมีหลายตัว แต่ในความเป็นจริงแล้ว เป็นเพียงแค่รุ่นสำหรับการพัฒนาบน Platform ต่าง ๆ เช่น


  • J2SE ปัจจุบันเปลี่ยนชื่อเป็น SE (Standard Edition) ไว้สำหรับพัฒนาโปรแกรมบนคอมพิวเตอร์ตั้งโต๊ะทั่วไป
  • J2EE ปัจจุบันเปลี่ยนชื่อเป็น EE (Enterprise Edition) ไว้สำหรับพัฒนาโปรแกรมในองค์กรใหญ่ๆ หรือมีขอบเขตของโครงการกว้างมาก
  • J2ME ปัจจุบันเปลี่ยนชื่อเป็น ME ((Micro Edition) ไว้สำหรับพัฒนาโปรแกรมบนอุปกรณ์พกพา เช่น โทรศัพท์มือถือ หรือพีดีเอ


Java EE, SE , ME

เปรียบเทียบการพัฒนา Java ในรุ่นต่าง ๆ

      

                               ซึ่งปกติแล้วในการพัฒนา Application ด้วยภาษา Java ทั่ว ๆ ไปเราจะใช้รุ่น SE (Standard Edition) ก็จะมี JDK (Java Development Kit) ที่ประกอบไปด้วย compiler และ debugger ของภาษา Java สำหรับนักพัฒนา JRE (Java Runtime Environment) ซึ่งเป็นสิ่งที่รวม library ต่างๆสำหรับการรันโปรแกรมที่พัฒนาด้วย Java ซึ่งถ้าติดตั้ง JDK เพียงตัวเดียวก็จะมี JRE รวมอยู่ด้วย


Java Android


                             มีช่วงหนึ่งที่เจ้าของเนื้อหานี้ได้ทำงานรับผิดชอบเกี่ยวกับการพัฒนา App บน Mobile ของ Android ซึ่งในตอนแรกโจทย์ค่อนข้างจะยากสำหรับเขาค่ะ  แต่พอเขาได้ศึกษาจริง ๆ แล้ว การพัฒนา Android ด้วยภาษา Java นั้นง่ายมาก เพราะในโครงสร้างของภาษา Java เองก็เป็น Syntax ที่ง่าย ๆ สามารถเข้าใจได้อย่างรวดเร็ว และยิ่งถ้าได้เขียนพวก .NET แบบ C#มาแล้วก็จะรู้ว่าใน 2 ภาษานี้มีโครงสร้างที่เหมือนกันมาก และจะทำให้สามารถศึกษาได้อย่างรวดเร็ว


มาดูข้อดีและข้อเสียของภาษาจาวากันค่ะ 

ข้อดีของ ภาษา Java
     -  ภาษา 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 ต่าง ๆ


    ข้อเสียของ ภาษา Java
    -ทำงานได้ช้ากว่า native code (โปรแกรมที่ compile ให้อยู่ในรูปของภาษาเครื่อง) หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลาง ก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีก ทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่ compile  โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
    -tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้ ถ้าเราดู tool ของ MS จะใช้งานได้ง่ายกว่า และพัฒนาได้เร็วกว่า (แต่เราต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS)




        วาไรตี้ก็มีคลิปวีดิโอสอนเขียนโปรแกรมภาษาจาวามาฝากเพื่อนๆกันค่ะ








เจอกันใหม่นะคะ บ๊ายบายยย





















ขอขอบคุณข้อมูลดีๆจาก 

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

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