มนุษย์ใช้ภาษาในการสื่อสารมาตั้งแต่สมัยโบราณ การใช้ภาษาเป็นเรื่องที่มนุษย์พยายามถ่ายทอดความคิดและความรู้สึกต่างๆ เพื่อการโต้ตอบและสื่อความหมาย ภาษาที่มนุษย์ใช้ติดต่อสื่อสารในชีวิตประจำวัน เช่น ภาษาไทย ภาษาอังกฤษ หรือภาษาจีน ต่างเรียกว่า ภาษาธรรมชาติ (natural language) เพราะมีการศึกษา ได้ยิน ได้ฟังกันมาตั้งแต่เกิด
การใช้งานคอมพิวเตอร์ซึ่งเป็นเครื่องมือทางอิเล็กทรอนิกส์ให้ทำงานตามที่ต้องการ จำเป็นต้องมีการกำหนดภาษาสำหรับใช้ติดต่อสั่งงานกับคอมพิวเตอร์ ภาษาคอมพิวเตอร์จะเป็นภาษาประดิษฐ์ (artificial language) ที่มนุษย์คิดสร้างมาเอง เป็นภาษาที่มีจุดมุ่งหมายเฉพาะ มีกฎเกณฑ์ที่ตายตัวและจำกัด คืออยู่ในกรอบให้ใช้คำและไวยากรณ์ที่กำหนดและมีการตีความหมายที่ชัดเจน จึงจัดภาษาคอมพิวเตอร์เป็น ภาษาที่มีรูปแบบเป็นทางการ (formal language) ต่างกับภาษาธรรมชาติที่มีขอบเขตกว้างมาก ไม่มีรูปแบบตายตัวที่แน่นอน กฎเกณฑ์ของภาษาจะขึ้นกับหลักไวยากรณ์และการยอมรับของกลุ่มผู้ใช้นั้น ๆ
ภาษาคอมพิวเตอร์ อาจแบ่งได้เป็น 3 ระดับ คือ ภาษาเครื่อง ภาษาระดับต่ำ (low-level language) และภาษาระดับสูง (high-level language)
ภาษาเครื่อง การเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานในยุคแรกๆ จะต้องเขียนด้วยภาษาซึ่งเป็นที่ยอมรับของเครื่องคอมพิวเตอร์ที่เรียกว่าภาษาเครื่อง ภาษานี้ประกอบด้วยตัวเลขล้วน ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้ทันที ผู้ที่จะเขียนโปรแกรมภาษาเครื่องได้ต้องสามารถจำรหัสแทนคำสั่งต่างๆ ได้ และในการคำนวณต้องสามารถจำได้ว่าจำนวนต่างๆ ที่ใช้ในการคำนวณนั้นถูกเก็บไว้ที่ตำแหน่งใด ดังนั้นโอกาสที่จะเกิดความผิดพลาดในการเขียนโปรแกรมจึงมีมาก นอกจากนี้เครื่องคอมพิวเตอร์แต่ละระบบมีภาษาเครื่องที่แตกต่างกันออกไป ทำให้เกิดความไม่สะดวกเมื่อมีการเปลี่ยนเครื่องคอมพิวเตอร์เพราะจะต้องเขียนโปรแกรมใหม่ทั้งหมด
ภาษาระดับต่ำ เนื่องจากภาษาเครื่องเป็นภาษาที่มีความยุ่งยากในการเขียนดังได้กล่าวมาแล้วจึงไม่มีผู้นิยมและมีการใช้น้อย ดังนั้นได้มีการพัฒนาภาษาคอมพิวเตอร์ขึ้นอีกระดับหนึ่ง โดยการใช้ตัวอักษรภาษาอังกฤษเป็นรหัสแทนการทำงานและใช้การตั้งชื่อตัวแปรแทนตำแหน่งที่ใช้เก็บจำนวนต่าง ๆ ซึ่งเป็นค่าของตัวแปรนั้น ๆ การใช้สัญลักษณ์ช่วยให้การเขียนโปรแกรมนี้เรียกว่าภาษาระดับต่ำภาษาระดับต่ำเป็นภาษาที่มีความใกล้เคียงกับภาษาเครื่องมาก ดังนั้นบางครั้งจึงเรียกภาษานี้ว่า ภาษาอิงเครื่อง (machine – oriented language) ตัวอย่างของภาษาระดับต่ำได้แก่ ภาษาแอสแซมบลี เป็นภาษาที่ใช้คำในอักษรภาษาอังกฤษเป็นคำสั่งให้เครื่องทำงาน เช่น ADD หมายถึง บวก SUB หมายถึง ลบ เป็นต้น การใช้คำเหล่านี้ช่วยให้การเขียนโปรแกรมง่ายขึ้นกว่าการใช้ภาษาเครื่องซึ่งเป็นตัวเลขล้วน
การใช้โปรแกรมที่เขียนด้วยภาษาแอสแซมบลีนั้น เครื่องคอมพิวเตอร์ไม่สามารถทำงานได้ทันที จำเป็นต้องมีการแปลโปรแกรมจากภาษาแอสแซมบลีให้เป็นภาษาเครื่องก่อน โดยอาศัยโปรแกรมในการแปลที่มีชื่อว่าแอสแซมเบลอร์ (assembler) ซึ่งแตกต่างไปตามเครื่องคอมพิวเตอร์แต่ละชนิด ดังนั้นแอสเซมเบลอร์ของเครื่องชนิดหนึ่งจะไม่สามารถใช้แปลโปรแกรมภาษาแอสแซมบลีของชนิดอื่นๆ ได้ภาษาแอสแซมบลีนี้ยังคงใช้ยาก เพราะผู้เขียนโปรแกรมจะต้องเข้าใจการทำงานของเครื่องคอมพิวเตอร์อย่างละเอียด ต้องรู้ว่าจำนวนที่จะนำมาคำนวณนั้นอยู่ ณ ตำแหน่งใดในหน่วยความจำ ในทำนองเดียวกับการเขียนโปรแกรมเป็นภาษาเครื่อง ภาษาแอสแซมบลีจึงมีผู้ใช้น้อยและมักจะใช้ในกรณีที่ต้องการควบคุมการทำงานภายในของตัวเครื่องคอมพิวเตอร์
ภาษาระดับสูง ภาษาระดับสูงเป็นภาษาที่สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรม กล่าวคือ ลักษณะของคำสั่งจะประกอบด้วยคำต่างๆ ในภาษาอังกฤษ ซึ่งผู้อ่านสามารถเข้าใจความหมายได้ทันที ผู้เขียนโปรแกรมจึงเขียนโปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอสแซมบลี หรือภาษาเครื่อง ภาษาระดับสูงมีมากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล ภาษาปาสคาล (Pascal) ภาษาเบสิก (BASIC) ภาษาวิชวลเบสิก (Visual Basic) ภาษาซี (C) และภาษาจาวา (Java) เป็นต้น โปรแกรมที่เขียนด้วยภาษาระดับสูงแต่ละภาษาจะต้องมีโปรแกรมที่ทำหน้าที่แปลภาษาระดับสูงให้เป็นภาษาเครื่อง เช่น โปรแกรมแปลภาษาฟอร์แทรนเป็นภาษาเครื่อง โปรแกรมแปลภาษาปาสคาลเป็นภาษาเครื่อง คำสั่งหนึ่งคำสั่งในภาษาระดับสูงจะถูกแปลเป็นภาษาเครื่องหลายคำสั่ง ภาษาระดับสูงที่จะกล่าวถึงในที่นี้ ได้แก่
(1) ภาษาฟอร์แทรน (FORmula TRANslator : FORTRAN) จัดเป็นภาษาระดับสูงที่เก่าแก่ที่สุด ได้รับการคิดค้นขึ้นเป็นครั้งแรกราว พ.ศ. 2497 โดยบริษัทไอบีเอ็ม เป็นภาษาที่เหมาะสำหรับงานที่ต้องการการคำนวณ เช่นงานทางด้านวิทยาศาสตร์ วิศวกรรมศาสตร์ และงานวิจัยต่าง ๆ เนื่องจากแนวคิดในการเขียนโปรแกรมในระยะหลังนี้ เปลี่ยนมานิยมการเขียนโปรแกรมแบบโครงสร้างมากขึ้น ลักษณะของคำสั่งภาษาฟอร์แทรนแบบเดิม ไม่เอื้ออำนวยที่จะให้เขียนได้ จึงมีการปรับปรุงโครงสร้างของภาษาฟอร์แทรนให้สามารถเขียนโปรแกรมแบบโครงสร้างขึ้นมาได้ในปี พ.ศ. 2509 เรียกว่า FORTRAN 66 และในปี พ.ศ. 2520 สถาบันมาตรฐานของสหรัฐอเมริกา (American National Standard Institute หรือ ANSI) ได้ปรับปรุง FORTRAN 66 และยอมรับให้เป็นภาษาฟอร์แทรนที่เป็นมาตรฐานเรียกว่า FORTRAN 77 ใช้ได้กับเครื่องคอมพิวเตอร์ที่มีตัวแปลภาษานี้
(2) ภาษาโคบอล (Common Business – Oriented Language : COBOL) เป็นภาษาที่พัฒนาขึ้นในราว พ.ศ. 2502 ต่อมาได้รับการปรับปรุงจากคณะกรรมการซึ่งเป็นตัวแทนของหน่วยงานธุรกิจและรัฐบาลของสหรัฐอเมริกา เป็นภาษาโคบอลมาตรฐานใน พ.ศ. 2517 ภาษาโคบอลเป็นภาษาที่เหมาะสมสำหรับงานด้านธุรกิจ เครื่องคอมพิวเตอร์ขนาดใหญ่ส่วนมากมีโปรแกรมแปลภาษาโคบอล
(3) ภาษาเบสิก (Beginner’s All - purpose Symbolic Instruction Code : BASIC) เป็นภาษาที่ได้รับการคิดขึ้นเป็นครั้งแรกที่วิทยาลัยดาร์ทมัธ (Dartmouth College) เผยแพร่เป็นทางการในปี พ.ศ. 2508 ภาษาเบสิกเป็นภาษาที่สร้างขึ้นโดยมีจุดประสงค์เพื่อใช้สอนเขียนโปรแกรมแทนภาษาคอมพิวเตอร์ภาษาอื่น เช่น ภาษาฟอร์แทรน ซึ่งมีขนาดใหญ่และต้องใช้หน่วยความจำสูงในการทำงาน ซึ่งไม่เหมาะกับเครื่องคอมพิวเตอร์ในสมัยนั้น ภาษาเบสิกเป็นภาษาที่มีขนาดเล็ก เป็นตัวแปลภาษาชนิดที่เรียกว่าอินเตอร์เพรทเตอร์ ซึ่งนักเรียนจะได้เรียนในหัวข้อถัดไป นอกจากนี้ ภาษาเบสิกเป็นที่ง่ายต่อการเขียนซึ่งผู้เขียนจะสามารถนำไปประยุกต์กับการแก้ปัญหาต่าง ๆ ได้ทุกสาขาวิชา ผู้ที่เพิ่งฝึกเขียนโปรแกรมใหม่ ๆ หรือผู้ที่ไม่ใช่นักเขียนโปรแกรมอาชีพ แต่เป็นเพียงวิศวกร หรือนักวิจัย จะสามารถหัดเขียนโปรแกรมภาษาเบสิกได้ในเวลาไม่นานนัก ปกติภาษาเบสิกส่วนใหญ่ใช้กับไมโครคอมพิวเตอร์
(4) ภาษาปาสคาล (Pascal) ตั้งชื่อตามนักคณิตศาสตร์ชาวฝรั่งเศสชื่อ เบลส ปาสคาล (Blaise Pascal ) ซึ่งได้กล่าวมาแล้วว่าเป็นผู้ผลิตเครื่องคิดเลขโดยใช้เฟืองหมุน ภาษาปาสคาลคิดขึ้นในปี พ.ศ. 2514 โดยนิคลอสเวียซ (Niklaus Wirth) ศาสตราจารย์วิชาคอมพิวเตอร์ชาวสวิส ภาษาปาสคาลได้รับการออกแบบให้ใช้ง่ายและมีโครงสร้างที่ดีจึงเหมาะกับการใช้สอนหลักการเขียนโปรแกรม ปัจจุบันภาษาปาสคาลยังคงได้รับความนิยมใช้ในการเรียนเขียนโปรแกรมคอมพิวเตอร์
(5) ภาษาซีและซีพลัสพลัส (C และ C++) ภาษาซีเป็นภาษาที่พัฒนาจากห้องปฏิบัติการเบลล์ของบริษัทเอทีแอนด์ทีในปี พ.ศ .2515 หลังจากที่พัฒนาขึ้นได้ไม่นานภาษาซีก็กลายเป็นภาษาที่นิยมในหมู่นักเรียนโปรแกรมมาก และมีใช้งานเครื่องทุกระดับ ทั้งนี้ เนื่องจากภษาซีได้รวมเอาข้อมูลของภาษาระดับสูงแลภาษาระดับเข้าไว้ด้วยกัน กล่าวคือ เป็นภาษาที่มีไวยกรณ์ที่เข้าใจง่ายทำให้เขียนโปรแกรมได้ง่ายเช่นเดียวกับภาษาระดับสูงทั่วไป แต่ประสิทธิภาพและความเร็วในการทำงานดีกว่ามาก เนื่องจากมีการทำงานเหมือนภาษาระดับต่ำ สามารถทำงานได้ในระดับที่เป็นการควบคุมฮาร์ดแวร์ได้มากกว่าภาษาระดับสูงอื่นๆ ดังจะเห็นว่าภาษาซีเป็นภาษาที่สามารถพัฒนาระบบปฏิบัติการได้ เช่น ระบบปฏิบัติการยูนิกซ์ นอกจากนี้เมื่อแนวคิดของการเขียนโปรแกรมแบบเชิงวัตถุ (Object Oriented Programing : OOP) ได้เข้ามามีบทบาทในวงการคอมพิวเตอร์มากขึ้น ภาษาซีก็ยังได้รับการพัฒนาดดยประยุกต์ใช้กับการเขียนโปรแกรมดังกล่าว เกิดเป็นภาษาใหม่ชื่อว่า ภาษาซีพลัสพลัส (C++)
(6) ภาษาวิชวลเบสิก (Visual Basic) เป็นภาษาที่พัฒนาต่อมาจากภาษาเบสิก สำหรับภาษาวิชวลเบสิกเป็นภาษาที่ใช้ไวยกรณ์บางส่วนของภาษาเบสิกในการเขียนโปรแกรม แต่มีแยวคิดและวิธีการพัฒนาโปรแกรมที่แตกต่างจากภาษาเบลิกโดยสิ้นเชิง รวมทั้งการใช้เนื้อที่ในหน่วยความจำก็แตกต่างกันมาก ทั้งนี้ เนื่องจากภาษาวิชวลเบสิกใช้แนวคิดการเขียนโปรแกรมแบบรูปภาพ (visual programing) ในการพัฒนาโปรแกรม ภาษานี้พัฒนาขึ้นโดยบริษัทไมโครซอฟต์ ออกแบบเพื่อเขียนโปรแกรมที่สามารถใช้งานได้บนระบบปฏิบัติการแบบจียูไอ เช่น ระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีการติดต่อกับผู้ใช้โดยใช้รูปภาพ การเขียนโปรแกรมทำได้ง่ายกว่าการเขียนโปรแกรมแบบเก่ามากซึ่งจะได้กล่าวในรายละเอียดในบทต่อไป
(7) การเขียนโปรแกรมแบบจินตภาพ (visual programing) ในการพัฒนาโปรแกรม ภาษานี้พัฒนาขึ้นโดยบริษัทไมโครซอฟต์ ออกแบบเพื่อเขียนโปรแกรมที่สามารถใช้งานได้บนระบบปฏิบัติการแบบจียูไอ เช่น ระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีการติดต่อกับผู้ใช้โดยใช้รูปภาพ การเขียนโปรแกรมทำได้ง่ายกว่าการเขียนโปรแกรมแบบเก่ามาก
(8)ภาษาจาวา (JAVA) พัฒนาขึ้นในปี พ.ศ. 2534 โดยบริษัทซันไมโครซิสเตมส์ และเป็นภาษาที่ได้รับความนิยมสูงมาโดยตลอด เนื่องจากเป็นภาษาที่มีความยืดหยุ่นสูง สามารถเขียนโปรแกรม และใช้งานได้บนเครื่องคอมพิวเตอร์ทุกประเภท และระบบปฏิบัติการทุกรูปแบบ ในช่วงแรกที่เริ่มมีการนำภาษาจาวามาใช้งาน จะเป็นการใช้งานบนเครือข่ายอินเตอร์เน็ต เป็นภาษาที่เน้นการทำงานบนเว็บ แต่ปัจจุบันสามารถนำมาประยุกต์สร้างโปรแกรมใช้งานทั่วไปได้ นอกจากนี้ เมื่อเทคโนโลยีของการสื่อสารก้าวหน้าขึ้น จนกระทั่งเครื่องคอมพิวเตอร์ปาล์มท็อป หรือแม้แต่โทรศัพท์เคลื่อนที่สามารถเชื่อมต่อเข้าสู่ระบบอินเตอร์เน็ตและใช้งานระบบเวิร์ดไวด์เว็บได้ ภาษาจาวาก็สามารถสร้างส่วนที่เรียกว่าแอพเพลต (applet) ให้อุปกรณ์อิเล็กทรอนิกส์ที่กล่าวข้างต้นเรียกใช้งานจากเครื่องที่เป็นแม่ข่าย (server) ได้
(9) ภาษาเดลไฟล์ (Delphi) เป็นภาษาที่ได้รับความนิยมมากภาษาหนึ่ง แนวคิดเขียนโปรแกรมภาษาเดลไฟล์เหมือนกับแนวคิดของภษาวิชวลเบสิกคือเป็นการเขียนโปรแกรมเชิงรูปภาพแต่ภาษาพื้นฐานที่ใช้ในการเขียนโปรแกรมจะเป็นภาษาปาสคาล ในการเขียนโปรแกรมเชิงรูปภาพนี้มีคอมโพเนนต์ (component) ที่สามารถใช้เป็นส่วนประกอบเพื่อสร้างส่วนติดต่อผู้ใช้ที่เป็นแบบกราฟิกทำให้ซอฟต์แวร์ที่พัฒนามีความน่าสนใจและใช้งานง่ายขึ้น การเขียนโปรแกรมด้วยภาษาเดลไฟล์จึงเป็นที่นิยมในการนำเป็นพัฒนาโปรแกรมใช้งานมาก รวมทั้งภาษาปาสคาลเป็นภาษาที่เข้าใจง่ายเหมาะแก่การนำมาใช้สอนเขียนโปรแกรม
การทำงานของโปรแกรมแปลภาษา ดังกล่าวมาแล้วว่าในการประมวลผลโปรแกรมที่เขียนขึ้นด้วยภาษาระดับสูงจำเป็นต้องอาศัยโปรแกรมที่ทำหน้าที่ช่วยในการแปลโปรแกรมภาษาระดับสูงให้เป็นภาษาเครื่อง โปรแกรมภาษาที่ใช้แบ่งออกเป็น 2 ลักษณะได้แก่
(1) คอมไพเลอร์ (compiler) เป็นโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมที่เขียนด้วยภาษาระดับสูงที่เรียกกันว่า โปรแกรมต้นฉบับ (source program) ให้เป็นโปรแกรมภาษาเครื่อง (object program) ถ้ามีข้อผิดพลาดเครื่องจะพิมพ์รหัสหรือข้อผิดพลาดออกมาด้วย ภายหลังการแปลถ้าไม่มีข้อผิดพลาด ผู้ใช้สามารถสั่งประมวลผลโปรแกรมและสามารถเก็บโปรแกรมที่แปลภาษาเครื่องไว้ใช้งานต่อไปได้อีกโดยไม่ต้องทำการแปลโปรแกรมซ้ำอีก ตัวอย่างโปรแกรมแปลภาษาแบบนี้ ได้แก่ โปรแกรมแปลภาษาฟอร์แทรน โปรแกรมแปลภาษาโคบอล โปรแกรมแปลภาษาปาสคาล โปรแกรมแปลภาษาซี
(2) อินเตอร์พรีเตอร์ (Interpreter) เป็นโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมที่เขียนด้วยภาษาระดับสูงให้เป็นภาษาเครื่องเช่นเดียวกับคอมไพเลอร์ ความแตกต่างจะอยู่ที่อินเตอร์พรีเตอร์จะทำการแปลและประมวลผลทีละคำสั่ง ข้อเสียของอินเตอร์พรีเตอร์ก็คือ ถ้านำโปรแกรมนี้มาใช้งานอีกจะต้องทำการแปลโปรแกรมทุกครั้ง ภาษาบางภาษามีโปรแกรมแปลทั้งสองลักษณะ เช่น ภาษาเบสิก เป็นต้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น