ภาษาโปรแกรมที่ใช้ในการพัฒนาโปรแกรมขึ้นมาใช้งานนั้น
มีอยู่ด้วยกันหลายภาษา ซึ่งแต่ละภาษาจะมีคุณสมบัติและความเหมาะสมในการนำมาใช้ในการพัฒนาโปรแกรมแตกต่าง กัน
ซึ่งภาษาโปรแกรมที่ใช้งานตั้งแต่อดีตจนถึงปัจจุบันนั้น
สามารถแบ่งได้เป็น
5 ยุค ดังนี้
ยุคที่
1 : ภาษาเครื่อง
(Machine Language)
ภาษาเครื่อง เป็นภาษาโปรแกรมคอมพิวเตอร์ระดับต่ำที่สุด
ซึ่งคอมพิวเตอร์เข้าใจ ได้ทันทีโดยไม่ต้องผ่านตัวแปลภาษาเพราะเขียนคำสั่งและแทนข้อมูลด้วยเลขฐานสอง (Binary Code) ทั้งหมด
ซึ่งเป็นการเขียนคำสั่งด้วยเลข 0 หรือ 1 ดังตัวอย่างคำสั่งภาษาเครื่อง ดังนี้
คำสั่งภาษาเครื่อง (Machine Code) |
|
ความหมาย |
0010 0000 |
|
โหลดข้อมูลจากหน่วยความจำ |
0100 0000 |
|
ดำเนินการบวกข้อมูล |
0011 0000 |
|
เก็บข้อมูลลงในหน่วยความจำ |
ก่อนปี ค.ศ. 1952
มีการเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษาเครื่องเพียงภาษาเดียว เท่านั้นที่ใช้
ติดต่อกับคอมพิวเตอร์โดยตรง
และคอมพิวเตอร์แต่ละเครื่องจะมีภาษาเครื่องแตกต่าง กันขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์และหน่วยประมวลผลกลาง (Central Processor Unit: CPU)
โดยมีรูปแบบคำสั่งเฉพาะเครื่อง
ดังนั้นนักเขียนโปรแกรมจึงไม่นิยมที่จะเขียนโปรแกรมด้วยภาษาเครื่อง เพราะทำการ แก้ไข และเขียนโปรแกรมได้ยากทำให้เกิดยุ่งยากในการจดจำ
และเขียนคำสั่งต้องใช้เวลามากใน การเขียนโปรแกรม รวมทั้งการหาข้อผิดพลาดจากการทำงานของโปรแกรม
และโปรแกรมที่เขียน ขึ้นทำงานเฉพาะคอมพิวเตอร์ที่มีฮาร์ดแวร์เดียวกันเท่านั้น (Machine Dependent)
ข้อดีของภาษาเครื่อง คือสามารถเขียนโปรแกรมควบคุมการทำงานคอมพิวเตอร์ได้ โดยตรง และสั่งงานให้คอมพิวเตอร์ทำงานได้อย่างรวดเร็ว
ยุคที่ 2 ภาษาแอสเซมบลี ( Assembly Language)
ภาษาแอสเซมบลี
จัดอยู่ในภาษาระดับต่ำ และเป็นภาษาที่พัฒนาต่อมาจากภาษา เครื่องในปี ค.ศ.
1952 ภาษาแอสเซมบลีมีความใกล้เคียงกับภาษาเครื่องมาก คือ 1
คำสั่งของ ภาษาแอสเซมบลีจะเท่ากับ 1 คำสั่งของภาษาเครื่อง
โดยที่ภาษาแอสเซมบลีจะเขียนคำสั่งเป็น ตัวอักษรภาษาอังกฤษ
เพื่อใช้แทนคำสั่งภาษาเครื่อง
ทำให้นักเขียนโปรแกรมสามารถเขียน โปรแกรมได้ง่ายขึ้น
โดยการจดจำรหัสคำสั่งสั้น ๆ ที่จำได้ง่าย ซึ่งเรียกว่า นิวมอนิกโค้ด (Mnemonic code) เช่น
คำสั่งนิวมอนิกโคด
( Mnemonic code) |
คำสั่งภาษาเครื่อง |
ความหมาย |
LOAD |
0010 0000 |
โหลดข้อมูลจากหน่วยความจำ |
ADD |
0100 0000 |
ดำเนินการบวกข้อมูล |
SUB |
1101 0000 |
ดำเนินการลบข้อมูล |
MOV |
1001 0000 |
ย้ายข้อมูลเข้าออกจากหน่วยความจำ |
STROE |
0011 0000 |
เก็บข้อมูลไว้ในหน่วยความจำ |
ตัวอย่างของคำสั่งภาษาแอสเซมบลี ดังตัวอย่าง เช่น CALL MySub ;transfer of control
MOV AX, 5 ;data transfer
ADD AX, 20 ;arithmetic
JZ Next 1 ;logical (jump if zero)
IN A 1, 20 ;input/output (read from hardware port)
RET ;return
เมื่อนักเขียนโปรแกรม
เขียนโปรแกรมด้วยภาษาแอสเซมบลีแล้ว ต้องใช้ตัวแปล ภาษาที่เรียกว่า แอสเซมเบลอ (
Assembler) เพื่อแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง
จึง จะสามารถสั่งงานคอมพิวเตอร์ให้ทำงานได้
สรุปคำสั่งที่เขียนด้วยภาษาโปรแกรมคอมพิวเตอร์ ในยุคที่ 1 และที่ 2
จะต้องใช้ เทคนิคการเขียนโปรแกรมสูง เพราะมีความยืดหยุ่นในการเขียนน้อยมาก
และมีความยากในการ เขียนคำสั่งสำหรับผู้เขียนโปรแกรม แต่สามารถควบคุมและเข้าถึงการทำงานของเครื่อง คอมพิวเตอร์ได้โดยตรง
และมีความรวดเร็วกว่าการใช้ภาษาระดับอื่น ๆ
ยุคที่ 3 ภาษาระดับสูง ( High-level Language)
ภาษาระดับสูงถือว่าเป็นภาษาโปรแกรมคอมพิวเตอร์ในยุคที่สาม ( Third-generation language)
ที่มีการใช้กันอย่างแพร่หลายในปี ค.ศ. 1960 โดยมีโครงสร้างภาษาและชุดคำสั่ง เหมือนกับภาษาอังกฤษ
รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ในการคำนวณได้ด้วย
ทำให้ผู้ เขียนโปรแกรมสะดวกในการเขียนคำสั่งและแสดงผลลัพธ์ได้ตามต้องการ
ลดความยุ่งยากใน การเขียนโปรแกรมลงได้มาก
ทั้งยังทำให้เกิดการใช้งานคอมพิวเตอร์เพื่อการประมวลผลเพิ่มขึ้น
เช่น การควบคุมและสั่งงานเครื่องคอมพิวเตอร์เมนเฟรม
การแก้ปัญหาเฉพาะด้านทางด้าน อุตสาหกรรม เช่น การควบคุมเครื่องจักรกลต่าง ๆ
เป็นต้น
การเขียนโปรแกรมด้วยภาษาระดับสูงจะต้องใช้ตัวแปลภาษา ที่เรียกว่า คอมไพเลอร์ (Compiler)
เพื่อแปลภาษาระดับสูงโดยการตรวจสอบไวยากรณ์ของภาษาระดับสูงไปเป็นภาษา เครื่องเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานต่อไป
โดยคอมไพเลอร์ของภาษาระดับสูงแต่ละ ภาษาจะแปลเฉพาะภาษาของตนเอง
และทำงานได้เฉพาะเครื่องคอมพิวเตอร์ชนิดเดียวกัน เท่านั้น เช่น
คอมไพเลอร์ของภาษา COBOL บนเครื่องไมโครคอมพิวเตอร์
จะแปลภาษาเฉพาะ คำสั่งของภาษา COBOL
และจะทำงานได้บนเครื่องคอมพิวเตอร์ที่เหมือนกันเท่านั้น
ถ้าต้องการ นำไปใช้กับเครื่องคอมพิวเตอร์แบบอื่น ๆ เช่น เมนเฟรม
จะต้องใช้คอมไพเลอร์ของภาษา COBOL แบบใหม่
ตัวอย่างของภาษาคอมพิวเตอร์ระดับสูงได้แก่ ภาษา BASIC ภาษา COBOL ภาษา FORTRAN และ ภาษา C
ที่ได้รับความนิยมมากเช่นกัน สามารถเขียนโปรแกรมแก้ปัญหาเฉพาะ ด้าน เช่น
การควบคุมหุ่นยนต์ การสร้างภาพกราฟิก
ได้เป็นอย่างดีเพราะมีความยืดหยุ่นและเหมาะ กับการใช้งานทั่ว ๆ ไปได้
สรุปภาษาโปรแกรมคอมพิวเตอร์ในยุคที่ 3
มีการเขียนโปรแกรมที่ง่ายกว่าในยุคที่ 2
สามารถทำงานได้บนเครื่องคอมพิวเตอร์หลายระดับ (Machine Independent)
โดยต้องใช้ควบคู่ กับตัวแปลภาษา (Compiler or Interpreter)
สำหรับเครื่องนั้น ๆ และมีความยืดหยุ่นในการแก้ ปัญหาได้มากกว่าภาษาระดับต่ำ
ยุคที่
4 ภาษาระดับสูงมาก ( Very high-level Language)
ภาษาระดับสูงมากเป็นภาษา
โปรแกรมคอมพิวเตอร์ยุคที่สี่ ( Fourth-generation language) ซึ่งเป็นภาษาที่ใช้ในการเขียนโปรแกรมด้วยคำสั่งสั้น
ๆ และง่ายกว่าภาษาในยุคก่อน
ๆ มีการ ทำงานแบบไม่จำเป็นต้องบอกลำดับของขั้นตอนการทำงาน (
Nonprocedural language)
เพียง นักเขียนโปรแกรมกำหนดว่าต้องการให้โปรแกรมทำอะไรเท่านั้นโดยไม่ต้อง
ทราบว่าทำได้ อย่างไร ทำให้เขียนโปรแกรมได้ง่ายและรวดเร็วกว่าภาษาระดับสูงในยุคที่ 3 ที่มีการเขียน โปรแกรมแบบบอกขั้นตอนการทำงาน (
Procedural language) ภาษาระดับสูงมากทำงานเหมือน กับภาษาพูดว่าต้องการอะไรและเขียนเหมือนภาษาอังกฤษ ดังตัวอย่าง เช่น
TABLE FILE SALES
SUM UNITS BY MONTH BY CUSTOMER BY PRODUCT
ON CUSTOMMER SUBTOTAL PAGE BREAK
END
ข้อดีของภาษาคอมพิวเตอร์ในยุคที่ 4
• การเขียนโปรแกรมจะสั้นและง่าย เพราะเน้นที่ผลลัพธ์ของงานว่าต้องการอะไร โดยไม่สนใจว่าจะทำได้อย่าง ไร
• การเขียนคำสั่ง
สามารถทำได้ง่ายและแก้ไข เปลี่ยนแปลงโปรแกรมได้สะดวก
ทำให้พัฒนาโปรแกรมได้รวดเร็วขึ้น
•
ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้เร็ว โดยไม่ต้องเสียเวลาอบรม
หรือ มีความรู้ด้านการเขียนโปรแกรมหรือไม่ เพราะชุดคำสั่งเหมือนภาษาพูด
•
ผู้เขียนโปรแกรมไม่จำเป็นต้องทราบถึงฮาร์ดแวร์
ของเครื่องและโครงสร้างคำสั่ง ของภาษาโปรแกรม
ตัวอย่างภาษาคอมพิวเตอร์ในยุคที่ 4
ประกอบด้วย Report Generators, Query Language, Application Generators และ
Interactive Database Management System Programs
ภาษาที่ใช้สำหรับเรียกดูข้อมูลจากฐานข้อมูลได้เรียกว่า ภาษาสอบถาม ( Query languages)
จัดเป็นภาษาในยุคที่ 4 ซึ่งสามารถใช้ค้นคืนสารสนเทศของฐานข้อมูล
มาตรฐาน ของภาษาชนิดนี้ขึ้นอยู่กับฐานข้อมูลที่แตกต่างกัน
ที่นิยมใช้กันมากที่สุดคือ SQL(Structured Query Language) และนอกจาก
นี้ยังมีภาษา Query By Example หรือ QBE ที่ได้รับความนิยม ในการใช้งาน
Report Generator หรือ Report Writer
คือโปรแกรมสำหรับผู้ใช้ ( End user) ที่ใช้สำหรับ สร้างรายงาน
รายงานอาจแสดงที่เครื่องพิมพ์หรือจอภาพก็ได้อาจจะแสดงทั้งหมดหรือบางส่วน ของฐานข้อมูลก็ได้ อาจจะกำหนดรูปแบบบรรทัดคอลัมน์ส่วนหัวรายงาน
และอื่น ๆ ได้
Application Generators คือเครื่องมือของผู้เขียนโปรแกรมที่ใช้ในการสร้างโปรแกรม ประยุกต์จากการอภิปรายปัญหาได้เร็วกว่าการเขียนโปรแกรมทั่วๆไป
ยุคที่
5 ภาษาธรรมชาติ ( Natural Language)
ภาษาธรรมชาติจัดเป็นภาษาโปรแกรมคอมพิวเตอร์ยุคที่ห้า ( Fifth generation language)
คือ การเขียนคำสั่ง หรือสั่งงานคอมพิวเตอร์ทำงานโดยการใช้ภาษาธรรมชาติต่าง ๆ
เช่น ภาพ หรือ เสียง โดยไม่สนใจรูปแบบไวยากรณ์หรือโครงสร้างของภาษามากนัก
ซึ่งคอมพิวเตอร์จะ พยายามคิดวิเคราะห์
และแปลความหมายโดยอาศัยการเรียนรู้ด้วยตนเองและระบบองค์ความรู้ ( Knowledge
Base System) มาช่วยแปลความหมายของคำสั่งต่าง ๆ และตอบสนองต่อผู้ใช้งาน
ตัวอย่างภาษาคอมพิวเตอร์ในยุคที่ 5 เช่น
SUM SHIPMENTS BY STATE BY DATE
ข้อดีของภาษาคอมพิวเตอร์ในยุคที่ 5
คือผู้เขียนโปรแกรมสามารถเขียนโปรแกรม ได้เร็ว
โดยไม่ต้องมีความรู้ด้านการเขียนโปรแกรม
แต่คอมพิวเตอร์ที่ใช้โปรแกรมต้องมีระบบรับ คำสั่ง และประมวลผลแบบอัจฉริยะ
สามารถตอบสนองและทำงานได้หลายแบบ |