Tuesday, June 23, 2015

โปรแกรมภาษาคอมพิวเตอร์ (C/C++/C#/Java) : Week IV


             
                    จากการศึกษาข้อมูลเกี่ยวกับภาษาคอมพิวเตอร์พบว่า ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆ ที่เป็นภาษาคอมพิวเตอร์เช่นกัน ยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็นภาษาโปรแกรม ภาษาคอมพิวเตอร์แบ่งออกเป็น 2 ประเภทใหญ่ๆ คือ

● ภาษาระดับต่ำ ได ้แก่ ภาษาเครื่อง และภาษา Assembly


● ภาษาระดับสูง ได ้แก่ Basic, Pascal, Ada, C, Cobol, Fortran และอื่นๆ



ความแตกต่างระหว่างภาษาระดับสูงและระดับต่ำคือ ภาษาระดับต่ำควบคุมอุปกรณ์ฮาร์ดแวร์คอมพิวเตอร์ได้ดีกว่าแต่เขียนยาก และยาวมากส่วนภาษาระดับสูงเขียนง่ายเข้าใจง่ายกว่าเพราะใกล้เคียงภาษามนุษย์ แต่มีข้อจํากัดในการควบคุมฮาร์ดแวร์





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

ยุคที่ 1 ภาษาเครื่อง (Machine Language)

               เป็นภาษาที่เกิดขึ้นในยุคแรกสุด และเป็นภาษาเดียวที่เครื่องคอมพิวเตอร์จะสามารถเข้าใจคำสั่งได้ ภาษาเครื่องจะแทนข้อมูลหรือคำสั่งในโปรแกรมด้วยกลุ่มของตัวเลข 0 และ 1 หรือที่เรียกว่าเลขฐานสอง ซึ่งจะสัมพันธ์กับการเปิด (On) และการปิด (Off) ของสัญญาณไฟฟ้าภายในเครื่องคอมพิวเตอร์
          → ข้อดีของภาษาเครื่อง คือสามารถเขียนโปรแกรมควบคุมการทำงานคอมพิวเตอร์ได้โดยตรง และสั่งงานให้คอมพิวเตอร์ทำงานได้อย่างรวดเร็ว

 ยุคที่ 2 ภาษาแอสแซมบลี (Assembly Language)

               เป็นภาษาที่มีการใช้สัญลักษณ์ข้อความ (Mnemonic codes) แทนกลุ่มของเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง แต่เนื่องจากคอมพิวเตอร์รู้จักเฉพาะภาษาเครื่องเท่านั้น ดังนั้นภาษาแอสแซมบลี จึงต้องใช้ตัวแปลภาษาที่เรียกว่า “แอสแซมเบลอร์ (Assembler)” เพื่อแปลคำสั่งภาษาแอสแซมบลีให้เป็นภาษาเครื่อง
               

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


ยุคที่ 3 ภาษาชั้นสูง (High-level Language)             

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

คอมไพเลอร์(compiler)

● คอมไพเลอร์จะอ่านโปรแกรมทั้งหมดก่อนเมื่อเจอข้อผิดพลาดก็จะแจ้งให ้แก้ไขแต่ถ้าไม่พบข้อผิดพลาดใดๆ ในโปรแกรมก็จะแปลให ้เป็นโปรแกรมที่พร้อมจะทํางานดังรูป






ตัวอย่างของภาษาคอมพิวเตอร์ระดับสูงได้แก่ ภาษา BASIC ภาษา COBOL ภาษา FORTRAN และ ภาษา C ที่ได้รับความนิยมมากเช่นกัน สามารถเขียนโปรแกรมแก้ปัญหาเฉพาะด้าน เช่น การควบคุมหุ่นยนต์ การสร้างภาพกราฟิก ได้เป็นอย่างดีเพราะมีความยืดหยุ่นและเหมาะกับการใช้งานทั่วๆ ไปได้

สรุปภาษาโปรแกรมคอมพิวเตอร์ในยุคที่ 3 มีการเขียนโปรแกรมที่ง่ายกว่าในยุคที่ 2 สามารถทำงานได้บนเครื่องคอมพิวเตอร์หลายระดับ (Machine Independent) โดยต้องใช้ควบคู่กับตัวแปลภาษา (Compiler or Interpreter) สำหรับเครื่องนั้นๆ และมีความยืดหยุ่นในการแก้ปัญหาได้มากกว่าภาษาระดับต่ำ


ยุคที่ 4 ภาษาชั้นสูงมาก (Very high-level Language)

                    เรียกได้อีกอย่างว่าภาษาในรุ่นที่ 4 (4GLs: Fourth Generation Languages) ภาษานี้เป็นภาษาที่อยู่ในระดับที่สูงกว่าภาษารุ่นที่ 3 มีลักษณะของภาษาในรุ่นที่เป็นธรรมชาติคล้ายๆ กับภาษาพูดของมนุษย์จะช่วยในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase, InGres เป็นต้น
ข้อดีของภาษาคอมพิวเตอร์ในยุคที่ 4                                   
                  • การเขียนโปรแกรมจะสั้นและง่าย เพราะเน้นที่ผลลัพธ์ของงานว่าต้องการอะไร ไม่สนใจว่าจะทำได้อย่างไร
                  • การเขียนคำสั่ง สามารถทำได้ง่ายและแก้ไข เปลี่ยนแปลงโปรแกรมได้สะดวก ทำให้พัฒนาโปรแกรมได้รวดเร็วขึ้น
                  • ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้เร็ว โดยไม?ต?องเสียเวลาอบรม หรือมีความรู?ด้านการเขียนโปรแกรมหรือไม่ เพราะชุดคำสั่งเหมือนภาษาพูด
                  • ผู้เขียนโปรแกรมไม่จำเป็นต้องทราบถึงฮาร์ดแวร์ ของเครื่องและโครงสร้างคำสั่งของภาษาโปรแกรม

ยุคที่ 5 ภาษาธรรมชาติ (Natural Language)

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

ตัวอย่างภาษาคอมพิวเตอร์ในยุคที่ 5 เช่น
SUM SHIPMENTS BY STATE BY DATE

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

จากภาษา C สู่ C++
• ภาษา C ได ้มีการพัฒนาต่อโดยใช ้แนวคิดโปรแกรมเชิงวัตถุ หรือ OOP (Object Oriented Programming)
• เกิดภาษาใหม่เรียกว่า “ซี พลัส พลัส” (C++)
• ภาษาซียังเป็นต ้นฉบับให ้กับอีกหลายๆภาษาในปัจจุบันเช่น Java, C# (อ่านว่าซีชาร์ป)
• C# คือภาษาที่ออกแบบมาเพื่อทํางานบนแพลตฟอร์ม.NET 

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

 สรุป 
• คอมไพเลอร์ภาษา C ที่ในปัจจุบันมีหลายตัวแต่มีพื้นฐานมาจากมาตรฐานเดียวกันคือ ANSI C
ซึ่งจะเป็นมาตรฐานของการเขียนโปรแกรมภาษา C บนยูนิกซ์ Linux หรือ Windows โดยใช ้คอมไพเลอร์
Visual C++, Borland C++, GNU C/C++
• ภาษาซีเป็นพื้นฐานของภาษา C++, Java, C# 




อ้างอิงข้อมูลจาก : http://www.elearning.msu.ac.th/opencourse/1201104/Unit_1/Unit_1_01_3.htm








4 comments:

  1. เนื้อหาดีมาก

    ReplyDelete
  2. เรียบเรียงเนื้อหาดี อ่านง่าย

    ReplyDelete
  3. มีสรุปให้ด้วย เริ่ดจริงๆ ตอนแรกอ่านแล้วงง พออ่านรุปเท่านั้นแหละ....ก็ยังงง555 เข้าใจคนโง่คอมหน่อย แต่พอกลับไปย้อนอ่านเนื้อหาข้างบนแบบคร่าวๆก็เข้าใจขึ้งบ้าง ต้องอ่านหลายรอบ555

    ReplyDelete
  4. เออเหมือนยากนะ แต่อ่านดูแล้วเข้าใจดีเลยอ่ะะ

    ReplyDelete