หน้าหลัก
แนะนำรายวิชา
แบบทดสอบวัดผลสัมฤทธิ์ก่อนเรียน
บทที่ 1 ภาษาคอมพิวเตอร์
บทที่ 2 แนวคิดการโปรแกรม
บทที่ 3 ผังงาน
บทที่ 4 รหัสเทียม
บทที่ 5 โครงสร้างภาษาซี
บทที่ 6 ติดตั้งโปรแกรม Dev-c++
บทที่ 7 ตัวแปรภาษาซี
บทที่ 8 ตัวดำเนินการภาษาซี
บทที่ 9 การแสดงผล
บทที่10 การรับข้อมูล
บทที่ 11 การเลือกทำตามเงื่อนไข
บทที่ 12 คำสั่งวนซ้ำ
แบบทดสอบผลสัมฤทธิ์หลังเรียน
แหล่งศึกษาเพิ่มเติม

 


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

1. ภาษาเครื่อง (Machine Language)
2. ภาษาแอสเซมบลี (Assembly Language)
3. ภาษาชั้นสูง  (High level Language)
4. ภาษาขั้นสูงมาก (Very High level Language)
5. ภาษาธรรมชาติ (Natural Language )


1. ภาษาเครื่อง (Machine Language)
          ภาษาคอมพิวเตอร์ คือภาษาเครื่อง (Machine Language) ซึ่งเป็นภาษาระดับต่ำที่สุด ประกอบด้วยเลขฐานสองคือ 0 และ 1 ซึ่งจะสัมพันธ์กับการเปิด (On) และ การปิด (Off) ของสัญญาณไฟฟ้า ภายในเครื่องคอมพิวเตอร์แทนข้อมูล คำสั่งต่างๆ จะเป็นภาษาที่ขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลที่ใช้ แต่ละเครื่องก็จะมีรูปแบบของคำสั่ง เฉพาะ ซึ่งนักคำนวณและนักเขียนโปรแกรมต้องรู้จักวิธีที่จะรวมตัวเลขเพื่อแทนคำสั่งต่าง ๆ ทำให้การเขียนโปรแกรมยุ่งยากมาก
           เครื่องคอมพิวเตอร์แต่ละประเภทจะมีภาษาเครื่องที่เป็นของตนเอง ไม่สามารถนำภาษาเครื่องที่ใช้กับเครื่องประเภทหนึ่ง ไปใช้กับเครื่องประเภทอื่นได้ เนื่องจากแต่ละระบบก็จะมีชุดคำสั่งของภาษาเครื่องที่แตกต่างกันออกไป เป็นลักษณะของภาษาที่มีพัฒนาการนั้นขึ้นอยู่กับเครื่อง (Machine Dependent)
 
2. ภาษาแอสเซมบลี (Assembly Language)
           เป็นภาษาที่ใช้ตัวอักษรในภาษาอังกฤษมาแทนคำสั่งที่เป็นเลขฐานสอง และเรียกอักษรสัญลักษณ์นี้ว่าสัญลักษณ์นีโมนิค (mnemonic codes) เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง จัดภาษาแอสเซมบลีนี้เป็นภาษาระดับต่ำ ตัวอย่างเช่น มีการใช้สัญลักษณ์ต่อไปนี้
A  มาจาก  Add  หมายถึงการบวก
S  มาจาก  Subtract  หมายถึงการลบ
C  มาจาก  Compare  หมายถึงการเปรียบเทียบ
MP  มาจาก  Multiply  หมายถึง การคูณ
ST  มาจาก  Store  หมายถึง การเก็บข้อมูลไว้ในความจำ เป็นต้น

     ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ สะดวกสบายมากขึ้น เนื่องจากไม่ต้องจดจำเลข 0 และ 1 เลขฐานสอง


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

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

3. ภาษาชั้นสูง (High – level Language)
           ภาษารุ่นที่ 3 (3rd Generation Language หรือ 3GLs) ภาษาสร้างขึ้นมาให้สามารถเขียน และอ่านโปรแกรมได้ง่ายขึ้น มีลักษณะเหมือนภาษาอังกฤษทั่ว ๆ ไป ผู้เขียนโปรแกรม ไม่ต้องมีความรู้เกี่ยวกับ ระบบฮาร์ดแวร์แต่อย่างใด ตัวอย่างของภาษาประเภทนี้ได้แก่ ภาษาฟอร์แทรน(Fortran) , โคบอล (Cobol) , เบสิก (Basic) , ปาสคาล (Pascal) , ซี(C) , เอดา(ADA) เป็นต้น
           โปรแกรมที่ถูกเขียนด้วยภาษาประเภทนี้จะทำงานได้เมื่อมีการแปลงให้เป็นภาษาเครื่องเสียก่อน ซึ่งวิธีการแปลงจากภาษาชั้นสูง ให้เป็นภาษาเครื่องนั้น จะทำได้โดยใช้โปรแกรมที่เรียกว่า คอมไพเลอร์(Compiler) หรือ  อินเตอร์พรีเตอร์ (Interpreter)  อย่างใดอย่างหนึ่ง โดยภาษาชั้นสูงแต่ละภาษาจะมีตัวแปลภาษาเฉพาะเป็นของตัวเอง ดังนั้นจึงไม่สามารถนำตัวแปลของภาษาหนึ่งไปใช้กับอีกภาษาหนึ่งได้ ตัวอย่างเช่น ภาษาโคบอลจะมีตัวแปลภาษาที่เรียกว่า โคบอลคอมไพเลอร์ ไม่สามารถนำคอมไพเลอร์ของภาษาโคบอลนี้ไปใช้แปลภาษาปาสคาลได้ เป็นต้น

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

       ภาษารุ่นที่ 3 นี้ ส่วนใหญ่จะจัดอยู่ในกลุ่มของ ภาษามีแบบแผน (Procedural Language) เนื่องจาก ลักษณะการเขียนโปรแกรม จะมีโครงสร้างแบบแผนที่เป็นระเบียบ งานทุกอย่างผู้เขียนโปรแกรม ต้องเขียนโปรแกรมควบคุ การทำงานเองทั้งหมด และต้องเขียนคำสั่งการทำงานที่เป็นขั้นเป็นตอน ไม่ว่าจะเป็นการสร้างแบบฟอร์มกรอกข้อมูล การประมวลผล หรือการสร้างรายงาน ซึ่งโปรแกรมที่เขียนจะค่อนข้างซับซ้อน และใช้เวลาในการพัฒนาค่อนข้างมาก

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

     ภาษาในรุ่นที่ 4 เป็นภาษาที่ผู้เขียนโปรแกรมเพียงแต่บอกว่าต้องการอะไร (What) แต่ไม่ต้องบอกคอมพิวเตอร์ว่า ให้ทำอย่างไร (How) แต่ภาษาในรุ่นที่3 ผู้เขียนโปรแกรมต้องบอกคอมพิวเตอร์ทั้งหมดว่าต้องการทำอะไร และต้องบอกด้วย ว่าต้องทำอย่างไร ซึ่งจะต้องสั่งให้คอมพิวเตอร์ ทำงานเป็นขั้นตอน และคอมพิวเตอร์ก็จะมีหน้าที่ทำงานตามที่ผู้เขียนโปรแกรม สั่งนั่นเอง

5. ภาษาธรรมชาติ (Natural Language)    
             ภาษาในยุคที่ 5 มีรูปแบบเป็นภาษาธรรมชาติ สามารถสั่งงานคอมพิวเตอร์ได้โดยใช้ภาษามนุษย์โดยตรง คำสั่งที่มนุษย์ป้อนเข้าไปในคอมพิวเตอร์ จะอยู่ในรูปของภาษาพูดมนุษย์ ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์ก็สามารถแปลคำสั่งเหล่านั้นให้อยู่ ในรูปแบบที่คอมพิวเตอร์สามารถเข้าใจคำสั่งได้ ถ้าคำสั่งใดไม่ชัดเจน  จะมีการถามกลับ เพื่อให้เข้าใจคำสั่งได้อย่างถูกต้อง
             ภาษาธรรมชาติ ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert System) เป็นงานที่อยู่ในสาขา ปัญญาประดิษฐ์ (Artificial Intelligence)   การที่พยายามทำให้คอมพิวเตอร์ เปรียบเสมือนกับเป็นผู้เชี่ยวชาญคนหนึ่ง ที่สามารถคิด และตัดสินใจ ได้เช่นเดียวกับมนุษย์ คอมพิวเตอร์สามารถตอบคำถามของมนุษย์ได้อย่างถูกต้อง พร้อมทั้งมีข้อแนะนำต่างๆ เพื่อช่วยในการตัดสินใจของมนุษย์ได้ ระบบผู้เชี่ยวชาญใช้กับงานเฉพาะด้านใดด้านหนึ่ง เช่นในด้านการแพทย์ ในการพยากรณ์อากาศ ในการวิเคราะห์ทางเคมี การลงทุน ฯลฯ ซึ่งในการนี้จะต้องมีการเก็บรวบรวมข้อมูล และข่าวสารจากผู้เชี่ยวชาญเฉพาะด้าน และแปลงให้อยู่ในรูปของกฏเกณฑ์ ข้อความจริงต่าง ๆ เก็บไว้ในระบบฐานข้อมูล ของผู้เชี่ยวชาญ เรียกว่าฐานข้อมูลความรู้ (Knowledge Base)   ซึ่งจะต้องเก็บข้อมูลที่มีอยู่เป็นจำนวนมหาศาล และให้ผู้ใช้สามารถใช้กับภาษาธรรมชาติ ในการดึงข้อมูลจากฐานข้อมูลความรู้นี้ได้เราจึงอาจเรียกระบบผู้เชี่ยวชาญนี้ได้ อีกอย่างว่า ระบบฐานความรู้ (Knowledge Base System)