ภาษาคอมพิวเตอร์
ภาษาเป็นตัวแทนการสื่อสารระหว่าง 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. ภาษาคอมพิวเตอร์ที่เลือกใช้จะถูกจำกัดโดยนักเขียนโปรแกรมที่มีอยู่ ดังนั้นควรใช้ภาษาที่มีผู้รู้อยู่บ้าง
ตารางแสดงตัวอย่างภาษาคอมพิวเตอร์และการใช้งาน