เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์อย่างหนึ่ง โดยการให้เครื่องคอมพิวเตอร์ทำงานจะต้องป้อนคำสั่งให้กับมัน และต้องเป็นคำสั่งที่เครื่องคอมพิวเตอร์เข้าใจ การนำคำสั่งมาเรียงต่อกันให้ทำงานอย่างใดอย่างหนึ่งเรียกว่า โปรแกรม เมื่อโปรแกรมถูกป้อนเข้าไปในเครื่องคอมพิวเตอร์ ตัวเครื่องจะทำงานทีละคำสั่ง สำหรับการใช้คำสั่งสั่งงานให้คอมพิวเตอร์ทำงานนั้น จะต้องใช้ภาษาที่คอมพิวเตอร์สามารถเข้าใจได้ ภาษาที่คอมพิวเตอร์เข้าใจ เรียกว่า ภาษาเครื่อง (Machine Language) ซึ่งเป็นรหัสเลขฐานสอง เมื่อมีการป้อนภาษานี้เข้าไปในเครื่องคอมพิวเตอร์ รหัสเลขฐานสองจะถูกเปลี่ยนเป็นสัญญาณทางไฟฟ้าที่คอมพิวเตอร์เข้าใจ
แต่ถ้ามนุษย์ต้องการป้อนโปรแกรมให้กับคอมพิวเตอร์เป็นเลขฐานสองนั้น จะทำได้ยากมาก เพราะเป็นภาษาที่มนุษย์เข้าใจได้ยาก จึงได้มีการออกแบบตัวภาษาอังกฤษ ให้แทนคำสั่งรหัสเลขฐานสองเหล่านั้น ซึ่งเรียกว่า รหัสนีโมนิก (mnemonic) ภาษาคอมพิวเตอร์ที่ใช้รหัสนีโมนิกในการเขียนเรียกว่า ภาษาแอสเซมบลี (Assembly Language) ต่อมาได้มีการพัฒนาชุดคำสั่งภาษาต่างๆ ให้มีความใกล้เคียงกับภาษามนุษย์ที่เข้าใจ เรียกว่า ภาษาระดับสูง (High-level Language) ซึ่งมีอยู่หลายภาษา ได้แก่ ภาษาเบสิก ปาสคาล ภาษาซี เป็นต้น สำหรับภาษาแอสเซมบลีเป็นภาษาที่ทำงานได้เร็วเพราะเข้าถึงหน่วยประมวลผลได้เร็วที่สุด เราเรียกภาษานี้ว่า ภาษาระดับต่ำ (Low-level Language)
ภาษาซี ถือเป็นภาษาระดับสูง แต่ความสามารถของคำสั่งภาษาซีบางคำสั่งจะทำงานได้ดี ใกล้เคียงกับภาษาระดับต่ำ แถมเขียนได้ง่ายกว่าภาษาแอสเซมบลี และสามารถติดต่อกับฮาร์ดแวร์ได้อย่างมีประสิทธิภาพ
ตัวแปลภาษา
ในการเขียนโปรแกรมคอมพิวเตอร์ จะต้องทำการแปลภาษาเหล่านั้น ให้เป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจก่อน คอมพิวเตอร์จึงจะทำงานได้ เมื่อเราพัฒนาโปรแกรม จะต้องสร้างโปรแกรมด้วยการเขียนชุดคำสั่ง ซึ่งชุดคำสั่งที่เขียนด้วยภาษาคอมพิวเตอร์ภาษาใดก็ได้ จะเรียกว่าโปรแกรมต้นฉบับ (Source Program) หรือ รหัสต้นฉบับ (Source Code) จากนั้นจะนำโปรแกรมต้นฉบับไปแปลให้เป็นภาษาเครื่อง ที่คอมพิวเตอร์ทำงานได้ ที่เรียกว่า รหัสภาษาเครื่อง (Executable Program) ซึ่งตัวแปลภาษานี้สามารถแบ่งได้เป็น 2 ประเภท คือ อินเตอร์พรีเตอร์ (Interpreter) และคอมไพเลอร์ (Complier)
1. อินเตอร์พรีเตอร์ (Interpreter)
ตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ จะทำการแปลคำสั่งทีละคำสั่ง ให้เครื่องทำงานทีละคำสั่ง หากไม่พบข้อผิดพลาดใดๆ จะทำแปลคำสั่งถัดไป โดยจะกระทำไปจนจบโปรแกรม หรือพบข้อผิดพลาด เครื่องจะหยุดทำงานทันที และแจ้งข้อผิดพลาดให้ทราบ
ตัวอย่างภาษาที่แปลด้วยตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก (Basic) ภาษาเพิร์ล (Perl), ภาษาพีเอชพี (PHP) เป็นต้น
2. คอมไพเลอร์ (Complier)
ตัวแปลภาษาชนิดประเภทคอมไพเลอร์ จะมีวิธีการแปลคำสั่งที่แตกต่างจากตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ คือแปลโปรแกรมต้นฉบับทั้งหมดให้เป็นภาษาเครื่องในครั้งเดียว และในกรณีที่พบข้อผิดพลาด จะรายงานให้ทราบเมื่อจบการแปลโปรแกรม ซึ่งเป็นวิธีที่ทำให้โปรแกรมทำงานได้เร็วขึ้น เพราะไม่ต้องรอทำทีละคำสั่ง
ตัวอย่างภาษาที่แปลด้วยตัวแปลภาษาชนิดประเภทอินเตอร์พรีเตอร์ เช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล (COBOL) ภาษาซี (C) และ ภาษาเบสิกรุ่นใหม่ ๆ เช่น เทอร์โบเบสิก หรือวิชวลเบสิก เป็นต้น
ภาษาแอสแซมบลี
ในการเขียนโปรแกรมด้วยภาษาแอสเซมบลี จะใช้ตัวแปลภาษาให้เป็นภาษาเครื่องที่เรียกว่า แอสเซมเบอร์ (Assembler)
|