วันพุธที่ 2 พฤศจิกายน พ.ศ. 2559

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

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

2.1 ชนิดของภาษาคอมพิวเตอร์ จากการที่มีภาษาจานวนมากมายนั้นทาให้ต้องกาหนดระดับของภาษาคอมพิวเตอร์เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้นการกาหนดว่าเป็นภาษาระดับต่าหรือภาษาระดับสูงจะขึ้นอยู่กับภาษานั้นใกล้เคียงกับภาษาเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส 0 และ 1 เรียกว่า ภาษาระดับต่า) หรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษเรียกว่า ภาษาระดับสูง)                    
        1. ภาษาระดับต่ำ (Low Level Language) ได้แก่
                           1.1ภาษาเครื่อง (Machine Language) เป็นภาษาระดับต่าที่สุดเพราะใช้เลขฐานสองแทนข้อมูล (0 และ1)และคาสั่งต่างๆทาให้การเขียนโปรแกรมยุ่งยากมาก ตัวอย่าง
                                 แสดงคาสั่งของภาษาเครื่องมีดังนี้
                                 ถ้าเราต้องการสั่งให้เครื่องทางานตามคาสั่ง 9 + 3 แสดงได้ดังนี้
การบวกแทนด้วยรหัส 10101010 เลข 9 เปลี่ยนเป็นเลขฐานสอง 00001001
เลข 3 เปลี่ยนเป็นเลขฐานสอง 00000011 ดังนั้น ค่ำสั่ง 9 + 3 เขียนเป็นภาษาเครื่องได้ดังนี้ 00001001 10101010 00000011 ---------> ภาษาเครื่อง 9 + 3 --------> ภาษามนุษย์และภาษาคอมพิวเตอร์
                           1.2 ภาษาแอสเซมบลี (Assembly Language) ภาษาแอสเซมบลีใช้รหัสเป็นค่า
แทนค่ำสั่งภาษาเครื่องทาให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้นคือใช้สัญลักษณ์แทนเลข 0 และ 1 ของภาษาเครื่องซึ่งสัญลักษณ์ที่ใช้จะเป็นคำสั่งสั้นๆ ทำให้การเขียนโปรแกรมง่ายขึ้นกว่าภาษาเครื่อง แต่ก็ยังคงยุ่งยากมากในการจาคาสั่งทั้งหมด5
                                  ตัวอย่างที่ แสดงคาสั่งของภาษาแอสเซมบลีมีดังนี้ ถ้าเราต้องการสั่งให้เครื่องทางานตามคาสั่ง 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++


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





ไม่มีความคิดเห็น:

แสดงความคิดเห็น