เริ่มต้นกับจาวาอาจจะด้วยเหตุผลหรือแรงบันดาลใจที่แตกต่างกัน ที่ทำให้หลาย ๆ คนเริ่มสนใจและอยากที่เรียนรู้การเขียนโปรแกรมด้วยจาวา ไม่ว่าจะเขียนโปรแกรมเป็นงานอดิเรกหรือใช้ในงานประจำ แต่บ่อยครั้ง ทุกคนมักมีคำถามว่าจะเริ่มต้นเรียนรู้การใช้งานจาวายังไงดี และต้องใช้โปรแกรมหรือหนังสืออะไรบ้าง บทความนี้จะช่วยแนะนำแนวทางคร่าว ๆ ของการเรียนรู้และใช้งานจาวา
ในการเขียนโปรแกรมจาวานั้น เราสามารถเขียนโปรแกรมได้หลายแบบ ไม่ว่าจะเป็น
Java application เป็นโปรแกรมจาวาที่เราใช้งานแบบ application ทั่วไป โดยอาจจะทำงานเป็นแบบ command-line หรือมีหน้าจอที่เขียนขึ้นด้วย AWT หรือ Swing โปรแกรมแบบนี้จะทำงานด้วยตัวของมันเองได้ คือมีเพียง JVM ก็สามารถรันโปรแกรมนี้ได้
Applet เป็นโปรแกรมจาวาที่ทำงานได้ในหน้า web page ที่แสดงใน web browser อย่างเช่น Internet Explorer หรือ FireFox ส่วนใหญ่มักเป็นโปรแกรมเล็ก ๆ ที่ช่วยเสริมการทำงานในหน้า web page
Servlet & JSP เป็นโปรแกรมจาวาที่ทำงานบน server-side คือทำงานที่ฝั่ง server เราใช้ Servlet และ JSP ในการสร้าง web application (โปรแกรมที่มีหน้าจอเป็น web page) โดย Servlet จะทำหน้าที่ควมคุม flow การทำงานและประมวลผล ในขณะที่ JSP จะเป็นส่วนของการสร้างหน้า web page
EJB (Enterprise Java Beans) เป็น software component ที่พัฒนาด้วยจาวา เพื่อใช้ในการประมวลผลข้อมูลหรือจัดเก็บข้อมูลลงฐานข้อมูล โดยปรกติเราจะใช้ EJB ในการพัฒนา software ขนาดกลางหรือใหญ่ ที่มีผู้ใช้จำนวนมาก ซึ่งต้องการ performance และ reliability ที่สูงกว่าโปรแกรมทั่วไป เนื่องจาก EJB เป็นเพียง component ที่ทำงานฝั่ง server การรับข้อมูลเข้ามาจะทำที่ฝั่ง client โดย client จะเป็น Java application, web application หรือ applet ก็ได้
Midlet เป็นโปรแกรมที่งานบน mobile device อย่างเช่น โทรศัพท์มือถือหรือ PDA หลายคนคงคุ้นเคยดีกับเกมจาวาบนมือถือ
ไม่ว่าจะเป็นการเขียนโปรแกรมจาวาแบบไหน ก็ล้วนต้องใช้ภาษาจาวาเป็นหลักในการเขียนโปรแกรม จะต่างกันที่โปรแกรมหรือ tool ที่นำมาช่วยพัฒนาโปรแกรมแต่ล่ะแบบ ดังนั้น การเริ่มเรียนจาวาควรเริ่มจากการเรียนรู้ภาษาจาวาก่อนเป็นหลัก โดยอาจเริ่มจากการเขียนโปรแกรม Java application เล็ก ๆ เพื่อเรียนรู้โครงสร้างและใช้งานคำสั่งต่าง ๆ ในภาษาจาวา นอกจากนี้ เนื่องจากภาษาจาวาเป็นภาษาการเขียนโปรแกรมแบบวัตถุ (object-oriented programming language) เราก็จำเป็นต้องศึกษาแนวคิดการเขียนโปรแกรมแบบวัตถุด้วย
ถ้าจะเรียนจาวาในเวลาอันสั้น ก็คงต้องให้มีคนสอน ถ้าเป็นนิสิต นักศึกษามหาวิทยาลัย จาวาคงมีสอนในวิชาอยู่แล้ว สำหรับคนทั่วไป อาจจะเข้าเรียนใน training course ที่หลายที่จัดขึ้นก็ได้ แต่ราคาจะค่อนข้างแพง แต่วิธีนี้ก็จะช่วยให้เรียนรู้จาวาได้เร็วกว่าวิธีอื่นในเวลาอันสั้น
และด้วยเหตุผลที่ว่า course จาวาที่เปิดสอนมีราคาแพง หลายคนก็คงเลือกอ่านเองมากกว่า แล้วหนังสือเล่มไหนดี ? ถ้าเป็นหนังสือภาษาไทย คนที่เขียนโปรแกรมจาวาคงตอบเป็นเสียงเดียวกันว่า แนะนำให้ซื้อหนังสือของ อ. วีระศักดิ์ ทั้งนี้ก็เพราะว่าหนังสือของอาจารย์มีเนื้อหาที่ครอบคลุม ตั้งแต่ตัวภาษาจาวาเองตลอดจนการใช้งาน library ต่าง ๆ ตอนนี้จะมีอยู่ 4 เล่ม เล่มที่ 1 จะเป็นภาษาจาวาและ library พื้นฐาน เล่มที่ 2 จะเป็นเรื่องการสร้างหน้าจอโดยใช้ Swing เล่มที่ 3 จะเป็นการพัฒนา servlet และ JSP เล่มที่ 4 จะเป็นเรื่องของการใช้งาน EJB แนะนำให้ซื้อเล่มแรกมาอ่านก่อน (เลือกเล่มใหม่ที่มี Java 5) note นิดนึงว่าหนังสือของอาจารย์จะเป็นแนววิชาการ ซึ่งบางคนอาจจะรู้สึกว่าอ่านลำบาก
นอกจากหนังสือของอาจารย์วีระศักดิ์แล้ว ก็ยังมีหนังสือจาวาอีกหลายเล่มที่มีผู้เขียนท่านอื่นเขียนไว้ โดยเนื้อหาบางเล่มอาจจะไม่ครอบคลุมมากนักและมักเป็นการสอนพื้นฐาน แต่ก็เหมาะสำหรับผู้เริ่มต้นที่ไม่มีพื้นฐานการเขียนโปรแกรมมากนัก อยากให้ลองเปิดอ่านดูก่อนหลาย ๆ เล่มแล้วเลือกเล่มที่เราอ่านแล้วรู้สึกว่าอ่านเข้าใจง่าย แบบนี้จะช่วยให้เราเรียนรู้ได้เร็วขึ้น และเมื่อมีพื้นฐานความใจที่ดีขึ้นแล้วก็ค่อยอ่านเล่มที่มีเนื้อหามากขึ้นเพิ่มเติม
เวลาอ่านหนังสือแน่นอนว่าคงต้องเขียนโปรแกรมไปด้วยตามตัวอย่างที่มีในหนังสือ ตัวอย่างในหนังสือเกือบทุกเล่มจะเป็น Java application ที่ทำงานบน console หรือ command-prompt ทั้งนี้ก็เพื่อให้เขียนและใช้งานได้ง่าย การที่จะเขียนและรัน Java application แบบนี้ได้ เราก็ต้องมี Java compiler และ Java interpreter หรือ Java VM เสียก่อน โดยเราสามารถ download โปรแกรมเหล่าได้ได้จาก web site ของ Sun Sun เรียกชุดของโปรแกรมพื้นฐานที่ใช้ในการพัฒนาโปรแกรมนี้ว่า JDK (Java Developer Kit) หรือ SDK (Software Development Kit) โปรแกรมเหล่านี้จะทำงานที่ command-prompt จึงทำให้ใช้งานง่าย รายละเอียดการติดตั้ง JDK อ่านได้จากบทความที่อ้างอิงไว้ด้านล่าง
แน่นอนการเขียนโปรแกรมก็จำเป็นต้องมี editor ที่ใช้ในการเขียนโปรแกรม อย่างง่ายที่สุด โปรแกรมที่มักใช้งานสำหรับผู้เริ่มต้นก็คือ โปรแกรม Notepad ของ Windows นี่เอง เนื่องจาก notepad จะไม่มี feature ที่จะช่วยเขียนโปรแกรมจาวาให้เลย จึงเหมาะสำหรับเขียนตัวอย่างเล็ก ๆ เท่านั้น แต่ก็ด้วยความง่ายนี่เอง จึงเหมาะสำหรับผู้เริ่มต้น เมื่อเราเริ่มคุ้นกับจาวามากพอแล้ว (หรือเริ่มเหนื่อยกับ Notepad) ก็เปลี่ยนไปใช้โปรแกรมจาวา IDE (Integrated Development Environment) แทน โปรแกรมแบบ IDE จะรวมเอาโปรแกรมหลาย ๆ ตัวที่จำเป็นต้องใช้ในการเขียนโปรแกรมรวมไว้ด้วยกัน ไม่ว่าจะเป็น editor, Java compiler, Java VM, debugger ทำให้สะดวกในการใช้งานมากกว่า Java IDE ฟรี ที่คนนิยมใช้ก็จะมี NetBeans
http://www.netbeans.org/ และ Eclipse
http://www.eclipse.org/ ส่วนจะใช้ตัวไหนคงขึ้นกับว่าเราชอบตัวไหน หลายคนมักใช้ Eclipse เพราะทำงานเร็วกว่า
ขอบคุณเนื้อหาดีดี จาก jhelp.net