
คอมพิวเตอร์จะเข้าใจเพียงภาษาที่เป็นเลขฐานสองเท่านั้น เช่น 10101111010 อาจเป็นคำสั่งที่ใช้สำหรับแสดงผล คำสั่งพวกนี้เป็นเสมือนลิสรายการที่คอมพิวเตอร์จะต้องทำ มนุษย์เป็นเพียงผู้ป้อนคำสั่งเข้าไปๆเท่านั้น ซึ่งภาษาเลขฐานสองสำหรับมนุษย์แล้วเป็นเรื่องยากมากที่จะทำความเข้าใจ เอาง่ายๆเลยก็ต้องท่องจำกันไป(กว่าจะจำหมดคงเวียนว่ายตายเกิดหลายชั่วอายุคน) ซึ่งไม่จำเป็นเอาเสียเลยที่จะต้องมาลำบากเพื่อให้ได้ผลออกมาน้อยนิด จริงไหมครับ จึงเป็นสาเหตุให้ Compiler ถือกำเนิดขึ้นมาเพื่ออำนวยความสะดวกตรงจุดนี้ครับ แหะๆ ถ้าเปรียบ Compiler กับมนุษย์แล้ว Compiler เปรียบเสมือนล่ามดีๆนี่เอง แต่เป็นล่ามที่เข้าใจภาษาคอมพิวเตอร์นะ เพราะเราจะเขียนภาษาที่มนุษย์อย่างเราๆเข้าใจใส่เข้าไป จากนั้นเจ้า Compiler เนี่ยจะแปลภาษาของเราไปเป็นภาษาเครื่องโดยอัตโนมัติ โดยที่เราไม่ต้องไปสนิทคบค้ากับภาษาเลขฐานสองอีกต่อไป
(ภาษาเลขฐานสอง = ภาษาเครื่อง) นี่เป็นอีกสาเหตุให้วงการโปรแกรมมิ่งบูมมากๆในปัจจุบัน เพราะ Compiler ในปัจจุบันถือเป็นสุดยอดของความสะดวกแล้ว เพราะผมยังเคยคิดว่าการเขียนโปรแกรมนี่เป็นอะไรที่ยากมากนะ แต่ลองนึกย้อนไป คนสมัยก่อนเค้าต้องเขียนโดยใช้ภาษาเลขฐานสองมันลำบากกว่าแค่ไหนไม่มีตัวช่วยไม่มีอะไรเลย
สำหรับ Compiler ก็จะมีชนิดของมันต่างๆกันนะครับ มีหลายภาษา ก็เหมือนกับที่เคยๆได้ยินกันน่ะครับ ภาษา C บ้าง ภาษา Java บ้าง ภาษา PHP เอย ว่ากันไป ซึ่งหน้าที่ Compiler จะไม่ต่างกันแต่ต่างกันตรงที่ "ไวยากรณ์" อะอ้าวว ฟังดูแล้วอาจจะเข้าใจขึ้น เช่น การเอ่ยทักทายของภาษาแต่ละภาษาก็ต่างกัน ไทย(สวัสดี) อังกฤษ(Hello) อะไรประมาณนี้ กล่าวได้ว่า ถ้าเราชำนาญสักภาษาใดภาษาหนึ่งแล้ว ภาษาอืนๆก็ไม่ใช่เรื่องยาก(เอ้าก็พูดพร่ำทำเพลงเป็นแล้วนี่) เพียงแต่ต้องศึกษาไวยากรณ์ให้ดีๆ เท่านั้นเองครับ