ภาษาคอมพิวเตอร์

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

            1.1 ความหมาย

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

            1.2 ชนิดของภาษาคอมพิวเตอร์

                จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำหรือภาษาระดับสูงจะขึ้นอยู่กับภาษานั้นใกล้เคียงกับภาษาเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส 0 และ 1 เรียกว่า ภาษาระดับต่ำ) หรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษเรียกว่า ภาษาระดับสูง)

 

ภาษาระดับต่ำ (Low Level Language) ได้แก่

                1.1 ภาษาครื่อง (Machine Language) เป็นภาษาระดับต่ำที่สุดเพราะใช้เลขฐานสองแทนข้อมูล   (0 และ1)และคำสั่งต่างๆทำให้การเขียนโปรแกรมยุ่งยากมาก

  

     ตัวอย่างที่ 1 แสดงคำสั่งของภาษาเครื่องมีดังนี้

              ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้

                         การบวกแทนด้วยรหัส 10101010

                        เลข 9 เปลี่ยนเป็นเลขฐานสอง 00001001

                        เลข 3 เปลี่ยนเป็นเลขฐานสอง 00000011

                        ดังนั้น คำสั่ง 9 + 3 เขียนเป็นภาษาเครื่องได้ดังนี้

                           00001001 10101010 00000011 ---------> ภาษาเครื่อง

                             9 + 3 --------> ภาษามนุษย์และภาษาคอมพิวเตอร์

                1.2 ภาษาแอสเซมบลี (Assembly Language) ภาษาแอสเซมบลีใช้รหัสเป็นคำแทนคำสั่งภาษาเครื่อง ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้น คือ ใช้สัญลักษณ์แทนเลข 0 และ 1  ของภาษาเครื่อง ซึ่งสัญลักษณ์ที่ใช้จะเป็นคำสั่งสั้นๆ ทำให้การเขียนโปรแกรมง่ายขึ้นกว่าภาษาเครื่อง แต่ก็ยังคงยุ่งยากมากในการจำคำสั่งทั้งหมด

                   ตัวอย่างที่ 2 แสดงค่าสั่งของภาษาแอสเซมบลีมีดังนี้

                      ถ้าเราต้องการสั่งให้เครื่องท่างานตามค่าสั่ง 9 + 3 แสดงได้ดังนี้

                                                MOV AX, 9

                                                MOV BX, 3

                                                ADD AX, BX

2. ภาษาระดับสูง (High Level Language)

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

3. ภาษาระดับสูงมาก (Very high-level Language)

                เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อนๆการทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษาอาจต้องใช้ถึง 100 บรรทัดโดยพื้นฐานแล้วภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษายุคก่อนๆ อย่างชัดเจน กล่าวคือ ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้าง ก็สามารถเขียนโปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว ภาษาในยุคที่ 4 นี้ยังมีภาษาที่ใช้สำหรับเรียกดูข้อมูลจากฐานข้อมูลได้เรียกว่าภาษาเรียกค้นข้อมูล (query language) การแสดงรายงานจากฐานข้อมูลภาษาเรียกค้นข้อมูลที่เป็นมาตรฐานเรียกว่า SQL (Structured Query Language)

4. ภาษาธรรมชาติ (Nature Language)

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

5. ภาษาโปรแกรมเชิงวัตถุ (Object-Oriented Programming Language)

                นักเขียนโปรแกรมบางคน คิดว่าการเขียนโปรแกรมขนาดใหญ่นั้น บางครั้งก็เป็นงานที่หนักและเสียเวลามาก จึงได้พยายามคิดหาวิธีที่จะทำให้การเขียนโปรแกรมนั้นง่ายขึ้น และสามารถเขียนได้อย่างรวดเร็ว ทำให้เกิดเทคนิค โปรแกรมเชิงวัตถุ (Object-Oriented Programming) หรือ OOP เพื่อช่วยลดความยุ่งยากของการเขียนโปรแกรม ภาษาโปรแกรมเชิงวัตถุที่ได้รับความนิยมสูงได้แก่ JAVA ,Visual Basic , C++ และ C#

 

            1.3 การเลือกใช้ภาษาคอมพิวเตอร์

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

                ในการเลือกภาษาคอมพิวเตอร์ที่จะนำมาใช้สิ่งที่ควรพิจารณาคือ

                1. ในหน่วยงานหนึ่งๆควรจะใช้ภาษาคอมพิวเตอร์ภาษาเดียวกัน เพราะการดูแลรักษาซอฟต์แวร์ที่พัฒนาขึ้นตลอดจนการจัดหาบุคลากรจะกระทำให้ง่ายกว่า

                2. ในการเลือกภาษาควรเลือกโดยดูจากคุณสมบัติหรือข้อดีของภาษานั้นๆ เป็นหลัก

                3. ถ้าโปรแกรมที่เขียนขึ้นนั้นต้องนำไปทำงานบนเครื่องต่างๆกัน ควรเลือกภาษาที่สามารถใช้งานได้ บนทุกเครื่องเพราะจะทำให้เขียนโปรแกรมเพียงครั้งเดียวเท่านั้น

                4. ผู้ใช้ควรจำกัดภาษาคอมพิวเตอร์ที่จะใช้ ไม่ควรติดตั้งตัวแปลภาษาคอมพิวเตอร์ทุกภาษาบนเครื่อง ทุกเครื่อง

                5. ภาษาคอมพิวเตอร์ที่เลือกใช้จะถูกจำกัดโดยนักเขียนโปรแกรมที่มีอยู่ ดังนั้นควรใช้ภาษาที่มีผู้รู้อยู่บ้าง

 ตารางแสดงตัวอย่างภาษาคอมพิวเตอร์และการใช้งาน