Saturday, July 18, 2015

ประเภทของภาษาโปรแกรมคอมพิวเตอร์
 
          ใน ปัจจุบันได้มีการพัฒนาภาษาโปรแกรมคอมพิวเตอร์ มากมายหลายภาษา และให้เหมาะกับการใช้งานประเภทต่างๆ โดยแบ่งระดับของภาษาโปรแกรมคอมพิวเตอร์ออกเป็น 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 คือผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้เร็ว โดยไม่ต้องมีความรู้ด้านการเขียนโปรแกรม แต่คอมพิวเตอร์ที่ใช้โปรแกรมต้องมีระบบรับคำสั่ง และประมวลผลแบบอัจฉริยะ สามารถตอบสนองและทำงานได้หลายแบบ

0 comments:

Post a Comment

Subscribe to RSS Feed Follow me on Twitter!