7.2 ภาษาโปรแกรมคอมพิวเตอร์
การแก้ปัญหาด้วยคอมพิวเตอร์นั้น หลังจากที่ได้วิเคราะห์ปัญหาจนได้ขั้นตอนวิธีในการแก้ปัญหา ซึ่งอาจอยู่ในรูปแบบรหัสลำลอง หรือผังงาน ขั้นตอนต่อไปคือการเขียนโปรแกรมคอมพิวเตอร์ขึ้น เพื่อแก้ปัญหาตามขั้นตอนที่ได้วางแผนไว้ แต่เนื่องจากคอมพิวเตอร์จะรับรู้คำสั่งที่เป็นภาษาเครื่องเท่านั้น และมนุษย์ไม่สามารถเขียนโปรแกรมภาษาเครื่องได้โดยตรง เนื่องจากไม่สะดวก ยากต่อการทำความเข้าใจ จึงได้มีการสร้างภาษาคอมพิวเตอร์ระดับสูงขึ้นมาเพื่อให้ง่ายต่อการเขียนโปรแกรม ผู้เขียนโปรแกรมไม่จำเป็นต้องเรียนรู้การทำงาน และโครงสร้างภายในของเครื่องคอมพิวเตอร์ ก็สามารถเขียนโปรแกรมได้โดยไม่ต้องผ่านการแปลให้เป็นภาษาเครื่องก่อนที่จะใช้สั่งงานคอมพิวเตอร์ได้
การเลือกภาษาใดเพื่อแก้ปัญหานั้น จำเป็นต้องเลือกภาษาให้เหมาะสมกับลักษณะของปัญหา เนื่องจากภาษาคอมพิวเตอร์มีมากมาย ในที่นี้จะได้กล่าวถึงลักษณะสำคัญ ความเหมาะสม และตัวอย่างของภาษาที่นิยมใช้กันทั่วไปซึ่งเป็นภาษาในกลุ่มเชิงกระบวนการ กลุ่มเชิงวัตถุ และกลุ่มอื่นๆ ดังรายละเอียดต่อไปนี้
7.2.1 ภาษาเชิงกระบวนความ (procedural languages)
โปรแกรมคอมพิวเตอร์ที่เขียนด้วยภาษาเชิงกระบวนความมีลักษณะการทำงานตามลำดับของคำสั่ง จากคำสั่งแรกจนถึงคำสั่งสุดท้าย และบางคำสั่งอาจจะถูกทำซ้ำ หรือบางคำสั่งอาจไม่ถูกกระทำเลยขึ้นอยู่กับเงื่อนไขในโปรแกรม ภาษาในกลุ่มนี้เหมาะสำหรับการเริ่มต้นทำความเข้าใจกับการเขียนโปรแกรมคอมพิวเตอร์ เนื่องจากช่วยให้ผู้เรียนรู้จักการคิดอย่างเป็นระบบ อันเป็นพื้นฐานสำคัญในการเขียนโปรแกรมภาษาอื่น นอกจากนี้ในภาษาโปรแกรมประเภทอื่นก็จะยังมีรูปแบบการทำงานเชิงกระบวนการแฝงอยู่ภายในด้วยเสมอ การใช้งานภาษาในกลุ่มนี้ เช่น งานคำนวณทางวิทยาศาสตร์อาจเลือกใช้ภาษาฟอร์แทรน (FORTRAN) งานประมวลผลข้อมูลทางธุรกิจการเงินหรือธนาคารอาจเลือกใช้ภาษาโคบอล (COBOL) หรือภาษาอาร์พีจี (RPG) การเขียนโปรแกรมควบคุมการทำงานของระบบคอมพิวเตอร์มักเลือกใช้ภาษาซี เนื่องจากภาษาเครื่องที่ได้จะทำงานได้รวดเร็ว หรือการเรียนการสอนการโปรแกรมเชิงกระบวนความอาจเลือกใช้ภาษาปาสคาล (Pascal) หรือภาษาซี เป็นต้น รูปที่ 7.2 แสดงตัวอย่างโปรแกรมภาษาโคบอลซึ่งเป็นการแสดงผลคูณของตัวเลขข้อมูลเข้าสองจำนวน และรูปที่ 7.3 แสดงตัวอย่างโปรแกรมภาษาซีที่ทำหน้าที่เช่นเดียวกัน


รูปที่ 7.2 โปรแกรมภาษาโคบอลแสดงผลคูณของตัวเลขข้อมูลเข้าสองจำนวน
(ที่มา : http://www.csis.ul.ie/cobol/examples/Accept/Multiplier.htm)



รูปที่ 7.3 โปรแกรมภาษาซีแสดงผลคูณของตัวเลขข้อมูลเข้าสองจำนวน

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


รูปที่ 7.4 โปรแกรมภาษาซีแสดงผลคูณของตัวเลขข้อมูลสองจำนวน โดยใช้ฟังก์ชัน

7.2.2 ภาษาเชิงวัตถุ (object oriented language)
ภาษาเชิงวัตถุจะอำนวยความสะดวกให้กับผู้เขียนโปรแกรมในการพัฒนาโปรแกรมที่ใหญ่และซับซ้อนได้เป็นอย่างดี อีกทั้งยังสามารถใช้เขียนโปรแกรมในลักษณะเดียวกับภาษาเชิงกระบวนความได้เช่นกัน ภาษาในกลุ่มนี้ เช่น ภาษาจาวา (Java) ภาษาซีชาร์ป (C#) และภาษาวพลัสพลัส (C++) รูปที่ 7.5 แสดงตัวอย่างโปรแกรมภาษาซีพลัสที่ให้ผู้เล่นทายตัวเลขที่โปรแกรมสุ่มขึ้นมาหนึ่งตัว



7.5 (ก) โปรแกรมภาษาซีพลัสพลัส เพื่อให้ผู้เล่นทายตัวเลขที่โปรแกรมสุ่มขึ้นมาหนึ่งตัว

7.5 (ข) ผลที่ได้จากการรันโปรแกรมทายตัวเลขที่สุ่มขึ้นมาหนึ่งตัวในรูปที่ 7.5 (ก)

ปัจจุบันได้มีการคิดค้นเครื่องมือช่วยให้นักเขียนโปรแกรมสามารถพัฒนาโปรแกรมที่ใช้ภาษาเชิงวัตถุได้ง่ายขึ้น โดยใช้การเขียนโปรแกรมแบบวิชวล (visual programming) นักเขียนโปรแกรมจะออกแบบหน้าจอสำหรับติดต่อกับผู้ใช้ก่อน แล้วเขียนโปรแกรมสำหรับแต่ละส่วนบนหน้าจอ ทำให้จัดสร้างโปรแกรมได้ง่าย และรวดเร็ว ตัวอย่างของเครื่องมือประเภทนี้ เช่น ไมโครซอฟต์วิชวลสตูดิโอ (microsoft Visual Studio) อีคลิปส์ (Eclipse) และเน็ตบีน (NetBean) ดังแสดงในรูปที่ 7.6


รูปที่ 7.6 (ก) ไมโครซอฟต์วิชวลสตูดิโอซีพลัสพลัส


รูปที่ 7.6 (ข) อีคลิปส์


รูปที่ 7.6 (ค) เน็ตบีน

7.2.3 ภาษาอื่นๆ
1) โฟร์จีแอล (fourth-generation languages: 4GLs) เป็นกลุ่มของภาษาที่แตกต่างจากภาษาเชิงกระบวนความ ที่เน้นให้ผู้ใช้สามารถเข้าถึงข้อมูลในฐานข้อมูลได้โดยง่าย ภาษาจะมีความคล้ายคลึงกับภาษาอังกฤษที่ใช้กันอยู่ ตัวอย่างของภาษา 4GL เช่น ภาษาเอสคิวแอล (SQL) 
2) เอชทีเอ็มแอล (Hypertext Markup Language: HTML) เป็นภาษาที่ใช้จัดรูปแบบการแสดงผลของข้อความและรูปภาพ รวมถึงสื่อประสมบนหน้าเว็บ ดังนั้นเอชทีเอ็มแอลจึงไม่ได้ถูกจัดเป็นภาษาที่ใช้ในการเขียนโปรแกรมอย่างแท้จริง แต่เป็นการกำหนดวิธีการในการแสดงผล เอชทีเอ็มแอลจะใช้แท็ก (tags) เป็นตัวกำหนดว่าส่วนใดในเอกสารจะให้แสดงผลอย่างไร รูปที่ 7.7 (ก) แสดงตัวอย่างของภาษาเอชทีเอ็มแอลที่ใช้ในการสร้างเว็บเพจในรูปที่ 7.7 (ข)


รูปภาพ7.7(ก) ส่วนหนึ่งของภาษาเอชทีเอ็มแอลที่ใช้ในการสร้างเว็บเพจ

รูปภาพ7.7(ข) หน้าเว็บของมหาวิทยาลัยเกษตรศาสตร์ที่สร้างจากภาษาเอชทีเอ็มแอลในรูปที่ 7.7 (ก)


ภาษาที่นิยมใช้กันมาก
ผลการศึกษาล่าสุดพบว่าภาษาโปรแกรมที่นิยมใช้มากที่สุดคือ จาวา ซี และวิชวลเบสิก สำหรับที่นิยมใช้รองลงมาคือ ซีพลัสพีเอชพี (PHP) เพิร์ล (Perl) ไพทอน (Python) ซีชาร์ป และรูบี้ (Ruby)
เกร็ดหน้ารู้ 
ภาษาโปรแกรมอื่นๆ


ภาพประกอบจากหนังสือเทคโนโลยีสารสนเทศและการสื่อสาร ชั้นมัธยมศึกษาปีที่ 4-6