วันจันทร์ที่ 30 มิถุนายน พ.ศ. 2551

ภาษาโปรแกรมสำหรับยุคต่อไป

หลังจากบทความที่ผ่าน ๆ มา เป็นการเล่าเรื่องทางไอทีที่น่าสนใจให้ฟัง บทความนี้ก็ขอเขียนเกี่ยวกับการพัฒนาโปรแกรมบ้างนะครับ ผมเคยได้รับคำถามจากนักศึกษาว่าเขาควรจะศึกษาภาษาอะไรดี ซึ่งผมก็ได้ตอบไปว่าให้เรียนภาษาที่สอนกันที่คณะ (Java) ให้เข้าใจแนวคิดการเขียนโปรแกรม แล้วจะสามารถนำไปประยุกต์กับภาษาอื่น ๆ ได้โดยไม่ยาก พอดีวันนี้ได้ไปอ่านบทความนี้ครับ http://www.infoworld.com/article/08/06/23/26NF-dynamic-scripting_1.html เห็นว่าน่าสนใจดี และเกี่ยวข้องกับที่นักศึกษาเคยถามก็เลยเอามาเล่าให้ฟัง ในบทความเขาบอกว่าภาษาสคริปต์จะเปิดยุคใหม่ของการเขียนโปรแกรมครับ ซึ่งเขาเรียกว่า programming to the masses ครับ ซึ่งผมก็ขอแปลว่าการโปรแกรมเพื่อมวลชนครับ :) ซึ่งผมเข้าใจว่าเขาจะเน้นว่าภาษาสคริปต์พวกนี้เขียนได้ง่าย ดังนั้นน่าจะมีผู้คนที่เขียนภาษาเหล่านี้เป็นกันมากขึ้น โดยภาษาสคริปต์ที่ใช้กันบนฝั่งไคลแอนต์ส่วนใหญ่ก็จะเป็น JavaScript ส่วนภาษาสคริปต์บนฝั่งเซอร์ฟเวอร์ก็จะเป็น PHP ซึ่งคงเห็นนะครับว่าก็ไม่ใช่ภาษาใหม่อะไรเลย แต่เป็นภาษาที่เรารู้จักกันมานานแล้ว ซึ่งเหตุผลหลัก ๆ ในความเห็นของผมเป็นดังนี้ครับ ประการแรกก็คือความแพร่หลายของการใช้เว็บเป็นแพลตฟอร์มในการพัฒนาระบบ ความแพร่หลายของเว็บเซอร์วิส ประสิทธิภาพที่เพิ่มขึ้นของคอมพิวเตอร์ และคุณลักษณะบางอย่างที่ทำให้ผู้พัฒนาโปรแกรมรู้สึกว่าการพัฒนาโปรแกรมทำได้ง่ายขึ้น เช่นการที่ตัวแปรเป็นแบบไดนามิก คือสามารถเปลี่ยนประเภทไปได้ตามประเภทข้อมูลที่ใช้ในขณะนั้น (แต่อันนี้ก็แล้วแต่คนชอบนะครับ บางคนอาจไม่ชอบคุณลักษณะที่เป็นไดนามิกแบบนี้ก็ได้) นอกจากสองภาษานี้แล้วก็ยังมีภาษาอื่น ๆ ที่น่าสนใจที่แนะนำในบทความครับเช่น python และ Ruby ถึงตรงนี้แล้วหลายคนก็อาจมีคำถามว่าถ้าอย่างนั้นภาษา Java ภาษา C ภาษา C++ นั้นไม่จำเป็นแล้วใช่หรือไม่ ซึ่งผมก็คงต้องตอบว่าไม่ใช่ ในความเห็นผมภาษาสคริปต์ต่าง ๆ เหล่านี้ เหมาะสมกับการทำงานในลักษณะที่จะเป็นตัวเชื่อม โดยเรียกใช้คอมโพเนนต์ต่าง ๆ ที่มีอยู่มาใช้งานร่วมกัน ส่วนคอมโพเนนต์ต่าง ๆ เหล่านี้ก็ยังคงจะต้องพัฒนาโดยใช้ภาษาหลัก ๆ อยู่ดี ซึ่งตามหลักการของการพัฒนาระบบแบบคอมโพเนนต์นั้น จะมีอยู่สองส่วนด้วยกันคือการพัฒนาเพื่อนำกลับมาใช้ใหม่ (development for resue) และการพัฒนาโดยนำสิ่งที่มีอยู่แล้วมาใช้ (development with reuse) ภาษาอย่าง C++ หรือ Java ก็จะใช้ในการพัฒนาส่วนแรก ส่วนภาษาสคริปต์เหล่านี้ก็จะอยู่ในส่วนที่สอง ในส่วนของบทความผมเห็นด้วยในส่วนที่ว่ามีความเป็นไปได้ที่ภาษาเหล่านี้โดยเฉพาะส่วนที่อยู่บนฝั่งไคลแอนต์ จะกลายมาเป็นภาษาหรับมวลชนจริง ๆ ลองสังเกตุจากพวก Social Web เช่นพวก Hi5 หรือ bloggang ของเราดูนะครับ ตอนนี้ผู้ใช้ทั่ว ๆ ไป เริ่มรู้จักการเขียนภาษา HTML แล้ว โดยอาจจะเริ่มต้นจากการคัดลอกจากเว็บอื่นมาใส่เว็บตัวเอง จากนั้นก็เริ่มศึกษาแล้วก็สามารถเขียนโค้ดของตัวเองได้ ซึ่งผมคิดว่าก็อาจจะเกิดขึ้นได้กับภาษาอย่าง JavaScript เช่นกัน

ดังนั้นก็ฝากไว้ครับว่า ต่อไปผู้ใช้ทั่ว ๆ ไปก็อาจจะเขียนโปรแกรมกันได้แล้ว ส่วนพวกที่เรียนกันมาทางสายคอมพิวเตอร์โดยตรงแล้วยังเขียนโปรแกรมไม่ได้นี่ก็... ลองเติมกันดูเองนะครับ