เคยสงสัยกันไหมว่าคอมพิวเตอร์เข้าใจภาษาของเราได้อย่างไร? เพราะที่จริงแล้วเขาไม่พูดภาษาคนเหมือนเราๆ ทั้งหลาย คอมพิวเตอร์เข้าใจแค่ภาษาที่เรียกว่า "ภาษาเครื่อง" (Machine Language) และ "ภาษาประกอบ" (Assembly Language) ซึ่งพวกเขาทั้งหมดนี้ถูกเรียกว่า "Low-level Programming Languages" นั่นเอง ภาษาที่อยู่ใกล้กับภาษาของเครื่องกว่าที่ใกล้กับภาษาของมนุษย์นั่นเอง
สมมติให้คอมพิวเตอร์เป็นหุ่นยนต์อัจฉริยะที่เราพึ่งพามันในการทำงานต่างๆ นานา ภาษา Low-level เหมือนกับชุดคำสั่งพิเศษที่ถูกออกแบบมาเพื่อพูดคุยได้โดยตรงกับสมองของหุ่นยนต์ หากเราใช้ภาษา Level-level ในการเขียนโปรแกรม เราก็สามารถควบคุมการทำงานของเครื่องได้ละเอียดและเต็มที่ สามารถทำให้มันทำงานได้รวดเร็วและมีประสิทธิภาพสูง
อย่างไรก็ตาม การเขียนภาษา Low-level นั้นไม่ง่ายเลย ต้องใช้ความเข้าใจที่ลึกซึ้งเกี่ยวกับโครงสร้างภายในของคอมพิวเตอร์ แต่ถ้าเรารู้จักและเข้าใจมัน มันจะช่วยให้เราเข้าถึงพลังที่แท้จริงของคอมพิวเตอร์ได้
ลองคิดถึงเกมบนคอมพิวเตอร์ที่มีกราฟิกที่สวยงาม เคลื่อนไหวได้ลื่นไหล เกมเหล่านั้นได้ถูกสร้างขึ้นมาด้วยภาษา Low-level เพราะมันช่วยให้ผู้พัฒนาสามารถเขียนโค้ดที่ทำงานร่วมกับฮาร์ดแวร์ได้โดยตรง เช่น การควบคุมการ์ดจอ (Graphics Card) เพื่อแสดงผลภาพที่สมจริงและเร็วทันใจผู้เล่น
เรามาดูโค้ดเป็นภาษา Assembly ที่ง่ายมากๆ ซึ่งทำหน้าที่เปรียบเทียบค่าสองค่าและพิมพ์ผลลัพธ์ออกมา:
section .text
global _start
_start:
mov eax, 5 ; กำหนดค่าเป็น 5
cmp eax, 10 ; เปรียบเทียบค่าใน eax กับ 10
jl less_than ; ถ้าน้อยกว่า 10 ไปยัง label less_than
mov ebx, 'Greater'
jmp done
less_than:
mov ebx, 'Less'
done:
; โค้ดที่ใช้ปริ้นข้อความจาก ebx ถูกต้นทาง แนะนำให้ศึกษาจากเอกสารการเขียนโปรแกรมเพิ่มเติม
ตัวอย่างโค้ดนี้เราใช้ภาษา Assembly เพื่อเปรียบเทียบว่าตัวเลข 5 นั้นมากกว่าหรือน้อยกว่า 10 และส่งผลลัพธ์ออกมา โค้ดนี้เรียบง่ายแต่แสดงให้เห็นว่าภาษา Low-level สามารถควบคุมรายละเอียดของขั้นตอนการทำงานได้มาก
ภาษา Low-level เป็นศิลปะและวิทยาศาสตร์ที่น่าทึ่งที่ผู้พัฒนาซอฟต์แวร์ควรรู้จักและเข้าใจ มันไม่เพียงแต่จะช่วยให้เราเข้าใจถึงวิธีการทำงานของคอมพิวเตอร์เท่านั้น แต่ยังเป็นพื้นฐานที่สำคัญในการสร้างโปรแกรมที่มีประสิทธิภาพสูงด้วย
ความรู้เกี่ยวกับ Low-level Programming ไม่เพียงแต่เปิดประตูสู่การควบคุมเครื่องยนต์การคำนวณที่อยู่ใต้ฝาปิดของคอมพิวเตอร์ เราอาจไม่ต้องใช้มันทุกวัน แต่การเรียนรู้เกี่ยวกับมันย่อมเพิ่มความเข้าใจและความสามารถในการแก้ปัญหาทางเทคนิคให้กับเรา
ถ้าคุณสนใจที่จะสำรวจโลกของ Low-level Programming มากขึ้น การเริ่มต้นที่จะเรียนรู้การเขียนโปรแกรมในระดับที่ใกล้ชิดกับเครื่องจักร เช่น ที่ [EPT (Expert-Programming-Tutor)] สามารถเป็นจุดเริ่มต้นที่ดีให้คุณได้เข้าใจเกี่ยวกับการทำงานของคอมพิวเตอร์อย่างถ่องแท้ และทำให้คุณสามารถสร้างสรรค์โปรแกรมที่ทรงพลังได้เช่นกัน.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: low-level_programming machine_language assembly_language programming_language computer_science programming_basics graphics_programming programming_examples assembly_code code_comparison programming_efficiency
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com