ภาษาจาวา
ภาษาจาวา (อังกฤษ: Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (อังกฤษ: Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน
และแม้ว่าจะมีชื่อคล้ายกัน แต่ภาษาจาวาไม่มีความเกี่ยวข้องใด ๆ กับภาษาจาวาสคริปต์ (JavaScript) ปัจจุบันมาตรฐานของภาษาจาวาดูแลโดย Java Community Process ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในจาวาแพลตฟอร์มได้
จุดมุ่งหมาย
[แก้ไข | แก้ไขต้นฉบับ]จุดมุ่งหมายหลัก 4 ประการ ในการพัฒนาจาวา คือ
- ใช้ภาษาโปรแกรมเชิงวัตถุ
- ไม่ขึ้นกับแพลตฟอร์ม (สถาปัตยกรรม และ ระบบปฏิบัติการ)
- เหมาะกับการใช้ในระบบเครือข่าย พร้อมมีไลบรารีสนับสนุน
- เรียกใช้งานจากระยะไกลได้อย่างปลอดภัย
จาวาแพลตฟอร์ม และ ภาษาจาวา
[แก้ไข | แก้ไขต้นฉบับ]เนื่องจากชื่อที่เหมือนกัน และการเรียกขานที่มักจะพูดถึงพร้อมกันบ่อยๆ ทำให้คนทั่วไป มักสับสนว่า ภาษาจาวา และ จาวาแพลตฟอร์ม เป็นสิ่งเดียวกัน
ในความเป็นจริงนั้น ทั้งสองสิ่ง แม้จะทำงานเสริมกัน แต่ก็เป็นสิ่งที่แยกออกจากกัน
โดย ภาษาจาวานั้น คือภาษาสำหรับใช้เขียนโปรแกรมภาษาหนึ่ง ดังที่ได้อธิบายไปข้างต้น ส่วน จาวาแพลตฟอร์มนั้น คือสภาพแวดล้อมสำหรับการใช้งานโปรแกรมจาวา โดยมีองค์ประกอบหลักคือ จาวาเวอร์ชวลแมชีน (Java virtual machine) และ ไลบรารีมาตรฐานจาวา (Java standard library)
โปรแกรมที่ทำงานบนจาวาแพลตฟอร์มนั้น ไม่จำเป็นจะต้องสร้างด้วยภาษาจาวา เช่น อาจจะใช้ ภาษาไพทอน (Python) หรือ ภาษาอื่นๆ ก็ได้
ส่วนภาษาจาวานั้น ก็สามารถนำไปใช้พัฒนาโปรแกรมสำหรับแพลตฟอร์มอื่นได้เช่นเดียวกัน เช่น คอมไพเลอร์ gcj สามารถคอมไพล์โปรแกรมที่เขียนด้วยภาษาจาวา ให้ทำงานได้ โดยไม่ต้องใช้ จาวาเวอร์ชวลแมชีน
ประวัติ
[แก้ไข | แก้ไขต้นฉบับ]รุ่นต่าง ๆ ของภาษาจาวา
[แก้ไข | แก้ไขต้นฉบับ]- 1.0 (ค.ศ. 1996) — ออกครั้งแรกสุด
- 1.1 (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม inner class
- 1.2 (4 ธันวาคม, ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า "จาวา 2" แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
- 1.3 (8 พฤษภาคม, ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย
- 1.4 (13 กุมภาพันธ์, ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
- 5.0 (29 กันยายน, ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics
- 6.0 (11 ธันวาคม, ค.ศ. 2006) [1] — รหัส Mustang เป็นรุ่นในการพัฒนาของ Java SDK 6.0 ที่ออกมาให้ทดลองใช้ในเดือนพฤศจิกายน ค.ศ. 2004
- 7.0 (กำลังพัฒนา กำหนดออก ค.ศ. 2008) — รหัส Dolphin กำลังพัฒนา [2]
ตัวอย่าง
[แก้ไข | แก้ไขต้นฉบับ]// ประกาศ class
public class MyClass
{
// ประกาศ Method ชื่อ main เพราะ java จะเรียกหา Method main เป็น Method แรก
public static void main(String[] args)
{
System.out.println("Hello World!"); // แสดงข้อความว่า Hello World!
}
}
ซอฟต์แวร์ที่เกี่ยวข้อง
[แก้ไข | แก้ไขต้นฉบับ]รายชื่อของซอฟต์แวร์เสรีที่เกี่ยวข้องกับจาวา
คอมไพเลอร์และเวอร์ชวลแมชีน
[แก้ไข | แก้ไขต้นฉบับ]- JDK คอมไพเลอร์มาตรฐานของซัน ไมโครซิสเต็มส์
- GCJ คอมไพเลอร์ภาษาจาวาของโครงการ GCC หรือ GNU Compiler Collection
- Jikes คอมไพเลอร์ที่เดิมพัฒนาโดยไอบีเอ็ม
- GNU Classpath ชุดไลบรารีสำหรับจาวาแพลตฟอร์ม โอเพนซอร์ส
- Kaffe
- SableVM
- IKVM คอมไพเลอร์ภาษาจาวาบน .NET แพลตฟอร์ม
- SuperWaba
- JRockit JDK พัฒนาโดย บีอีเอ ซิสเต็มส์
สภาพแวดล้อมสำหรับการพัฒนา (IDE)
[แก้ไข | แก้ไขต้นฉบับ]- BlueJ เป็น IDE ที่เหมาะกับการศึกษา โดยเน้นที่แนวคิดเรื่องการเขียนโปรแกรมเชิงวัตถุ
- ฺBorland JBuilder
- Eclipse โอเพนซอร์ส
- IntelliJ IDEA
- JDeveloper ของบริษัทออราเคิล
- JEdit (เป็นเอดิเตอร์ แต่สามารถติดตั้งปลั๊กอินเพื่อเพิ่มความสามารถด้าน IDE ได้)
- JLab ของภาควิชาวิศวกรรมคอมพิวเตอร์ จุฬาลงกรณ์มหาวิทยาลัย ฟรีและเล็กเหมาะกับการศึกษา
- NetBeans โอเพนซอร์ส
- Rational Application Developer ของไอบีเอ็ม
- Sun Java Studio ของซัน ไมโครซิสเต็มส์
- ฺVisual Age ของไอบีเอ็ม (ปัจจุบันเลิกพัฒนาแล้ว ถูกแทนที่ด้วย Rational Application Developer)
- ฺVisual Cafe' ของบริษัท Symantec
- WebSphere Studio Application Developer ของไอบีเอ็ม ปัจจุบันถูกแทนที่ด้วย Rational Application Developer
บทความที่เกี่ยวข้อง
[แก้ไข | แก้ไขต้นฉบับ]- RTSJ เรียลไทม์สเปคซิฟิเคชั่นสำหรับJava
แหล่งข้อมูลอื่น
[แก้ไข | แก้ไขต้นฉบับ]- java.com ข้อมูลจาวา สำหรับผู้ใช้งานทั่วไป
- java.sun.com ข้อมูลจาวา สำหรับนักพัฒนา
- java.net ชุมชนนักพัฒนาจาวา และโครงการต่างๆเกี่ยวกับจาวา
- developerWorks: Java technology - แหล่งความรู้เกี่ยวกับจาวา
- Java Community Process - กระบวนการร่างข้อกำหนดของเทคโนโลยีจาวาโดยชุมชน
- JavaOne - การประชุมเทคโนโลยีจาวา
- TheServerSide.COM - ชุมชนนักพัฒนาจาวาสำหรับระบบขนาดใหญ่
- นาริสา.คอม - ชุมชนนักพัฒนาจาวาชาวไทย
- javathailand.com - สังคมนักเขียนโปรแกรมแห่งประเทศไทย : "จินตนาการอยู่เหนือ ความรู้ทั้งปวง"
- jhelp.net คลังความรู้จาวาภาษาไทย
- android4health.wordpress.com- เรียนรู้การพัฒนา Android Application ด้วยภาษา Java
- thaicreate.com- ไทยครีเอทสอน Java / JSP / Java GUI ฟรีสำหรับคนไทย