## Compiler คืออะไร มีประโยชน์อย่างไร มีอะไรน่าสนใจบ้าง แนะนำแบบง่ายๆ ที่สุด อธิบายง่ายๆ แบบเด็ก 12 ก็เข้าใจ
เพื่อนๆ รู้ไหมว่าเมื่อเราพูดว่า "คอมพิวเตอร์ฉลาดสุดๆ" นั้น แท้จริงแล้วมันไม่ได้ฉลาดเองหรอก แต่เพราะมีโปรแกรมที่ฉลาดและมี "Compiler" ที่ช่วยให้คอมพิวเตอร์เข้าใจโปรแกรมนั้นๆ วันนี้เราจะมาหัดเข้าใจกันว่า Compiler คืออะไร และเจ้าตัวนี้มีความสำคัญอย่างไรบ้างในโลกของการเขียนโปรแกรม
นึกภาพว่า "โปรแกรมเมอร์" คือหนังสือเล่มหนึ่งที่เต็มไปด้วยภาษาที่มนุษย์เข้าใจได้ สำหรับให้คอมพิวเตอร์ทำอะไรสักอย่าง ซึ่งในโลกของคอมพิวเตอร์เราเรียกภาษานี้ว่า "ภาษาโปรแกรมมิ่ง" (Programming Language) แต่ปัญหาคือ คอมพิวเตอร์ไม่เข้าใจภาษาที่เราใช้กัน มันเข้าใจแต่ภาษาของมันเอง ที่เรียกว่า "ภาษาเครื่อง" (Machine Language) ซึ่งเป็นภาษาที่เต็มไปด้วยเลขฐานสองทั้งหมด นั่นคือ 0 และ 1 เท่านั้น
ที่นี่เอง "Compiler" ก็เข้ามามีบทบาท มันเหมือนกับล่ามที่ช่วยแปลภาษาโปรแกรมมิ่งที่เราเขียนลงไปให้เป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจ โดยการแปลนี้จะเปลี่ยนโค้ดที่เราเขียน (เรียกว่าภาษาสูง High-Level Language) ให้กลายเป็นชุดของเลขฐานสองที่คอมพิวเตอร์จะไปปฏิบัติการต่อไป
ลองนึกดูว่าเราเขียนโค้ดเกมสนุกๆ ด้วยภาษา C บนคอมพิวเตอร์ โค้ดนี้เราต้องการให้คอมพิวเตอร์ทำงาน ซึ่งเราจะใช้ GCC (GNU Compiler Collection) เพื่อแปลโค้ดของเรา:
#include
int main() {
printf("Hello, World!");
return 0;
}
เราเขียนโค้ดข้างต้นและบันทึกเป็น `hello_world.c` ต่อมาเราจะเปิด terminal หรือ command line และพิมพ์คำสั่ง:
gcc hello_world.c -o hello_world
GCC จะทำการแปลโค้ด C ของเราเป็นภาษาเครื่อง และสร้างไฟล์ที่เรียกว่า `hello_world` ซึ่งเราสามารถรันบนคอมพิวเตอร์ได้ และเมื่อเรารันมัน:
./hello_world
เราจะเห็นข้อความ "Hello, World!" ปรากฏบนหน้าจอ
โดยสรุป, Compiler คือเครื่องมือสำคัญที่ช่วยให้โปรแกรมที่เราเขียนสามารถทำงานได้บนคอมพิวเตอร์ มันเป็นสะพานระหว่างไอเดียสุดเจ๋งของเรากับโลกเทคโนโลยีที่เปลี่ยนแปลงไม่หยุดหย่อน และถ้าหากเพื่อนๆ รู้สึกสนใจอยากจะเรียนรู้การเขียนโปรแกรมและการทำงานของ Compiler มากขึ้น ไม่ต้องลังเลที่จะเข้ามาเป็นส่วนหนึ่งของโลกแห่งการเขียนโปรแกรม ซึ่งมีสถาบันอย่าง EPT ที่พร้อมจะเป็นตัวช่วยให้เพื่อนๆ ก้าวข้ามขีดจำกัดของตัวเองในโลกของการสร้างสรรค์นวัตกรรมดิจิตอลได้อย่างมหาศาล!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: compiler programming machine_language high-level_language compiler_optimization cross-platform gcc java programming_language programming_tools coding_for_beginners programming_concepts computer_science code_optimization
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ 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