วันพฤหัสบดีที่ 28 มกราคม พ.ศ. 2559

ภาษาสําหรับการพัฒนาโปรแกรม

ภาษาคอมพิวเตอร์


ภาษาคอมพิวเตอร์
มนุษย์ ใช้ภาษาในการสื่อสารมาตั้งแต่สมัยโบราณ การใช้ภาษาเป็นเรื่องที่มนุษย์พยายามถ่ายทอดความคิดและความรู้สึกต่าง ๆ เพื่อการโต้ตอบและสื่อความหมาย ภาษาที่มนุษย์ใช้ติดต่อสื่อสารในชีวิตประจำวัน เช่น ภาษาไทย ภาษาอังกฤษ หรือภาษาจีน ต่างเรียกว่า “ภาษาธรรมชาติ” (Natural Language) เพราะมีการศึกษา ได้ยิน ได้ฟัง กันมาตั้งแต่เกิดการใช้งานคอมพิวเตอร์ ซึ่งเป็นเครื่องมือทางอิเล็กทรอนิกส์ให้ทำงานตามที่ต้องการ จำเป็นต้องมีการกำหนดภาษา สำหรับใช้ติดต่อสั่งงานกับคอมพิวเตอร์ ภาษาคอมพิวเตอร์จะเป็น ”ภาษาประดิษฐ์” (Artificial Language) ที่มนุษย์คิดสร้างมาเอง เป็นภาษาที่มีจุดมุ่งหมายเฉพาะ มีกฎเกณฑ์ที่ตายตัวและจำกัด คืออยู่ในกรอบให้ใช้คำและไวยากรณ์ที่กำหนดและมีการตีความหมายที่ชัดเจน จึงจัดภาษาคอมพิวเตอร์เป็นภาษาที่มีรูปแบบเป็นทางการ (Formal Language) ต่างกับภาษาธรรมชาติที่มีขอบเขตกว้างมาก ไม่มีรูปแบบตายตัวที่แน่นอน  กฎเกณฑ์ของภาษาจะขึ้นกับหลักไวยากรณ์และการยอมรับของกลุ่มผู้ใช้นั้น ๆ
ภาษา คอมพิวเตอร์อาจแบ่งได้เป็น 3 ระดับ คือ ภาษาเครื่อง (Machine Language) ภาษาระดับต่ำ (Low Level Language) และภาษาระดับสูง (High Level Language)


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




ตัวอย่างภาษาโปรแกรมคอมพิวเตอร์

          ภาษาโปรแกรมคอมพิวเตอร์ที่ใช้เขียนโปรแกรมเพื่อแก้ปัญหาต่างๆ มีมากมายหลายภาษา ซึ่งแต่ละภาษาโปรแกรมมีข้อดีและเหมาะกับใช้งานต่างๆ กัน ในการเลือกใช้ภาษาโปรแกรมคอมพิวเตอร์มาใช้งาน ควรพิจารณาสิ่งต่างๆ ดังนี้คือ
                    1. เลือกภาษาโปรแกรมคอมพิวเตอร์ที่เหมาะกับความชำนาญของบุคลากร หรือนักเขียนโปรแกรม
                    2. คำนึงถึงเวลาและค่าใช้จ่ายในการพัฒนาและเขียนโปรแกรม
                    3. เลือกภาษาโปรแกรมคอมพิวเตอร์ที่นักเขียนโปรแกรมเข้าใจง่าย มีการประยุกต์ใช้งานได้อย่างแพร่หลาย และสามารถพัฒนาต่อไปในอนาคตได้
                    4. เลือกภาษาโปรแกรมคอมพิวเตอร์ให้เหมาะกับฮาร์ดแวร์ และสามารถทำงานร่วมกันได้ระหว่างอุปกรณ์คอมพิวเตอร์


ตัวอย่างภาษาโปรแกรมคอมพิวเตอร์ที่นำมาใช้ในงานด้านต่างๆ สามารถสรุปได้ดังตาราง ต่อไปนี้
ภาษาคอมพิวเตอร์
การใช้งานหลัก
• FORTRAN (FORmula TRANslator)
ใช้ในงานคำทางด้านวิทยาศาสตร์ วิศวกรรมศาสตร์ หรืองานวิจัย การแก้ปัญหาทางคณิตศาสตร์ หรือการวิเคราะห์ทางเศรษฐศาสตร์ได้
• ALGOL (ALGOrithmic Language)
เริ่มต้นได้รับการออกแบบให้เป็นภาษาสำหรับงานวิทยาศาสตร์ และต่อมามีการพัฒนาต่อเป็นภาษา PL/I และ Pascal
• COBOL
(Common Business Oriented Language)
ใช้ในการประมวลผลแฟ้มข้อมูลขนาดใหญ่ การคำนวณทางด้านธุรกิจบนเครื่องขนาดใหญ่
PL/I (Programming Language One)
ถูกออกแบบมาใช้กับงานทั้งทางด้านวิทยาศาสตร์ และธุรกิจ
• BASIC (Beginner's All-purpose Symbolic Instruction Code)
สำหรับผู้เริ่มศึกษาการเขียนโปรแกรมคอมพิวเตอร์ ประยุกต์ใช้งานทางด้านวิทยาศาสตร์ และธุรกิจ
• Pascal ( ชื่อของ Blaise Pascal)
นิยมใช้กันอย่างแพร่หลายทุกด้าน
• C และ C ++
สำหรับนักเขียนโปรแกรม ผู้ผลิตซอฟต์แวร์ และโปรแกรมประยุกต์ต่างๆ
• LISP (LISt Processing)
ออกแบบโดยบริษัท IBM ในปี ค . ศ . 1968 เป็นภาษาที่โต้ตอบ กับผู้ใช้ทันทีเหมาะสำหรับจัดการกับกลุ่มของข้อมูลที่สัมพันธ์กันในรูปแบบตาราง
• LOGO
นิยมใช้ในโรงเรียน เพื่อสอนทักษะการแก้ปัญหาให้กับนักเรียน
• PROLOG (PROgramming LOGic)
นิยมใช้มากในงานด้าน ปัญญาประดิษฐ์จัดเป็นภาษาธรรมชาติ ภาษาหนึ่ง
• RPG (Report Program Generator)
ถูกออกแบบให้ใช้กับงานทางธุรกิจ จะมีคุณสมบัติในการสร้างโปรแกรมสำหรับพิมพ์รายงานที่ยืดหยุ่นมาก
          ตัวอย่างภาษาโปรแกรมคอมพิวเตอร์ ปัจจุบันนี้มีภาษาคอมพิวเตอร์ให้เลือกใช้มากมายหลายภาษา แต่ละภาษาก็ถูกออกแบบ มาให้ใช้กับงานด้านต่าง ๆ กัน ตัวอย่าง เช่น บางภาษาก็ออกแบบมาเพื่อแก้ปัญหาทางธุรกิจ บางภาษาใช้ในการคำนวณที่ซับซ้อน ซึ่งจะกล่าวโดยสรุปถึงการใช้งานของแต่ละภาษาดังนี้



1. ภาษาฟอร์แทรน ( FORTRAN : FORmula TRANslator)

          ภาษาฟอร์แทรน เป็นภาษาระดับสูงที่ได้รับการพัฒนาโดยบริษัท IBM มาตั้งแต่ปี ค.ศ. 1957 ย่อมาจากคำว่า FORmula TRANslator ซึ่งถือว่าเป็นการกำเนิดของภาษาระดับสูงภาษาแรก นิยมใช้สำหรับงานที่มีการคำนวณมาก ๆ เช่น งานทางด้านคณิตศาสตร์ วิทยาศาสตร์ และวิศวกรรมศาสตร์ ภาษา FORTRAN สามารถใช้ในการแก้ปัญหาสมการทางคณิตสาสตร์ที่ซับซ้อนได้ดี หรือการวิเคราะห์ทางเศรษฐศาสตร์

          ตัวอย่างการเขียนโปรแกรมด้วยภาษา FORTRAN

                    FORTRAN PROGRAM
                    SUM = 0
                    COUNTER = 0
                    WRITE ( 6 , 60 )
                    READ ( 5 , 40 ) NUMBER
                    1 IF ( NUMBER) .EQ. 999 ) GOTO 2
                    SUM = SUM + NUMBER
                    COUNTER = COUNTER + 1
                    WRITE ( 6 , 70 )
                    READ ( 5 , 70 ) NUMBER
                    GOTO 1
                    2 AVERAGE = SUM / COUNTER
                    WRITE ( 6 , 80 ) AVERAGE
                    STOP
                    END



 2. ภาษา ALGOL

          ภาษา ALGOL หรือ Algorithmic Language คิดค้นโดยกลุ่มนักคอมพิวเตอร์ ที่มาประชุมวิชาการ ที่ซูริค ในปี 1958 และออกเผยแพร่ปี 1960 มีคำสั่งกำหนดโครงสร้าง และชนิดข้อมูลอย่างสมบูรณ์ และมีการนำไปเป็นพื้นฐานในการออกแบบภาษารุ่นที่ 3 ที่นิยมกันอย่างมากในปัจจุบัน เช่น Pascal โดยภาษา ALGOL ที่เป็นมาตรฐาน ได้แก่ ALGOL- 60 และ ALGOL- 68



3. ภาษาโคบอล (COBOL)
          ภาษาโคบอล เป็นภาษาระดับสูงที่ออกแบบมาตั้งแต่ปี ค.ศ. 1960 โดยสถาบันมาตรฐานแห่งสหรัฐอเมริกากับบริษัทผู้ผลิตคอมพิวเตอร์หลายแห่ง และได?มีการพัฒนาอย่างต่อเนื่องจากมาตรฐานของภาษาโคบอลในปี 1968 กำหนดโดย The American National Standard Institute และในปี 1974 ได?ออกมาตรฐานที่เรียกว่า ANSI - COBOL ต่อมาเป็น COBOL 85 ภาษาโคบอลเป็นภาษาที่ออกแบบให้ใช้?กับงานทางธุรกิจได?เป็นอย่างดี สำหรับการประมวลผลแฟ้มข้อมูลขนาดใหญ่? การคำนวณทางธุรกิจเช่นการจัดเก็บ เรียกใช้? และประมวลผลทางด้านบัญชี ตลอดจนทำงานด้านการควบคุมสินค้าคงคลัง การรับและจ่ายเงิน เป็นต้น
          คำสั่งของภาษา COBOL จะคล้ายกับภาษาอังกฤษทำให้สามารถอ่านและเขียนโปรแกรม ได?ไม?ยากนัก ในยุคแรก ๆ ภาษา COBOL จะได?รับความนิยมบนเครื่องระดับเมนเฟรม แต่ปัจจุบันนี้จะ มีตัวแปลภาษา COBOL ที่ใช้บนเครื่องไมโครคอมพิวเตอร์ด้วย รวมทั้งมีภาษา COBOL ที่ได?รับการ ออกแบบตามแนวทางเชิงวัตถุ ( Object Oriented) เรียกว่า Visual COBOL ซึ่งจะช่วยให้การโปรแกรมสามารถทำได?ง่ายขึ้น และสามารถนำโปรแกรมที่เขียนไว้มาใช้ในการพัฒนางานอื่น ๆ อีก


ตัวอย่างการเขียนโปรแกรมด้วยภาษา COBOL


                    IF SALES-AMOUNT IS GREATER THAN SALES-QUOTA
                    COMPUTE COMMISSION = MAX-RATE * SALES - AMOUNT
                    ELSE
                    COMPUTE COMMISSION = MIN-RATE * SALES - AMOUNT


  4. ภาษาเบสิก (BASIC)
          ภาษาเบสิก ( Basic ย่อมาจาก Beginners All - purpose Symbolic Instruction Code) เป็นภาษาที่ง่ายต่อการเรียนรู้พัฒนาโดย Dartmouth Collage แนะนำโดย John Kemeny และ Thomas Krutz ในปี 1965 เป็นภาษาที่ใช้ง่าย และติดตั้งอยู่บนเครื่องไมโครคอมพิวเตอร์ส่วนมาก ใช้สำหรับ ผู้เริ่มต้นศึกษาการเขียนโปรแกรม และได้มีการพัฒนาอย่างต่อเนื่องจากภาษา BASIC, QBASIC ปัจจุบันเป็น Visual BASIC เป็นที่นิยมใช้กันอย่างแพร?หลาย สามารถประยุกต์ใช้งานได?ทั้งทางวิทยาศาสตร์และทางธุรกิจ

ตัวอย่างการเขียนโปรแกรมด้วยภาษา BASIC


                    CLS

                    PRINT “PLEASE ENTER A NUMBER”
                    INPUT NUMBER
                    DO WHILE NUMBER <> 999
                    SUM = SUM + NUMBER
                    vCOUNTER = COUNTER + 1
                    PRINT “PLEASE ENTER THE NEXT NUMBER”
                    INPUT NUMBER
                    LOOP
                    AVERAGE = SUM/COUNTER
                    PRINT “THE AVERAGE OF THE NUMBER IS”; AVERAGE
                    END



 5. ภาษา PL/ 1

          ภาษา PL/I เป็นภาษาที่พัฒนาขึ้นโดยทีมงานของบริษัทไอบีเอ็ม ที่ตั้งใจจะรวมความสามารถของภาษา FORTRAN, ALGOL, COBOL เข้าด้วยกัน ดังนั้นจึงอาจกล่าวได้ว่า ภาษานี้เป็นภาษาแรกที่ทำงานได้กว้างขวางจริงๆ ทั้งทางด้านวิทยาศาสตร์ วิศวกรรม และธุรกิจ แต่ขณะเดียวกัน ก็ทำให้ตัวแปลภาษาใหญ่มาก จนไม่สามารถนำไปใช้กับเครื่องขนาดเล็กได้ ภาษานี้กำหนดรูปแบบ/ประเภทข้อมูลได้หลายแบบ ทำงานหลายงานพร้อมกันได้ ( Multitasking) ทำงานกับอุปกรณ์รับส่งข้อมูล ที่ซับซ้อนได้ และประมวลรายการได้ ( List Processing) แต่ภาษานี้ไม่เป็นที่ยอมรับมากนัก


6. ภาษาปาสคาล (Pascal)
          ภาษาปาสคาล เป็นภาษาที่ได้รับการพัฒนาโดยนิคลอส เวิร์ธ (Niklaus Wirth) แห่งสถาบันเทคโนโลยีของรัฐในเมือง ซูริค (Zurick) ประเทศสวิสเซอร์แลนด์ เมื่อปี ค.ศ. 1968 ชื่อของภาษานี้ตั้งชื่อเพื่อเป็นเกียรติแก่นักคณิตศาสตร์ชาวฝรั่งเศสคนสำคัญที่ชื่อว่า Blaise Pascal ภาษานี้ออกแบบมาเพื่อให้ง่ายต่อการเขียนโปรแกรม ง่ายต่อการเรียนรู้ แตกต่างกับภาษาเบสิกก็คือ ภาษาปาสคาลเป็นภาษาโครงสร้าง ( Structure Programming) นิยมใช้เป็นภาษาสำหรับการเรียนการสอน และการเขียนโปรแกรมประยุกต์ต่าง ๆ ภาษาปาสคาลมีตัวแปลภาษาทั้งที่เป็นแบบ Interpreter และ Compiler โดยจะมีโปรแกรม เทอร์โบปาสคาล ( Turbo Pascal) ที่ได้รับความนิยมอย่างสูงทั้งในวงการศึกษา และธุรกิจ เนื่องจากได้รับ การปรับปรุงให้ตัดข้อเสียของภาษาปาสคลารุ่นแรก ๆ ออกไป

ตัวอย่างการเขียนโปรแกรมด้วยภาษา Pascal

                    PROGRAM AVERAGE OF NUMBER:
                    VAR
                    COUNTER , NUMBER , SUM : INTEGER ;
                    AVERAGE : REAL ;
                    BEGIN
                    SUM := 0 ;
                    COUNTER := 0;
                    WRITELN (‘PLEASE ENTER A NUMBER');
                    READLN ( NUMBER);
                    WHILE NUMBER <> 999 DO
                    BEGIN (* WHILE LOOP *)
                    SUM := SUM + COUNTER;
                    WRITELN (‘PLEASE ENTER THE NEXT NUMBER');
                    READ ( NUMBER);
                    END ; (* WHILE LOOP *)
                    AVERAGE := SUM / COUNTER;
                    WRITELN (‘THE AVERAGE OF THE NUMBERS IS' , AVERAGE : 2 );
                    END.


 7. ภาษา Modula- 2
          ภาษา Modula- 2 เป็นภาษาที่นิคลอส เวิร์ธ ปรับปรุงจากภาษาปาสกาล โดยพยายามให้มีลักษณะที่ดีของภาษา สำหรับเขียนโปรแกรมมากขึ้น เช่น การทำให้มีการซ่อนสารสนเทศ ( Information Hiding) หลักการนามธรรม ( Abstraction) การกำหนดชนิดข้อมูล ซึ่งสามารถนำไปใช้กับการดำเนินงานแบบ Recursion และ Concurrency ได้ด้วย ปัจจุบันภาษานี้ไม่ได้รับความนิยมเท่าที่ควร


 8. ภาษา C และ C++
          ภาษา C ถูกพัฒนาขึ้นโดย Dennis Ritchie ในปี ค.ศ. 1972 ที่ห้องปฏิบัติการเบลล์ ของบริษัท AT&T เป็นภาษาที่ใช้เขียนระบบปฏิบัติการ UNIX ซึ่งเป็นระบบปฏิบัติการที่ได้รับ ความนิยมคู่กับภาษาซี และมีการใช้งานอยู่ในเครื่องทุกระดับ
          ภาษา C เป็นภาษาระดับสูงที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมเป็นอย่างมาก เนื่องจากภาษา C เป็นภาษาที่รวมเอาข้อดีของภาษาระดับสูงในเรื่องของความยืดหยุ่น และไวยากรณ์ ที่ง่ายต่อการเข้าใจกับข้อดีของภาษาแอสเซมบลีในเรื่องของประสิทธิภาพและความเร็วในการทำงาน ทำให้โปรแกรมที่พัฒนาด้วย ภาษาซีทำงานได้เร็วกว่าโปรแกรมที่เขียนด้วยภาษาระดับสูงอื่น ๆ ในขณะที่การพัฒนา และแก้ไขโปรแกรมสามารถทำได้ง่ายเช่นเดียวกับภาษาระดับสูงทั่ว ๆ ไป นอกจากนี้ภาษา C ยังได้มีการพัฒนาก้าวหน้าขึ้นไปอีก โดยทำการประยุกต์แนวความคิดของการ โปรแกรมเชิงวัตถุเข้ามาใช้ในภาษา ทำให้เกิดเป็นภาษาใหม่คือ C++ (++ ในความหมายของภาษาซีคือ การเพิ่มขึ้นอีกหนึ่งนั่นเอง) ซึ่งเป็นภาษาที่ได้รับความนิยมใช้ในงานพัฒนาโปรแกรมอย่างมาก

          ตัวอย่างการเขียนโปรแกรมด้วยภาษา C และ C++

                    /* http://www.thaiall.com/tc */
                    #include <stdio.h>
                    #include <conio.h>
                    void main(){
                    int i, j;
                    printf("Put integer :");
                    scanf ("%d", &i);
                    printf("n========n");
                    j = 0;
                    while (i > j){
                    printf("%d\n", ++j);
                    }
                    getch();
                    }



 9. ภาษา Ada

          ภาษา Ada พัฒนาขึ้นตามสัญญาว่าจ้างของกระทรวงกลาโหม สหรัฐอเมริกา ที่ต้องการได้ภาษาคอมพิวเตอร์ ที่สามารถใช้แทนภาษาอื่นๆ ที่หน่วยงานต่างๆ ภายในกระทรวงกำลังใช้อยู่ในขณะนั้นได้ ภาษานี้มีโครงสร้างคล้ายภาษาปาสกาล แต่ทำงานได้มากกว่า เช่น ทำงานหลายงานได้พร้อมกัน ( Mustitasking) จัดการกับการขัดจังหวะได้ ( Interrupt handling) จัดจังหวะการทำงานให้เข้ากัน ( Intertask Synchronization) เป็นต้น ซึ่งนับว่าเป็นภาษาที่มากด้วย โครงสร้างแบบต่างๆ จึงมีขนาดใหญ่ด้วย


 10. ภาษา Lisp
          ภาษา Lisp (LISt Processing) เป็นภาษาที่นับได้ว่าเก่าแก่พอๆ กับภาษาฟอร์แทรน พัฒนาในปี 1950 โดย จอห์น แมคคาร์ธี ( John McCarthy) สถาบันเทคโนโลยีแห่งแมสสาชูเสตต์ เหมาะสมกับงานประมวลสัญลักษณ์ หรือรายการต่างๆ ในปัญหาประเภท Combinatorial ซึ่งใช้ในงานปัญญาประดิษฐ์ เช่น การพิสูจน์ทฤษฏี การค้นหาข้อมูล ที่จัดโครงสร้างแบบต้นไม้ เป็นต้น ภาษานี้มีโปรแกรมย่อย ในรูปของฟังก์ชัน ที่มีลักษณะเป็นเอกเทศ สามารถนำมาทำเป็นคลังฟังก์ชันขนาดใหญ่ได้ และเป็นการเน้นหลักการ ด้านการนำกลับมาใช้ใหม่ได้เป็นอย่างดี ปัจจุบันมีการนำมาใช้ในการสร้าง ระบบผู้เชี่ยวชาญกันมาก เพราะลักษณะของภาษา เอื้ออำนวยต่อการใช้ระบุความจริง กฎเกณฑ์ และการอนุมานต่างๆ อันจำเป็นต่องานระบบอิงฐานความรู้


  11. ภาษา Prolog
          ภาษา Prolog (PROgramming in LOGic) เป็นอีกภาษาที่นิยมใช้ในการสร้างระบบผู้เชี่ยวชาญ ( Artificial Intelligence) เพราะเหมาะสำหรับใช้แสดงความรู้ ( Knowledge Representation) โดยนำความรู้มาเขียนในรูปของ อนุประโยค ( Clause) ซึ่งเป็นภาษาคู่แข่งกับภาษา Lisp พัฒนาโดย Colmerauer แห่ง University of Marseilles ในปี 1970 จากนั้น Clocksin กับ Mellish จาก University of Edinburgh ได้นำมาพัฒนาเพื่อใช้งานต่อ


  12. ภาษา APL
          ภาษา APL (A Programming Language) เป็นภาษาระดับสูงที่คิดสร้างโดย เค. อี. ไอเออร์สัน ( Ken Iverson) แห่งบริษัทไอบีเอ็ม เมื่อปี 1960 มีลักษณะแตกต่างจาก ภาษาคอมพิวเตอร์ภาษาอื่นอยู่มาก เช่น ใช้สัญลักษณ์แทนการทำงาน หรือการดำเนินการทางเลขคณิต และอักขระ ทำให้โปรแกรมมีขนาดกระทัดรัด จึงเป็นภาษาที่นิยมใช้แก้ปัญหาคณิตศาสตร์


  13. ภาษาโปรแกรมเชิงวัตถุ ( Object-Oriented Programming Language)
          ภาษาโปรแกรมเชิงวัตถุ ( Object-Oriented Programming) หรือ OOP เหมาะกับการเขียนโปรแกรมประยุกต์ขนาดใหญ่ทำให้งานเขียนโปรแกรมเป็นสิ่งที่ง่ายและสามารถเขียนได้อย่างรวดเร็ว เพราะจะสิ่งต้องการเขียนโปรแกรมเป็นคลาสของวัตถุ ( Class) ซึ่งประกอบด้วย คุณสมบัติ (Property) และวิธีการทำงาน (Method) สามารถทำการแก้ไข หรือเพิ่มเติมคำสั่งใน Method ได้โดยไม่กระทบโปรแกรมส่วนอื่นๆ ทั้งยังสามารถสืบทอดคุณสมบัติของ Class ได้อีกด้วย มีหน้าจอของการโต้ตอบ ( dialog box) หรือไอคอน บนจอภาพ เป็นต้น ตัวอย่างของภาษา OOP เช่น

                    - Smalltalk เป็นภาษา OOP ภาษาแรก ได้สร้างขึ้นในปี 1970 โดยนักคอมพิวเตอร์ชื่อ Alan kay ภาษานี้ใช้แป้นพิมพ์ในการป้อนข้อมูลแต่การทำงานทั้งหมดใช้เมาส์

                    - C++ เป็นการพัฒนาจากภาษา C เพื่อให้เป็นภาษา OOP ได้สร้างขึ้นโดย Bjarne Strousup การเขียนภาษานี้ใช้รหัสมาตรฐานของภาษา C ภาษา C++ สามารถเขียนแบบธรรมดาและแบบ OOP

          ภาษาคอมพิวเตอร์ที่อยู่ในตระกูล Visual เป็นภาษาที่พัฒนาต่อจาก OOP เป้าหมายของ Visual Programming ทำให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่าย การทำงานจะเป็นกราฟฟิกส์ ทำให้ผู้?ใช้คิดเกี่ยวกับการแก้ปัญหาได้ง่าย การสร้างโปรแกรมใช้ Icon แทนการเขียนโปรแกรมประจำโปรแกรมเมอร์จะเชื่อมต่อระหว่าง Object โดยการวาดรูป การชี้ การคลิกบนไดอะแกรม การเขียนโปรแกรมแบบ Visual จะต้องเป็นระบบ GUI ตัวอย่างของภาษาในกลุ่มนี้ที่นิยมคือ Visual Basic พัฒนาโดยไมโครซอฟต์ ในปี 1990 จัดเป็นภาษาในยุคที่ 4 ในกลุ่มของ OOP


  14. ภาษา Visual Basic
          ภาษา Visual Basic เป็นภาษาระดับสูงในยุคที่ 4 พัฒนาโดยบริษัท Microsoft ในปี ค.ศ. 1987 แต่เริ่มได้รับความนิยมในปี ค.ศ.1991 นับว่าเป็นภาษาคอมพิวเตอร์ภาษาแรกที่มีเครื่องมือ เป็นภาพกราฟฟิกคอยอำนวยสะดวกในการเขียนโปรแกรม และได้รับความนิยมในการพัฒนาโปรแกรมบน Windows เพราะมีหลักการเขียนโปรแกรมแบบ Event – Driven ซึ่งเป็นการเขียนโปรแกรมเพื่อกำหนดการทำงานให้กับ Control ต่างๆที่สร้างขึ้นตามเหตุการณ์ (Event) ที่เกิดขึ้น เช่น การคลิกเมาส์ของผู้ใช้ หรือการรับข้อมูลจากคีย์บอร์ด เป็นต้น

  Private Sub Form_Load()
                    Dim i As Integer
                    For i = -5 To 5
                    If i < 0 Then
                    MsgBox i &" เป็นตัวเลขจำนวนเต็มลบ ", vbOKOnly + vbInformation, "Show"
                    Else
                    MsgBox i &" เป็นตัวเลขจำนวนเต็มบวก ", vbOKOnly + vbInformation, "Show"
                    End If
                    Next
                    End Sub


 16. ภาษา Java
          ภาษา Java เป็นภาษาระดับสูงในยุคที่ 4 ที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ ซึ่งเป็นเทคนิคที่ใช้วัตถุ (Object) เป็นหลักในการพิจารณาสิ่งต่างๆที่สนใจ ดังนั้นโปรแกรมที่เขียนด้วยภาษา Java ซึ่งประกอบด้วยกลุ่มของ Object ถูกจัดกลุ่มในรูปของ Class โดยที่แต่ละคลาสมีคุณสมบัติการถ่ายทอดลักษณะ (Inheritance) ภาษา Java ได้รับความนิยมอย่างสูง เนื่องจากโปรแกรมที่เขียนด้วยภาษา Java สามารถทำงานบนเครื่องคอมพิวเตอร์ที่มีสภาวะแวดล้อมต่างกันได้โดยไม่ขึ้นกับแพตฟอร์มใดๆ (Platform Independent) เป็นภาษาที่มีไวยากรณ์เข้าใจง่าย ดังตัวอย่างต่อไปนี้

                    class TestJava
                    {
                    public static void main(String[] args)
                    {
                    System.out.println("Hello World!");
                    }  
                    }



ตัวแปลภาษาโปรแกรมคอมพิวเตอร์
   

ตัวแปลภาษาโปรแกรมคอมพิวเตอร์ เป็นโปรแกรมที่ใช้ในการแปลความหมายของคำสั่งในภาษาคอมพิวเตอร์ชนิดต่างๆไปเป็นภาษาเครื่อง ซึ่งเป็นภาษาที่คอมพิวเตอร์เข้าใจ และทำงานตามคำสั่งได้ โดยโปรแกรมที่เขียนเป็นโปรแกรมต้นฉบับ หรือ ซอร์สโค้ด ( Source code) ซึ่งโปรแกรมเมอร์เขียนคำสั่งตามหลักการออกแบบโปรแกรม และจำเป็นต้องใช้ตัวแปลภาษาคอมพิวเตอร์เพื่อตรวจสอบไวยากรณ์ของภาษาว่าเขียนถูกต้อง หรือไม่ และทดสอบผลลัพธ์ว่าเป็นอย่างไร ซึ่งภาษาคอมพิวเตอร์ชนิดต่างๆจะมีตัวแปลภาษาของตนเองโดยเฉพาะ โปรแกรมที่แปลจากโปรแกรมต้นฉบับแล้วจะเรียกว่า ออบเจ็คโค้ด ( Object code) ซึ่งเป็นภาษาเครื่องที่ประกอบด้วย รหัสคำสั่งที่คอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติได้ต่อไป


  ตัวแปลภาษาคอมพิวเตอร์มีการใช้งานสำหรับการแปลภาษาคอมพิวเตอร์ชนิดต่างๆ แบ่งออกเป็น 3 ประเภท
  1. แอสเซมเบลอร์ ( Assembler) เป็นตัวแปลภาษาแอสเซมบลีซึ่งเป็นภาษาระดับต่ำ ให้เป็นภาษาเครื่อง

  2. อินเทอร์พรีเตอร์ ( Interpreter) เป็นตัวแปลภาษาคอมพิวเตอร์ระดับสูงไปเป็นภาษาเครื่อง โดยใช้หลักการแปลคำสั่งครั้งละ 1 คำสั่งให้เป็นภาษาเครื่อง แล้วนำคำสั่งที่เป็นภาษาเครื่องนั้นไปทำการประมวลผล และแสดงผลลัพธ์ทันทีหากไม่พบข้อผิดพลาด หลังจากนั้นจะแปลคำสั่งถัดไปเรื่อยๆจนกว่าจะจบโปรแกรม ในระหว่างการแปลคำสั่ง ถ้าหากพบข้อผิดพลาดทางไวยากรณ์ของภาษา โปรแกรมอินเทอร์พรีเตอร์ก็จะหยุดการทำงานพร้อมแจ้งข้อผิดพลาดให้ทำการแก้ไขซึ่งทำได้ง่ายและรวดเร็ว แต่ออบเจ็คโค้ดที่ได้จากการแปลคำสั่งโดยใช้อินเทอพรีเตอร์นั้นไม่สามารถเก็บไว้ใช้ใหม่ได้ จะต้องแปลโปรแกรมใหม่ทุกครั้งที่ต้องการใช้งาน ทำให้โปรแกรม ทำงานได้ค่อนข้างช้า
 3. คอมไพเลอร์ ( Compiler) เป็นตัวแปลภาษาคอมพิวเตอร์ระดับสูงไปเป็นภาษาเครื่อง โดยทำการตรวจสอบความถูกต้องของการเขียนคำสั่งทั้งหมดทั้งโปรแกรมให้เป็นออบเจ็คโค้ด แล้วจึงทำการแปลคำสั่งไปเป็นภาษาเครื่อง จากนั้นจึงทำทำการประมวลผลและแสดงผลลัพธ์ หากพบข้อผิดพลาดของการเขียนโปรแกรม หรือมีคำสั่งที่ผิดหลักไวยากรณ์ของภาษาคอมพิวเตอร์ โปรแกรมคอมไพเลอร์จะแจ้งให้โปรแกรมเมอร์ทำการแก้ไขให้ถูกต้องทั้งหมดก่อนแล้วจึงคอมไพล์ใหม่อีกครั้ง จนกว่าไม่พบข้อผิดพลาดถึงจะนำโปรแกรมไปใช้งานได้

          ข้อดีของคอมไพเลอร์ คือโปรแกรมออปเจ็คโค้ดที่ได้จะรวบรวมคำสั่งที่สำคัญในการรันโปรแกรม และได้โปรแกรมที่ทำงานเองได้ หรือ Execute Program ซึ่งสามารถทำงานได้ไม่จำกัด ไม่ต้องเสียเวลาในการแปลใหม่ทุกครั้ง ทำให้การทำงานของโปรแกรมเป็นไปอย่างรวดเร็ว จึงเป็นรูปแบบการแปลที่ได้รับความนิยมอย่างมาก

          ในปัจจุบัน มีหลักการแปลภาษาคอมพิวเตอร์แบบใหม่เกิดขึ้น คือ แปลจากซอร์สโค้ด ไปเป็นรหัสชั่วคราว หรืออินเทอมีเดียตโค้ด ( Intermediate Code) ซึ่งสามารถนำไปทำงานได้ด้วย การใช้โปรแกรมในการอ่าน และทำงานตามรหัสชั่วคราวนั้น โดยโปรแกรมนี้จะมีหลักการทำงาน คล้ายกับอินเทอพรีเตอร์ แต่จะทำงานได้เร็วกว่าเนื่องจากรหัสชั่วคราวจะใกล้เคียงกับภาษาเครื่องมาก มีข้อดีคือสามารถนำรหัสชั่วคราวนั้นไปใช้ได้กับทุก ๆ เครื่องมี่มีโปรแกรมตีความได้ทันที






http://www.elearning.msu.ac.th/opencourse/1201104/Unit_1/Unit_1_01_5.htm

ไม่มีความคิดเห็น:

แสดงความคิดเห็น