ภาษาเครื่อง
(Machine Language)
ความหมายอย่างสั้น
ภาษาเครื่อง (Machine Language) คืออะไร
ภาษาเครื่อง (Machine Language) เป็นภาษาคอมพิวเตอร์ระดับที่ต่ำที่สุด เพราะใช้ เลขฐานสองแทนข้อมูลและคำสั่งต่างๆทั้งหมด จะเป็นภาษาที่ขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลที่ใช้ โดยจะสามารถสื่อสารและสั่งงานเครื่องคอมพิวเตอร์ได้โดยตรง
ความสำคัญของเรื่อง
ขาดภาษาเครื่องจะเป็นอย่างไร
ภาษาเป็นตัวแทนการสื่อสารระหว่างสองสิ่งหรือหลายๆสิ่ง เพื่อให้เกิดความเข้าใจตรงกัน เช่น มนุษย์ใช้คำพูดสื่อสารกัน ก็ถือว่าคำพูดนั้นเป็นภาษา หรืออาจใช้มือในการสื่อสารระหว่างคนที่เป็นใบ้พูดไม่ได้ หรือแม้แต่ดนตรี ก็ถือเป็นภาษาชนิดหนึ่งที่เป็นสากล เพราะคนชาติใดมาฟังก็จะสามารถสื่อถึงความรู้สึกในทำนองเดียวกัน
ในทางคอมพิวเตอร์นั้น ก็ต้องทำการพัฒนาภาษาที่จะสื่อสารระหว่างมนุษย์และคอมพิวเตอร์ แต่ด้วยเหตุที่เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ ซึ่งมีเฉพาะวงจรการเปิดและปิด ทำให้เครื่องคอมพิวเตอร์สื่อสารโดยใช้เลขฐานสองเท่านั้น เรียกภาษาที่ใช้เฉพาะเลข ฐานสองในคอมพิวเตอร์ว่า ภาษาเครื่อง (Machine Language) การที่มนุษย์จะเรียนรู้ภาษาเครื่องนั้นยากมาก เพราะนอกจากจะต้องศึกษาถึงระบบการทำงานของคอมพิวเตอร์แล้ว ยังจะต้องศึกษาถึง คำสั่งและความหมายของคำสั่งสำหรับสั่งงานอุปกรณ์นั้นอีกด้วย ซึ่งจะทำให้การใช้งานคอมพิวเตอร์เป็นเรื่องยุ่งยาก แต่ถ้าหากขาดภาษาเครื่องซึ่งเป็นชุดรหัสคำสั่งที่คอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติต่อได้แล้วนั้น เราจะไม่สามารถสื่อสารหรือใช้งานคอมพิวเตอร์ได้เลย
ความหมายอย่างละเอียด
ลักษณะของภาษาเครื่อง
ภาษาเครื่องเป็นภาษาที่มีการเขียนขึ้นเอง เพื่อใช้กับเครื่องคอมพิวเตอร์ในยุคแรกๆ ซึ่งเครื่องจะสามารถเข้าใจและพร้อมที่จะทำงานตามคำสั่งได้ทันที คำสั่งแต่ละคำสั่งของภาษาเครื่องจะประกอบด้วยตัวเลขล้วนๆ แต่ละคำสั่งของภาษาเครื่อง จะประกอบไปด้วยส่วนสำคัญ 2 ส่วน คือ
1. Operation Code: เป็นส่วนที่เก็บคำสั่งเพื่อให้เครื่องประมวลผล เช่น ให้ทำการบวก ลบ คูณ หาร หรือเปรียบเทียบ เป็นต้น
2. Operand: เป็นส่วนที่บอกให้ทราบถึงตำแหน่งของหน่วยความจำที่บันทึกข้อมูลที่จะถูกนำมาใช้คำนวณ
เครื่องคอมพิวเตอร์แต่ละเครื่องต่างมีภาษาเครื่องของตัวเอง ดังนั้น ผู้เขียนโปรแกรมจึงต้องรู้รหัสคำสั่ง และจดจำความหมายของรหัสคำสั่งในเครื่องนั้นๆได้
ข้อพิจารณาในการนำความรู้ประยุกต์ไปใช้
ถ้าภาษาเครื่องซับซ้อนขนาดนี้จะใช้งานคอมพิวเตอร์อย่างไรดี
แม้ว่าภาษาเครื่องจะเป็นภาษาที่คอมพิวเตอร์เข้าใจได้ง่าย แต่ก็เป็นภาษาที่ยากแก่ผู้เขียนโปรแกรม เพราะนอกจากจะต้องจำรหัสคำสั่งได้ถูกต้องแล้ว ยังต้องจำว่าคำสั่งและข้อมูลนั้นถูกเก็บไว้ที่ตำแหน่งใด ซึ่งถ้ามีการเปลี่ยนแปลงไปใช้คอมพิวเตอร์ที่มีระบบแตกต่างจากของเดิม โปรแกรมเดิมที่มีอยู่จะต้องเปลี่ยนใหม่ทั้งหมด ด้วยเหตุนี้ภาษาเครื่องจึงไม่ใช้ภาษาที่สะดวกแก่การเขียนโปรแกรม จึงมีผู้พัฒนาภาษาที่ง่ายขึ้น ให้บรรดาเหล่าโปรแกรมเมอร์ทั้งหลายสามารถทำงานได้อย่างคล่องตัว ซึ่งได้แก่ ภาษาระดับที่สูงขึ้นทั้งหลาย เช่น ภาษาซี หรือ Visual Basic ที่จะทำการติดต่อกับภาษาเครื่องผ่านโปรแกรมตัวแปลภาษาตามลำดับอีกทอดหนึ่ง
คำไข (Keywords) : ภาษาเครื่อง / Machine Language / ภาษาเครื่องจักร / ภาษาระดับต่ำ / ภาษาระดับล่าง / เทคโนโลยีสารสนเทศ / ความรู้อ้างอิง / นิยามธุรกิจ
ภาษาระดับต่ำ (Low Level Language)
เป็นภาษาที่ใช้ในยุคแรก ๆ จะมีความยุ่งยากในการเขียนมากแบ่งออกเป็น 2 ประเภทคือ
1.1 ภาษาเครื่อง (Machine Language)
1.2 ภาษาแอสแซมบลี (Assembly Language)
1.1 ภาษาเครื่อง (Machine Language)
เป็นภาษาหรือคำสั่งที่ใช้ในการสั่งงานหรือติดต่อกับเครื่องโดยตรงลักษณะสำคัญ
ของ ภาษาเครื่องจะประกอบด้วยรหัสของเลขฐานสองซึ่งเทียบได้กับลักษณะของสัญญาณทาง ไฟฟ้าเข้ากับหลักการทำงานของเครื่องซึ่งเครื่องสามารถเข้าใจและพร้อมที่จะทำ งานตามคำสั่งได้ทันทีภาษาเครื่องจะมีกฏเกณฑ์ทางไวยากรณ์ค่อนข้างจำกัด โปรแกรมมีลักษณะค่อนข้างยุ่งยากซับซ้อน รหัสโครงสร้างของแต่ละคำสั่งของภาษาเครื่องจะประกอบด้วยส่วนสำคัญ 2 ส่วน คือ
ก. รหัสบอกประเภทของคำสั่ง (Operation Code หรือ Op-Code) เป็นส่วนที่บอกคำสั่งให้เครื่องทำการประมวลผล เช่นให้ทำการบวก ลบ คูณ หาร หรือเปรียบเทียบ
ข. รหัสบอกตำแหน่งข้อมูล (Operand) เป็นส่วนที่บอกว่าข้อมูลที่จะนำมาประมวลผลนั้นเก็บอยู่ในตำแหน่ง (Address) ใดของหน่วยความจำ
ลักษณะของโปรแกรมจะประกอบด้วยกลุ่มของรหัสคำสั่ง ซึ่งประกอบด้วยเลข
ฐาน สองเรียงต่อกัน ซึ่งผู้เขียนโปรแกรมจะต้องทราบถึงเทคนิคการใช้รหัสคำสั่งและจะต้องจำตำแหน่ง ของคำสั่งของข้อมูลที่ถูกเก็บไว้ เพราะเนื่องจากเครื่องคอมพิวเตอร์แต่ละบริษัทจะใช้ภาษาเครื่องของตนเอง และผู้เขียนโปรแกรมจะต้องเข้าใจระบบการทำงานของเครื่องเป็นอย่างดี ดังนั้นการเขียนโปรแกรมเป็นภาษาเครื่องจึงมีผู้เขียนอยู่ในวงจำกัด เพราะต้องมีความรู้ทางด้านเครื่องและรหัสของเครื่องด้วยจึงจะเขียนโปรแกรม ได้ ภาษาเครื่องของคอมพิวเตอร์แต่ละระบบจะแตกต่างกัน ทำให้เกิดความไม่สะดวกเมื่อมีการเปลี่ยนเครื่องคอมพิวเตอร์ระบบใหม่ก็จะต้อง เขียนโปรแกรมใหม่
ข้อดี ของภาษาเครื่อง
1. เมื่อคำสั่งเข้าสู่เครื่องจะสามารถทำงานได้ทันที
2. สามารถสร้างคำสั่งใหม่ ๆ ได้ โดยที่ภาษาอื่นทำไม่ได้
3. ต้องการหน่วยความจำเพียงเล็กน้อย
ข้อเสีย ของภาษาเครื่อง
1. ต้องเขียนโปรแกรมคำสั่งยาวทำให้ผิดพลาดได้ง่าย
2. ผู้เขียนโปรแกรมจะต้องรู้ระบบการทำงานของเครื่องเป็นอย่างดีจึงสามารถเขียน โปรแกรมได้ และถ้าเครื่องที่มีฮาร์ดแวร์ต่างกัน จะใช้โปรแกรมร่วมกันได้
1.2 ภาษาแอสแซมบลี((Assembly Language)
จัดเป็นภาษาสัญลักษณ์ (Symbolic Language) เป็นภาษาที่พัฒนามาจาก
ภาษา เครื่องโดยใช้สัญลักษณ์ข้อความแทนกลุ่มของเลขฐานสอง ทำให้การเขียนโปรแกรมสะดวกขึ้นแต่ผู้เขียนโปรแกรมยังคงต้องจำความหมาย สัญลักษณ์ที่ใช้แทนคำสั่งต่าง ๆ การเขียนโปรแกรมภาษาแอสแซมบลี มีลักษณะที่ต้องขึ้นอยู่กับเครื่องเราไม่สามารถนำโปรแกรมภาษาแอสแซมบลีไปใช้ กับเครื่องต่างชนิดกันได้ ดังนั้น ผู้เขียนโปรแกรมจะต้องเข้าใจระบบการทำงานของเครื่องเป็นอย่างดี การเขียนโปรแกรมด้วยภาษานี้ วิธีการก็คล้ายกับการเขียนโปรแกรมภาษาเครื่องแต่อย่างไรก็ตามคอมพิวเตอร์จะ รู้จักแต่เฉพาะภาษาเครื่องเท่านั้น ดังนั้นจึงต้องมีการแปลภาษาแอสแซมบลีให้เป็นภาษาเครื่องเสียก่อน เครื่องจึงจะสามารถทำงานตามโปรแกรมคำสั่งได้โปรแกรมที่ทำหน้าที่แปลภาษานี้ เรียกว่าแอสแซมเบลอร์ (Assembler)
แซมบลีข้อดี ของภาษาแอส
- การเขียนโปรแกรมเขียนง่ายกว่าภาษาเครื่อง
ข้อเสีย ของภาษาแอสแซมบลี
- ขั้นตอนการเขียนโปรแกรมมีลักษณะคล้ายภาษาเครื่องทำให้โปรแกรมคำสั่งต้องเขียนยาวเช่นเดิม
ภาษาระดับสูง (High Level Language)
ในปีค.ศ. 1960 ได้มีการพัฒนา ภาษาระดับสูง (High Level Language) ขึ้น ภาษาระดับสูงจะใช้คำในภาษาอังกฤษแทนคำสั่งต่าง ๆ รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ได้ด้วย ทำให้นักเขียนโปรแกรมสามารถใช้เวลามุ่งไปในการศึกษาถึงทางแก้ปัญหาเท่านั้น ไม่ต้องเป็นกังวลว่าคอมพิวเตอร์จะทำงานอย่างไรอีกต่อไป
ภาษาระดับสูงนี้ถือว่าเป็น ภาษายุคที่สาม (third-generation language) ซึ่ง ทำให้เกิดการประมวลผลข้อมูลเพิ่มมากขึ้นอย่างมหาศาลระหว่างปี ค.ศ. 1960 ถึง ค.ศ. 1970 และมีผู้หันมาใช้คอมพิวเตอร์กันมากขึ้น โดยสังเกตได้จามเครื่องเมนเฟรมจากจำนวนร้อยเครื่องเพิ่มขึ้นเป็นหมื่น เครื่อง อย่างไรก็ตาม ภาษาระดับสูงก็ยังคงต้องการตัวแปลภาษาให้เป็นภาษาเครื่องเพื่อสั่งให้ เครื่องทำงานต่อไป ตัวแปลภาษาที่นิยมใช้งานกันโดยทั่วไปจะเป็นแบบคอมไพเลอร์ ซึ่งแต่ละภาษาก็มีคอมไพเลอร์ไม่เหมือนกัน รวมทั้งคอมไพเลอร์แต่ละตัวก็จะต่างกันไปบนเครื่องแต่ละชนิดด้วย เช่น ถ้าเขียนโปรแกรมภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์ ก็จะต้องเลือกใช้คอมไพเลอร์ภาษา COBOL ที่ทำงานบนเครื่องไมโครคอมพิวเตอร์ ซึ่งการเขียนโปรแกรมภาษาหนึ่งภาษาใดบนเครื่องที่ต่างกันอาจจะแตกต่างกันได้ เพราะคอมไพเลอร์ที่ใช้ต่างกันนั่นเอง
ภาษาคอมพิวเตอร์บางภาษาได้ถูออแบบมาให้ใช้แก้ปัญหางานเฉพาะ บางอย่าง เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟฟิก เป็นต้น แต่ภาษาคอมพิวเตอร์โดยมากจะมีความยืดหยุ่นให้ใช้งานทั่ว ๆ ไปได้ เช่น ภาษา BASIC ภาษา COBOL หรือภาษา FORTRAN เป็นต้น และนอกจากนี้ยังมีภาษา C ที่ได้รับความนิยมมากเช่นกัน
ภาษาระดับสูงมาก (Very high-level Language)
เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อน ๆ การทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษา อาจต้องใช้ถึง 100 บรรทัด โดยพื้นฐานแล้ว ภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษาใยุคก่อน ๆ อย่างชัดเจน กล่าวคือภาษาในยุคก่อนนั้นใช้หลักการของ การเขียนโปรแกรมแบบโพรซีเยอร์ (procedurl language) ในขณะที่ภาษาในยุคที่ 4 จะเป็นแบบ ไม่ใช้โพรซีเยอร์ (nonprocedurl language) ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้างก็สามารถเขียน โปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว
ภาษาระดับสูงนี้ถือว่าเป็น ภาษายุคที่สาม (third-generation language) ซึ่ง ทำให้เกิดการประมวลผลข้อมูลเพิ่มมากขึ้นอย่างมหาศาลระหว่างปี ค.ศ. 1960 ถึง ค.ศ. 1970 และมีผู้หันมาใช้คอมพิวเตอร์กันมากขึ้น โดยสังเกตได้จามเครื่องเมนเฟรมจากจำนวนร้อยเครื่องเพิ่มขึ้นเป็นหมื่น เครื่อง อย่างไรก็ตาม ภาษาระดับสูงก็ยังคงต้องการตัวแปลภาษาให้เป็นภาษาเครื่องเพื่อสั่งให้ เครื่องทำงานต่อไป ตัวแปลภาษาที่นิยมใช้งานกันโดยทั่วไปจะเป็นแบบคอมไพเลอร์ ซึ่งแต่ละภาษาก็มีคอมไพเลอร์ไม่เหมือนกัน รวมทั้งคอมไพเลอร์แต่ละตัวก็จะต่างกันไปบนเครื่องแต่ละชนิดด้วย เช่น ถ้าเขียนโปรแกรมภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์ ก็จะต้องเลือกใช้คอมไพเลอร์ภาษา COBOL ที่ทำงานบนเครื่องไมโครคอมพิวเตอร์ ซึ่งการเขียนโปรแกรมภาษาหนึ่งภาษาใดบนเครื่องที่ต่างกันอาจจะแตกต่างกันได้ เพราะคอมไพเลอร์ที่ใช้ต่างกันนั่นเอง
ภาษาคอมพิวเตอร์บางภาษาได้ถูออแบบมาให้ใช้แก้ปัญหางานเฉพาะ บางอย่าง เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟฟิก เป็นต้น แต่ภาษาคอมพิวเตอร์โดยมากจะมีความยืดหยุ่นให้ใช้งานทั่ว ๆ ไปได้ เช่น ภาษา BASIC ภาษา COBOL หรือภาษา FORTRAN เป็นต้น และนอกจากนี้ยังมีภาษา C ที่ได้รับความนิยมมากเช่นกัน
ภาษาระดับสูงมาก (Very high-level Language)
เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อน ๆ การทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษา อาจต้องใช้ถึง 100 บรรทัด โดยพื้นฐานแล้ว ภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษาใยุคก่อน ๆ อย่างชัดเจน กล่าวคือภาษาในยุคก่อนนั้นใช้หลักการของ การเขียนโปรแกรมแบบโพรซีเยอร์ (procedurl language) ในขณะที่ภาษาในยุคที่ 4 จะเป็นแบบ ไม่ใช้โพรซีเยอร์ (nonprocedurl language) ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้างก็สามารถเขียน โปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว
เอกสารอ้างอิง
http://www.nukul.ac.th