ระดับภาษา

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




สัญลักษณ์นิวมอนิกโค๊ด
ความหมาย
A
B
C
MP
STO
การบวก (Add)
การเปรียบเทียบ (Compare)
การคูณ (Muliply)
การเก็บข้อมูลในหน่วยความจำ
(Store)

ตัวอย่างนิวมอนิกโค๊ด
ถึงแม้ว่านิวมอนิกโค๊ดที่ใช้จะไม่ใช้คำในภาษาอังกฤษ แต่ก็เป็นสัญลักษณ์ที่สื่อความหมายให้ผู้ใช้สามารถจดจำได้ง่ายกว่าสัญลักษณ์เลข 0 และ 1 ผู้เขียนโปรแกรมภาษาแอสเซมบลียังสามารถกำหนดชื่อของที่เก็บข้อมูลในหน่วยความจำเป็นคำในภาษาอังกฤษ แทนที่จะเป็นเลขที่ตำแหน่งในหน่วยความจำ เช่น TOTAL,INCOME เป็นต้น แต่ข้อจำกัดของภาษาแอสเซมบลี คือ จะแตกต่างกันไปในแต่ละเครื่องเช่นเดียวภาษาเครื่อง
                ผู้เขียนโปรแกรมภาษาแอสเซมบลีต้องใช้ แอสเซมเบลอ (Assembler) แปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง เพื่อให้คอมพิวเตอร์ทำงานตามต้องการ
ภาษาระดับสูง (High Level Language)
                ในปี ค.ศ. 1960 ได้มีการพัฒนาภาษาระดับสูงขึ้น ภาษาระดับสูงจะใช้คำในภาษาอังกฤษแทนคำสั่งต่างๆ รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ได้ด้วย ทำให้นักเขียนโปรแกรมสามารถใช้เวลามุ่งไปในการศึกษาถึงทางแก้ปัญหาเท่านั้น ไม่ต้องเป็นกังวลว่าคอมพิวเตอร์จะทำงานอย่างไรอีกต่อไป
                ภาษาระดับสูงนี้ถือว่าเป็น ภาษายุคที่สาม (third-generationlanguage) ซึ่งทำให้เกิดการประมวลผลข้อมูลเพื่อมากขึ้นอย่างมหาศาลระหว่างปี ค.ศ. 1960 ถึง ค.ศ. 1970 และมีผู้กันมาใช้คอมพิวเตอร์กันมากขึ้น โดยสังเกตได้จากเครื่องเมนเฟรมจากจำนวนร้อยเครื่องเพิ่มขึ้นเป็นหมื่นเครื่อง อย่างไรก็ตาม ภาษาระดับสูงก็ยังคงต้องการตัวแปลภาษาให้เป็นภาษาเครื่องเพื่อสั่งให้เครื่องทำงานต่อไป ตัวแปลภาษาที่นิยมใช้งานกันโดยทั่วไปจะเป็นแบบคอมไพเลอร์ ซึ่งแต่ละภาษาก็มีคอมไพเลอร์ไม่เหมือนกัน รวมทั้งคอมไพเลอร์แต่ละตัวก็จะต่างกันไปบนเครื่องแต่ละชนิดด้วย เช่น ถ้าเขียนโปรแกรมภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์ ก็จะต้องเลือกใช้คอมไพเลอร์ภาษา COBOL ที่ทำงานบนเครื่องไมโครคอมพิวเตอร์ ซึ่งการเขียนโปรแกรมภาษาหนึ่งภาษาใดบนเครื่องที่ต่างกันอาจจะแตกต่างกันได้ เพราะคอมไพเลอร์ที่ใช้ต่างกันนั่นเอง
                ภาษาคอมพิวเตอร์บางภาษาได้ถูกออกแบบมาให้ใช้แก้ปัญหางานเฉพาะบางอย่าง เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟิก เป็นต้น แต่ภาษาคอมพิวเตอร์โดยมากจะมีความยืดหยุ่นให้ใช้งานทั่วๆไปได้เช่น ภาษา BASIC ภาษา COBOL หรือภาษา FORTRAN เป็นต้น และนอกจากนี้ยังมีภาษา C ที่ได้รับความนิยมมากเช่นกัน
ภาษาระดับสูงมาก (Very high-level Language)
                เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อนๆ การทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้นในขณะที่ถ้าเขียนด้วยภาษาอาจต้องใช้ถึง 100 บรรทัด โดยพื้นฐานแล้ว ภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษาในยุคก่อนๆ อย่างชัดเจน กล่าวคือภาษาในยุคก่อนนั้นใช้หลักการของ การเขียนโปรแกรมแบบโพรซีเยอร์ (procedurl language) ในขณะที่ภาษาในยุคที่ 4 จะเป็นแบบไม่ใช้โพรซีเยอร์ ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้างก็สามารถเขียนโปรแกรมได้ทันทีโดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว
                มีนักเขียนโปรแกรมกล่าวว่า ถ้าใช้ภาษาในยุคที่ 4 นี้เขียนโปรแกรมจะทำให้ได้งานที่เพิ่มเติมขึ้นถึงสิบเท่าตัว ตัวอย่างเช่น ถ้าต้องการพิมพ์รายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน โดยให้แสดงยอดรวมของลูกค้าแต่ละคน และให้ขึ้นหน้าใหม่สำหรับการพิมพ์รายงานลูกค้าแต่ละคน จะเขียนใช้ภาษาในยุคที่ 4 ได้ดังนี้
TABLE FILE SALES
SUM UNIT BY MONTH BY CUSTOMER
BY PROJECT
ON CUSTOMER SUBTOTAL PAGE
BREAK
END
จากตัวอย่างจะเห็นได้ว่าเป็นงานที่ซับซ้อน ซึ่งถ้าใช้ภาษา COBOL เขียนอาจจะต้องใช้ถึง 500 คำสั่ง แต่ถ้าใช้ภาษาในยุคที่ 4 นี้จะเป็นสิ่งที่ทำได้ไม่ยากเลย



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

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