Summary
อาจจะด้วยเหตุผลหรือแรงบันดาลใจที่แตกต่างกัน ที่ทำให้หลาย ๆ คนเริ่มสนใจและอยากที่เรียนรู้การเขียนโปรแกรมด้วยจาวา ไม่ว่าจะเขียนโปรแกรมเป็นงานอดิเรกหรือใช้ในงานประจำ แต่บ่อยครั้ง ทุกคนมักมีคำถามว่าจะเริ่มต้นเรียนรู้การใช้งานจาวายังไงดี และต้องใช้โปรแกรมหรือหนังสืออะไรบ้าง บทความนี้จะช่วยแนะนำแนวทางคร่าว ๆ ของการเรียนรู้และใช้งานจาวา
ในการเขียนโปรแกรมจาวานั้น เราสามารถเขียนโปรแกรมได้หลายแบบ ไม่ว่าจะเป็น
- 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 เพราะทำงานเร็วกว่า
แล้วถ้าเขียนโปรแกรมแล้วติดล่ะ มีปัญหาจะทำยังไง ? ถ้ามีปัญหาเกี่ยวกับจาวา ส่วนใหญ่จะ post กระทู้ถามใน webboard webboard ที่เกี่ยวกับจาวาที่คนนิยมที่สุดก็จะเป็นที่ นริสา http://www.narisa.com/forums/ เพราะมีคนเข้าไป ถาม/ตอบ มากกว่าที่อื่น อีกที่นึงที่หลายคนมักเข้าไป post คำถามก็คือที่ Pantip ห้องจาวา http://www.pantip.com/tech/developer/ ถ้าติดปัญหาอะไรก็ post ถามที่สองที่นี้ได้ หลายคนคงช่วยเข้ามาตอบ
อ่านถึงตรงนี้แล้ว มาลองเขียนโปรแกรม HelloWorld ง่าย ๆ ดูดีไหม ลองอ่านบทความอ้างอิงเรื่องการติดตั้งและรันโปรแกรมจาวาอย่างง่าย ดูครับ
Note: ตอนนี้ผู้เขียนได้เปิดหลักสูตรการเขียนโปรแกรมจาวาพื้นฐานสำหรับทั้งผู้เริ่มต้นและนักพัฒนาที่เคยมีประสบการณ์การเขียนโปรแกรมภาษาอื่น ถ้าสนใจก็สามารถดูรายละเอียดได้ที่ www.devlearning.com หรือโทร. 085-2360888