ภาษามนุษย์


        ภาษามนุษย์ เมื่อการใช้ภาษาเครื่องเป็นเรื่องที่ยุ่งยากและผิดพลาดง่าย มนุษย์ก็คิดหาวิธีทำหรือวิธีสื่อสารวิธีอื่นเพื่อให้ง่ายขึ้น จึงมีผู้คิดให้มีการทำโปรแกรมที่ใช้ภาษาที่มนุษย์สามารถเข้าใจได้ด้วยและจำได้ง่ายๆ เรียกภาษานี้ว่า ภาษามนุษย์ โดยผู้ผลิตเครื่องคอมพิวเตอร์ต้องมีตัวแปลที่จะแปลจากภาษามนุษย์ที่เครื่องไม่เข้าใจให้เป็นภาษาเครื่อง (Machine language) โดยเก็บตัวแปลนี้เป็นโปรแกรมระบบไว้ในตัวเครื่องเลย การพัฒนาเช่นนี้ทำให้มนุษย์กับคอมพิวเตอร์เข้าใจและสื่อสารกันได้มากขึ้นการสั่งงานจึงทำได้ง่ายและสะดวกขึ้นทุกที

        ภาษาที่เรียกว่าภาษามนุษย์นี้ ยังแบ่งเป็นอีก 2 ระดับ คือ
       
    2.1 ภาษาระดับต่ำ (Low level language)
       
    2.2 ภาษาระดับสูง (High level language)

        าษาระดับต่ำ หมายถึง ภาษาที่ยังใกล้เคียงกับภาษาเครื่องมาก ภาษานี้ยังใช้สัญลักษณ์ต่างๆแทนตัวเลขฐานสองซึ่งยุ่งยาก เช่น ถ้าสั่งให้บวกก็ใช้สัญลักษณ์ A ถ้าสั่งให้ลบก็ใช้สัญลักษณ์ S เป็นต้น ภาษาที่ใช้สัญลักษณ์เช่นนี้ เรียกว่า mnemonic code อย่างไรก็ตามภาษานี้มีเพียงภาษาเดียว คือ ภาษาแอสเซมบลี (Assembly language) เมื่อคอมพิวเตอร์รับคำสั่งภาษาแอสเซมบลี้เข้าไปแล้ว ก็จะต้องส่งไปให้ตัวแปลที่มีชื่อว่า แอสเซมเบลอร์ (Assembler) ถอดรหัสให้เสียก่อน คอมพิวเตอร์ก็จะเข้าใจ โปรแกรมที่เขียนส่งเข้าไปให้ตอนแรก เรียกว่า โปรแกรมดิบ (Source program) และโปรแกรมที่แปลเป็นภาษาเครื่องแล้ว เรียกว่า โปรแกรมผล (Object program)

        การเขียนคำสั่งเป็นภาษาแอสเซมบลี้นั้น นับว่าง่ายขึ้นมากแล้ว การพัฒนาก้าวต่อไปถึงขั้นที่ให้ผู้ทำโปรแกรมกำหนดที่เก็บข้อมูลได้เองและไม่ต้องจำว่าทีเก็บอยู่ในส่วนใด เช่น ถ้าสั่งให้ตำแหน่งที่เก็บที่ชื่อ CREDIT เก็บค่านั้นค่านี้ไว้ ต้องการเรียกค่านั้นใช้ ก็เรียกด้วยคำ CREDIT โดยไม่ต้องสนใจจำว่าอยู่ส่วนไหนของหน่วยความจำ การสั่งงานก็ง่ายขึ้น ความผิดพลาดก็น้อยลง คนหันมาให้ความสนใจใช้งานคอมพิวเตอร์มากขึ้นทุกที

        ภาษาสัญลักษณ์ (Assembly Language) เป็นภาษาที่ใช้คำ หรือตัวอักษรที่มีความหมายแทนลำดับของเลข 0 กับ 1 ของภาษาเครื่องทำให้จำคำสั่งได้ง่ายขึ้น แต่การสั่งงานเครื่องยังคงต้องสั่งอย่างละเอียดเหมือนการใช้ภาษาเครื่อง อย่างไรก็ตามก่อนใช้งานจำเป็นจะต้องใช้คอมพิวเตอร์แปลโปรแกรมที่เขียนเป็นภาษาสัญลักษณ์นี้เป็นโปรแกรมภาษาเครื่องก่อน
        ตัวอย่างเช่น คำสั่งภาษาสัญลักษณ์สำหรับบวกเลขสองจำนวนอาจมีลักษณะดังนี้
            LOAD A
            ADD B
            STORE C

        ภาษาระดับสูง (High Level Language) เป็นภาษาที่ใช้ง่ายขึ้นกว่าภาษาสัญลักษณ์ โดยผู้คิดค้นภาษาได้ออกแบบคำสั่ง ไวยากรณ์ และกฏเกณฑ์ต่างๆ ออกมาให้รัดกุม และจำได้ง่าย ภาษาระดับสูงนี้ยังอาจจะแบ่งออกได้เป็นหลายประเภท เช่น
        ประเภทที่เหมาะกับงานวิทยาศาสตร์และวิศวกรรมศาสตร์ได้แก่ ภาษา Fortran ภาษา BASIC ภาษา PASCAL ภาษา C
        ประเภทที่เหมาะกับงานธุรกิจได้แก่ ภาษา COBOL ภาษา RPG
        ประเภทที่เหมาะกับงานควบคุมเครื่องคอมพิวเตอร์เอง ได้แก่ ภาษา Cโปรแกรมที่จัดทำขึ้นโดยใช้ภาษาระดับนี้ก็เช่นเดียวกับโปรแกรมภาษาสัญลักษณ์คือ จะต้องใช้ตัวแปลภาษาแปลให้เป็นโปรแกรมภาษาเครื่องก่อน คอมพิวเตอร์จึงจะเข้าใจและทำงานให้ได้

        ภาษาระดับสูงได้แก่

        1. ภาษาเบสิค (BASIC ย่อมาจาก Beginnig's All Purpose Symbolic Instruction Code) เป็นภาษาที่นิยมมากที่สุดภาษาหนึ่ง ส่วนมากใช้กับมินิและไมโครคอมพิวเตอร์ เพราะสื่อสารโต้ตอบได้ทันที (Interactive language) การเขียนค่อนข้างง่าย การแก้ไขโปรแกรมก็สะดวก ภาษานี้จะต้องใช้ตัวแปลประเภท "ตัวแปลคำสั่ง" (Interpreter) แปลให้เป็นภาษาเครื่อง การแปลนั้นจะแปลทีละคำสั่ง แล้วปฏิบัติการตามคำสั่งเลย ถ้ามีการสั่งให้ทำซ้ำ ก็จะต้องแปลใหม่ทุกครั้ง
           ภาษาเบสิก เป็นภาษาที่เก่าแก่และได้รับการคิดค้นขึ้นเพื่อให้ง่ายต่อการเรียนและใช้นักวิชาการคอมพิวเตอร์เองไม่ชอบภาษานี้ และกล่าวหาว่าเป็นภาษาที่มีโครงสร้างภาษาไม่ค่อยดีจึงไม่ส่งเสริมให้นำไปใช้ในการเขียนโปรแกรมอย่างจริงจัง อย่างไรก็ตามผู้ผลิตไมโครคอมพิวเตอร์เห็นไม่ตรงกัน คือคิดว่าเป็นภาษาที่ง่าย ดังนั้นจึงบรรจุตัวแปลภาษานี้เอาไว้ในหน่วยความจำรอม เพื่อให้ผู้ใช้ไมโครคอมพิวเตอร์ใช้ภาษานี้ได้

        2. ภาษาฟอร์แทรน (FORTRAN คำนี้ย่อมาจาก Formular Translator) เริ่มพัฒนาขึ้นใช้ตั้งแต่ ค.ศ. 1954 โดยบริษัท IBM ได้ว่าจ้างให้ประดิษฐ์ขึ้น เพื่อใช้ในการคำนวณทางวิทยาศาสตร์ ภาษานี้ได้มีการดัดแปลงแก้ไขมาตลอดจาก FORTRAN I จนมาเป็น FORTRAN 77 ภาษานี้เหมาะกับงานคำนวณมาก จึงเป็นที่นิยมในกลุ่มวิศวกร นักสถิติและนักวิจัย ในการคำนวณจะมีฟังก์ชันต่างๆ ไว้ให้เรียกใช้ได้เต็มที่ เช่น การหารากที่สอง การหาค่าสัมบูรณ์ เป็นต้น แต่ไม่สามารถสั่งพิมพ์ผลหรือรายงานได้ดีเหมือนภาษาโคบอล

        3. ภาษาโคบอล (COBOL คำนี้ย่อมาจาก Common Business Oriented Language) ซึ่งผู้คิดเฉพาะเจาะจงให้ใช้กับงานประเภทธุรกิจ ปัจจุบันเป็นที่นิยมมากในงานธุรกิจใหญ่ๆ เริ่มพัฒนามาตั้งแต่ ค.ศ. 1961 ในกระทรวงกลาโหมอเมริกัน ส่วนของโปรแกรมจะแบ่งเป็น IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION และ PROCEDURE DIVISION
           ภาษาโคบอลนั้นเน้นในเรื่องความมีระเบียบในการเขียน อ่านง่าย เข้าใจง่าย การประมวลผลไม่ยุ่งยากเท่าภาษาฟอร์แทรน แต่ต้องการผลลัพธ์ที่จัดรูปสวยงาม ลักษณะของภาษาคล้ายภาษาอังกฤษง่ายๆ เช่น ADD TAX TO PRICE เป็นต้น คอมพิวเตอร์เมนเฟรมเกือบทุกเครื่องจะต้องมีตัวแปลภาษานี้อยู่ด้วย
  
        ภาษาโคบอลเป็นภาษาเก่าแก่ภาษาหนึ่ง ชื่อของภาษาก็บอกอยู่แล้วว่าเป็นภาษาสำหรับใช้งานธุรกิจ ภาษานี้มีลักษณะเป็นประโยคเหมือนภาษาอังกฤษจึงใช้ง่ายสำหรับผู้ที่ทำงานด้านธุรกิจ ขณะเดียวกันการเขียนโปรแกรมก็เป็นเสมือนคำอธิบายในตัวว่าโปรแกรมนี้ทำงานอะไร อย่างไรก็ตามสำหรับผู้ที่เป็นนักคอมพิวเตอร์แล้วจะรู้สึกว่าภาษานี้ยืดยาดไม่น่าใช้ การที่โลกนี้ยังใช้ภาษานี้อยู่ก็เพราะหน่วยงานต่างๆ ยังใช้โปรแกรมที่เขียนด้วยภาษานี้กันอยู่อีกมาก การจะเลิกไปใช้ภาษาที่ใหม่กว่าจึงทำได้ยาก

        4. ภาษาพีแอล/วัน (PL/I ย่อมาจาก Programming Language/One) จัดได้ว่าใช้กับงานประเภทใดก็ได้ ผิดกับฟอร์แทรนและโคบอล ซึ่งเหมาะกับงานคนละอย่าง เริ่มใช้มาตั้งแต่ ค.ศ.1976 เป็นภาษาที่ค่อนข้างยากและซับซ้อน มีการใช้เครื่องหมาย ; (Semicolon) ตอนจบคำสั่งทุกคำสั่งหลายๆคำสั่งจะถูกนำมารวมกันเรียกว่า Procedure ซึ่งอาจเป็นโปรแกรมเล็กๆ หรือส่วนหนึ่งของโปรแกรมใหญ่ๆก็ได้

        5. ภาษาปาสคาล (Pascal language) แตกสาขามาจากภาษาอัลกอลอีกทีหนึ่ง เหมาะกับงานทางด้านวิทยาศาสตร์เช่นเดียวกัน ชื่อ ปาสคาล มาจาก เบลส ปาสคาล นักคณิตศาสตร์ชาวฝรั่งเศสที่เป็นผู้คิดไม้บรรทัดสไลด์รูล แต่ภาษานี้เกิดขึ้นหลังจากที่ปาสคาลตายไปหลายปีแล้ว
     
     ภาษาปาสคาลเป็นภาษาที่นักวิชาการคอมพิวเตอร์ท่านหนึ่งได้คิดข้นตามหลักการภาษาคอมพิวเตอร์ที่ดี ต่อมาบรรดาอาจารย์ทั่วโลกได้เห็นพ้องกันว่าจะนำมาใช้เป็นภาษาสำหรับสอนนักเรียนนักศึกษาเป็นภาษาแรก เมื่อรู้ดีแล้วจึงค่อยเปลี่ยนไปเรียนวิธีใช้ภาษาอื่นๆ ปัจจุบันนี้ทางกระทรวงศึกษาธิการเองก็แนะนำให้ใช้เป็นภาษาสำหรับสอนในระดับมัธยมศึกษา

        6. ภาษาอาร์พีจี (RPG ย่อมาจาก Report Program Generator) เริ่มใช้มาตั้งแต่ราวทศวรรษ 1960 ประโยชน์จริงๆยังแคบมาก ส่วนมากใช้เฉพาะในวงการธุรกิจเล็กๆ หรืองานคอมพิวเตอร์เล็กๆ ภาษานี้มุ่งในเรื่องการทำงานโดยเฉพาะรายงาน เป็นต้นว่า บัญชีรับจ่าย การจัดเรียงและเขียนคำสั่ง ของภาษานี้แบ่งเป็นส่วนๆคล้ายภาษาโคบอล แต่ต้องเขียนในกระดาษแบบฟอร์มที่กำหนด การแก้ไขมักจะทำยาก ภาษานี้ไม่เหมาะกับงานที่มีแฟ้มข้อมูลซับซ้อน และการเขียนโปรแกรมสำหรับคอมพิวเตอร์แต่ละเครื่องก็มักจะไม่เหมือนกันต้องมีการแก้ไขดัดแปลงเล็กน้อยจึงจะใช้ได้
       
   ข้อดีของภาษานี้ก็คือ เรียนรู้ได้ง่าย กฎเกณฑ์ก็มีเล็กน้อย ดีสำหรับการอ่านแฟ้มข้อมูลใหญ่ๆที่มีข้อมูลมากๆ แต่มีการคำนวณน้อยๆ การพิมพ์ผล หรือรายงานจะทำได้สวย ผู้ที่รู้ภาษาโคบอลมาแล้วจะเขียนภาษานี้ได้เลย
           ภาษา RPG เป็นภาษาที่มีมานานแล้วและคิดค้นโดยทีมงานของบริษัทไอบีเอ็มสำหรับใช้กับเครื่องคอมพิวเตอร์ระดับกลางและระดับใหญ่ของบริษัทเอง แต่โดยที่ใช้ในอดีตบริษัทสามารถขายเครื่องระดับดังกล่าวได้มาก จึงทำให้มีผู้นิยมใช้ภาษานี้เขียนโปรแกรมค่อนข้างมากเช่นกัน

        7. ภาษาอัลกอล (ALGOL ย่อมาจาก Algolithmic Language) เริ่มใช้มาตั้งแต่ ค.ศ.1958 ผู้สร้างภาษานี้กำหนดไว้ให้ใช้กับงานทางวิทยาศาสตร์ และงานที่มีการคำนวณมากๆ ภาษานี้คล้ายกับภาษาฟอร์แทรนแต่เป็นที่นิยมมากในยุโรป ในขณะที่ภาษาฟอร์แทรนเป็นที่นิยมในสหรัฐ

        8. เอด้า (ADA) เป็นภาษาหนึ่งที่อยู่ในกลุ่มเดียวกับอัลกอลและปาสคาล ผู้คิดภาษานี้ที่ตั้งชื่อว่าเอด้า เพื่อเป็นเกียรติแก่ เลดี้ เอด้า ออกุสต้า ซึ่งทำงานร่วมกับ ชาร์ลส แบบเบจ เธอเองเป็นต้นคิดในการทำโปรแกรม จนได้ชื่อว่าเป็นนักเขียนโปรแกรมคนแรกของโลก
        
  กระทรวงกลาโหมอเมริกันเป็นผู้ให้การสนับสนุนให้สร้างภาษานี้ขึ้น เพื่อไว้ใช้ในกิจการทหาร ในราว ค.ศ.1980 คนที่ไม่ชอบก็มีมาก ส่วนคนที่ชอบก็ชื่นชมว่าเป็นก้าวใหม่ทางด้านเทคโนโลยีของการสร้างซอฟต์แวร์ ในปัจจุบันยังไม่เป็นที่นิยมนัก แต่ก็กำลังอยู่ในระหว่างการพัฒนา

        9. APL ย่อมาจาก A Programming Language เป็นภาษาที่นิยมใช้ทั้งกับไมโครคอมพิวเตอร์และเมนเฟรม ใช้สัญลักษณ์แปลกๆ สามารถคิดคำนวณยากๆได้โดยใช้คำสั่งสั้นๆเพียงคำสั่งเดียว

        10. APT ย่อมาจาก Automatically Programmed Tool นิยมใช้ในงานอุตสาหกรรม เพื่อบังคับเครื่องมือเครื่องใช้ให้ทำงานมากกว่าอย่างอื่น

        11. ภาษาซี C เป็นภาษาที่นิยมใช้กันมากในการเขียนโปรแกรมสำเร็จรูป ทำกราฟิคส์ก็ได้ รหัสที่ใช้คล้ายกับภาษาเครื่อง
       
     ภาษาซี เป็นภาษาที่มีชื่อค่อนข้างแปลก แต่มีความหมายว่าเป็นภาษาที่เกิดหลังภาษา A และ B ซึ่งมีผู้รู้จักกันน้อยกว่า ภาษาซีนี้มีลักษณะที่แปลกคือ สามารถสั่งงานคอมพิวเตอร์ในระดับอุปกรณ์ได้ ดังนั้นนอกจากจะใช้สั่งให้ทำงานประยุกต์ได้แล้วยังใช้สั่งควบคุมการทำงานระดับเครื่องได้ด้วย ขณะนี้ภาษาซีได้รับความนิยมมาก ถ้าผู้ใดรู้ภาษาซีจะได้เปรียบมากในการทำงานด้านคอมพิวเตอร์

        12. ฟอร์ธ Forth มีลักษณะคล้ายกับภาษาแอสเซมบลี้ ส่วนมากใช้ควบคุมพัฒนาซอร์ฟแวร์ที่ใช้ภายในของแต่ละบริษัท

        ภาษาอื่นนอกจากนี้ก็ยังมีอีก เช่น โลโก (LOGO) ไพล็อต (PILOT) โพรลอก (PROLOG) เป็นต้น ภาษาเหล่านี้ยังไม่เป็นที่นิยมใช้แพร่หลายนัก

        ภาษาที่กล่าวมานี้เป็นเพียงส่วนเดียวเท่านั้นของภาษาที่ยังมีผู้ใช้งานอยู่ ภาษาอื่นๆ ยังมีอีกมาก เช่น ภาษา FORTRAN สำหรับใช้ในงานวิทยาศาสตร์ ภาษา C++ เป็นภาษาที่ขยายออกมาจากภาษา C ภาษา Prolog สำหรับใช้ในงานด้านตรรกะและการอนุมานความจริง

        นอกจากนี้ยังมีภาษาที่ถือว่าอยู่ในระดับที่ 4 คือภาษาระดับสูงมาก (Very High Level Language) เป็นภาษาที่ทำให้ใช้ง่ายมากขึ้น คือถึงขั้นที่ ไม่จำเป็นจะต้องเขียนคำสั่งเป็นลำดับขั้นตอนเหมือนการใช้ภาษาทั้ง 3 ระดับข้างต้น เพียงแต่บอกว่าต้องการอะไรก็พอ จากนั้นคอมพิวเตอร์จะเป็นผู้ทำงานให้ตามที่กำหนดไว้ในโปรแกรมเอง ภาษารุ่นนี้นิยมเขียนย่อๆ ว่า 4GL หรือ Fourth Generation Language หรืออีกนัยหนึ่งคือ ภาษารุ่นที่สี่ และภาษในระดับที่ 5 คือภาษาธรรมชาติ (Natural Language) หรือคือ ภาษามนุษย์นั่นเอง เป็นภาษาที่มนุษย์ต้องการสำหรับติดต่อสื่อสารกับคอมพิวเตอร์ ปัจจุบันมีการทดลองใช้ได้บ้างแล้ว แต่ยังมีขีดจำกัดด้านคำศัพท์ และการแปลความหมายยังไม่สามารถใช้งานได้กว้างขวาง เพราะภาษาธรรมชาตินั้นมีความกำกวมมาก แต่ขณะนี้นักวิจัยทั่วโลกกำลังพยายามคิดหาวิธีทำให้คอมพิวเตอร์เข้าใจภาษามนุษย์อยู่