ภาษาคอมพวิ เตอร์
ภาษาคอมพวิ เตอร์
ภาษาคอมพิวเตอร์ หมายถงึ ภาษาใด ๆ ท่ีผใู้ ชง้ านใชส้ ่ือสารกบั คอมพิวเตอร์ หรือคอมพิวเตอร์
ดว้ ยกนั แลว้ คอมพิวเตอร์สามารถทางานตามคาสงั่ น้นั ได้ ภาษาคอมพิวเตอร์มมี ากมายหลายพนั ภาษา แต่
ภาษาท่ีสงั่ ใหค้ อมพวิ เตอร์ทางานไดจ้ ริงน้นั มีภาษาเดียว คือ ภาษาเคร่ือง ( machine language )
การจดั แบ่งภาษาคอมพวิ เตอร์ ส่วนมากในปัจจุบนั นิยมแบ่งภาษาคอมพิวเตอร์เป็นยคุ ดงั น้ี
1. ภาษาเคร่ือง (Machine Language)
2. ภาษาระดบั ต่ามาก(Low Level Language)
3. ภาษาช้นั สูง (High - level Language)
4. ภาษาช้นั สูงมาก (Very High - level Language)
5. ภาษาธรรมชาติ (Natural Language)
ยคุ ท่ี 1
1. ภาษาเครื่อง (Machine Language)
ในยคุ แรก ๆ การใชค้ อมพวิ เตอร์ใหท้ างานตามตอ้ งการน้นั ผเู้ ขียนโปรแกรมจะตอ้ งเขียนคาสง่ั ดว้ ย
ภาษาของเครื่องคอมพิวเตอร์ซ่ึงเรียกว่า ภาษาเครื่อง คาสงั่ ของภาษาเครื่องน้นั จะประกอบดว้ ยกล่มุ ของ
ตวั เลขในระบบเลขฐานสอง เป็นภาษาเดียวเท่าน้นั ท่ีเคร่ืองคอมพิวเตอร์เขา้ ใจไดโ้ ดยตรง ลกั ษณะของภาษา
เป็นภาษาที่ข้ึนอยกู่ บั ฮาร์ดแวร์ของคอมพวิ เตอร์แต่ละระบบ โดยเขียนอยใู่ นรูปของรหสั ของระบบ
เลขฐานสอง ประกอบดว้ ย เลข 0 และเลข 1 ท่ีนามาเขียนเรียงติดต่อกนั ประโยคคาสงั่ ของภาษาเครื่องจะ
ประกอบดว้ ยส่วนที่ระบุใหค้ อมพวิ เตอร์ทางานอะไร เช่น สง่ั ใหท้ าการบวกเลข สงั่ ใหท้ าการเคลือ่ นยา้ ย
ขอ้ มลู เป็นตน้ และอกี ส่วนเพือ่ บอกแหลง่ ขอ้ มลู ท่ีจะนามาทางานตามท่ีระบุในตอนแรก
โครงสร้างของคาสง่ั ในภาษาเครื่อง
คาสง่ั ในภาษาเครื่องจะประกอบดว้ ย 2 ส่วนคือ
1. โอเปอเรชนั โคด (Operation Code) เป็นคาสง่ั ท่ีสง่ั ใหเ้ คร่ืองคอมพวิ เตอร์ปฏบิ ตั ิการ
เช่น การบวก (Addition) การลบ (Subtraction) เป็นตน้
2. โอเปอแรนด์ (Operands) เป็นตวั ที่ระบุตาแหน่งท่ีเกบ็ ของขอ้ มลู ท่ีจะเขา้ คอมพิวเตอร์เพอ่ื
นาไป ปฏบิ ตั ิการตามคาสง่ั ในโอเปอเรชนั โคด
ยคุ ที่ 2
1. ภาษาระดบั ต่า (Low Level Language) เป็นภาษาที่มนุษยท์ าความเขา้ ใจไดย้ าก ส่วนใหญ่
ตอ้ งมีความเขา้ ใจเก่ียวกบั สถาปัตยกรรมคอมพวิ เตอร์ และฮาร์ดแวร์เป็นอยา่ งดีจึงจะสามารถเขียนโปรแกรม
สง่ั งานไดม้ ีขอ้ ดีในส่วนที่เขียนโปรแกรมควบคุมอาร์ดาแวร์แต่ละส่วนไดโ้ ดยตรงจึงทางานไดเ้ ร็ว แต่ไม่
เหมาะท่ีจะใชใ้ นการพฒั นาโปรแกรม ตวั อยา่ งของภาษาระดบั ต่าไดแ้ ก่ ภาษาเครื่อง (Machine
Language) และภาษาแอสเซมบลี (Assembly Language) เป็นตน้
ยคุ ท่ี 3
3. ภาษาระดับสูง
สามารถเรียกไดอ้ ีกอยา่ งว่าเป็นภาษารุ่นท่ี 3 (3rd Generation Languages หรือ
3GLs) เป็นภาษาท่ีถกู สร้างข้ึนมาเพ่ือใหส้ ามารถเขียนและอ่านโปรแกรมไดง้ ่ายข้ึน เน่ืองจากมีลกั ษณะ
เหมือนภาษาองั กฤษทว่ั ๆ ไป และท่ีสาคญั คือผเู้ ขียนโปรแกรมไม่จาเป็นตอ้ งมคี วามรู้เก่ียวกบั ระบบ
ฮาร์ดแวร์แต่อยา่ งใด ตวั อยา่ งของภาษาประเภทน้ีไดแ้ ก่ ภาษาฟอร์แทรน (FORTRAN) โคบอล
(COBOL) เบสิก (BASIC) ปาสคาล (PASCAL) ซี (C) เอดา (ADA) อยา่ งไรกต็ าม
โปรแกรมที่ถกู เขียนดว้ ยภาษาประเภทน้ีจะทางานได้ กต็ ่อเม่ือมีการแปลงใหเ้ ป็นภาษาเคร่ืองเสียก่อน ซ่ึง
วิธีการแปลงจากภาษาช้นั สูงใหเ้ ป็นภาษาเครื่องน้นั จะทาไดโ้ ดยใชโ้ ปรแกรมท่ีเรียกวา่ คอมไพเลอร์
(Compiler) หรือ อนิ เตอร์พรีเตอร์ (Interpreter) อยา่ งใดอยา่ งหน่ึง โดยภาษาช้นั สูงแต่ละภาษา
จะมีตวั แปลภาษาเฉพาะเป็นของตวั เอง
การเขียนโปรแกรมดว้ ยภาษาช้นั สูงน้นั นอกจากจะใหค้ วามสะดวกแก่ผเู้ ขียนเป็นอนั มากแลว้ ผเู้ขียน
แทบจะไมต่ อ้ งมีความรู้เกี่ยวกบั การทางานของระบบฮาร์ดแวร์ก็สามารถเขียนโปรแกรมสง่ั ใหเ้ ครื่อง
คอมพวิ เตอร์ทางานได้ นอกจากน้ียงั มขี อ้ ดีอีกอยา่ งคือสามารถนาโปรแกรมที่เขียนน้ีไปใชง้ านบนเคร่ืองใดก็
ได้ คือมลี กั ษณะท่ีไมข่ ้ึนอยกู่ บั กบั เครื่อง (Hardware Indepent) เพยี งแต่ตอ้ งทาการการแปล
โปรแกรมใหม่เท่าน้นั แต่อยา่ งไรกต็ ามภาษาเครื่องท่ีไดจ้ ากการแปลภาษาช้นั สูงน้ีอาจเยน่ิ เยอ้ และไม่มี
ประสิทธิภาพเท่ากบั การเขียนดว้ ยภาษาเครื่องหรือแอสเซมบลโี ดยตรง
ภาษารุ่นท่ี 3 น้ีส่วนใหญ่จะจดั อยใู่ นกลุ่มของภาษาที่มแี บบแผน (Procedural
language) เน่ืองจากลกั ษณะการเขียนโปรแกรมจะมโี ครงสร้างแบบแผนท่ีเป็นระเบียบ กล่าวคือ งาน
ทุกอยา่ งผเู้ ขียนโปรแกรมตอ้ งเขียนโปรแกรมควบคุมการทางานเองท้งั หมด และตอ้ งเขียนคาสงั่ การทางานที่
เป็นข้นั ตอนทุกอยา่ ง ไมว่ า่ จะเป็นการสร้างแบบฟอร์มกรอกขอ้ มลู การประมวลผล หรือการสร้างรายงาน ซ่ึง
โปรแกรมท่ีเขยี นจะค่อนขา้ งซบั ซอ้ นและใชเ้ วลาในการพฒั นาค่อนขา้ งยาก
ยคุ ที่ 4
4. ภาษาระดับสูงมาก (Very high - Level Language)
สามารถเรียกไดอ้ ีกอยา่ งว่าภาษาในรุ่นท่ี 4 (4GLs: Fourth Generation
Languages) ภาษาน้ีเป็นภาษาท่ีอยใู่ นระดบั ท่ีสูงกวา่ ภาษารุ่นที่ 3 มลี กั ษณะของภาษาในรุ่นที่เป็น
ธรรมชาติคลา้ ย ๆ กบั ภาษาพดู ของมนุษยจ์ ะช่วยในเร่ืองของการสร้างแบบฟอร์มบนหนา้ จอเพอื่ จดั การ
เกี่ยวกบั ขอ้ มลู รวมไปถงึ การออกรายงานซ่ึงจะมกี ารจดั การท่ีง่ายมากไม่ยงุ่ ยากเหมอื นภาษารุ่นท่ี 3 ตวั อยา่ ง
ของภาษาในรุ่นท่ี 4 ไดแ้ ก่ Informix-4GL, Focus, Sybase, InGres เป็นตน้
ลกั ษณะของ 4GL มดี งั ต่อไปน้ี
เป็นภาษาแบบ Nonprocedural ซ่ึงหมายความวา่ ผใู้ ชเ้ พยี งแต่บอกวา่ ตอ้ งการอะไร แต่ไม่
ตอ้ งบอกถงึ รายละเอยี ดว่าตอ้ งทาอยา่ งไร คอมพิวเตอร์จะเป็นผจู้ ดั การใหเ้ องหมด ตวั อยา่ งเช่น ถา้ ตอ้ งการ
สร้างแบบฟอร์มการรับขอ้ มลู จากผใู้ ช้ ผเู้ ขียนโปรแกรมเพยี งแต่ทาการออกแบบหนา้ ตาของแบบฟอร์มน้นั
บนโปรแกรมอดิ ิเตอร์ (Editor) ใดๆ และเก็บเป็นไฟลไ์ วเ้ ม่อื จะเรียกใชง้ านแบบฟอร์มน้นั เพยี งแต่ใช้
คาสงั่ เปิ ดไฟลน์ ้นั ข้นึ มาแสดงบนหนา้ จอคอมพิวเตอร์ไดโ้ ดยทนั ที ซ่ึงต่างจากภาษารุ่นที่ 3 ซ่ึงเป็น
แบบ Procedural ผเู้ ขียนโปรแกรมจะตอ้ งเขียนรายละเอยี ดของโปรแกรมท้งั หมดวา่ ที่บรรทดั น้ี
คอลมั นน์ ้ีจะใหแ้ สดงขอ้ ความหรือขอ้ มลู อะไรออกมา ซ่ึงถา้ ต่อไปจะมีการปรับเปลี่ยนหนา้ ตาของ
แบบฟอร์ม ก็จะเป็นเรื่องท่ียงุ่ ยากอยา่ งยงิ่ หรือในการสร้างรายงานดว้ ย 4GLs กส็ ามารถทาไดอ้ ยา่ ง
ง่ายดายเพียงแต่ระบุลงไปวา่ ตอ้ งการรายงานอะไร มขี อ้ มลู ใดท่ีจะนามาแสดงบา้ ง โดยไมต่ อ้ งบอกถึงวิธีการ
สร้าง หรือการดึงขอ้ มลู แต่อยา่ งใด 4GLs จะจดั การใหเ้ องหมด
ส่วนใหญ่จะพบว่า 4GLs มกั จะอยคู่ วบค่กู บั ระบบฐานขอ้ มลู โดยผใู้ ชร้ ะบบฐานขอ้ มลู จะ
สามารถจดั การฐานขอ้ มลู ไดโ้ ดยผา่ นทาง 4GLs น้ี
ส่วนประกอบของภาษา 4GLs
โดยทว่ั ไปแลว้ 4GLs จะประกอบดว้ ยส่วนสาคญั 3 ส่วนดงั ต่อไปน้ี
เครื่องช่วยสร้างรายงาน (Report Generators) หรืออาจเรียกไดอ้ ีกอยา่ งว่า เคร่ืองมือ
ช่วยเขียนรายงาน (Report Writer) เป็นโปรแกรมสาหรับผใู้ ช้ (end - users) ใหส้ ามารถ
สร้างรายงานอยา่ งง่ายไดด้ ว้ ยตนเอง โดยผใู้ ชส้ ามารถกาหนดเงื่อนไขและขอ้ มลู ท่ีจะออกมาพมิ พใ์ นรายงาน
รวมไปถงึ รูปแบบ (format) ของการพิมพไ์ ว้ โปรแกรมช่วยสร้างรายงานน้ีจะทาการพมิ พร์ ายงานตาม
รูปแบบที่เรากาหนดไวใ้ ห้
ภาษาช่วยคน้ หาขอ้ มลู (Query Languages) เป็นภาษาที่ชว่ ยในการคน้ หาหรือดึงขอ้ มลู
จากฐานขอ้ มลู ภาษาน้ีจะง่ายต่อการใชง้ านมาก เน่ืองจากจะอยใู่ นรูปแบบท่ีใกลเ้ คียงกบั ภาษาองั กฤษมาก
ตวั อยา่ งของภาษาช่วยคน้ หาขอ้ มลู น้ีไดแ้ ก่ ภาษา SQL (Structured Query Language)
ภาษา QBE (Query - By - Example) และ Intellect เป็นตน้
เครื่องมือช่วยสร้างโปรแกรม (Application Generators) 4GLs จะมรี ูปแบบการ
เขียนโปรแกรมเฉพาะตวั และสามารถเรียกใชเ้ ครื่องมอื ช่วยสร้างโปรแกรมน้ีทาการแปลง 4GLs ให้
กลายเป็นโปรแกรมในภาษารุ่นท่ี 3 ได้ เช่น ภาษาโคบอล หรือ ภาษาซี เป็นตน้ ซ่ึงอาจนาภาษาโคบอล หรือซี
ที่แปลงไดไ้ ปพฒั นาต่อเพอื่ ใชก้ บั งานที่มีความซบั ซอ้ นมาก ๆ ต่อไปได้
ประโยชนข์ อง 4GL
1. เป็นภาษาที่ง่ายต่อการเรียนรู้ คาสงั่ แต่ละคาสง่ั สื่อความหมายไดอ้ ยา่ งชดั เจน ดงั น้นั จึงสามารถ
ใชเ้ วลาในการศกึ ษาส้นั กว่าภาษารุ่นท่ี 3
2. ประหยดั เวลาในการเขียนโปรแกรมไดม้ าก เน่ืองจาก 1 คาสง่ั ของ 4GL ถา้ ตอ้ งเขียนดว้ ยภาษา
รุ่นท่ี 3 อาจตอ้ งเขียนถึง 100 กวา่ คาสงั่ ในการทางานแบบเดียวกนั
3. สนบั สนุนระบบจดั การฐานขอ้ มลู ทาใหส้ ามารถจดั การกบั ขอ้ มลู ไดอ้ ยา่ งสะดวกและรวดเร็ว
4. สามารถสร้างแบบฟอร์มเพือ่ จดั การกบั ขอ้ มลู ในฐานขอ้ มลู และออกรายงานไดอ้ ยา่ งง่ายดาย ไม่
ยงุ่ ยาก
5. มเี ครื่องมือการใชง้ านเพ่อื อานวยความสะดวกในการเขียนโปรแกรมมากพอสมควร
6. สามารถทางานไดใ้ นลกั ษณะ Interactive คือมกี ารโตต้ อบกบั ผใู้ ชไ้ ดท้ นั ที
ยคุ ที่ 5
5. ภาษาธรรมชาติ
เป็นภาษาในยคุ ที่ 5 ท่ีมรี ูปแบบเป็นแบบ Nonprocedural เช่นเดียวกบั ภาษารุ่นท่ี 4 การ
ที่เรียกวา่ ภาษาธรรมชาติ เพราะจะสามารถสงั่ งานคอมพวิ เตอร์ไดโ้ ดยใชภ้ าษามนุษยโ์ ดยตรง ซ่ึงโดยทว่ั ไป
คาสง่ั ที่มนุษยป์ ้ อนเขา้ ไปในคอมพวิ เตอร์จะอยใู่ นรูปของภาษาพดู มนุษย์ ซ่ึงอาจมรี ูปแบบท่ีไมแ่ น่นอน
ตายตวั แตค่ อมพวิ เตอร์ก็สามารถแปลคาสง่ั เหล่าน้นั ใหอ้ ย่ใู นรูปแบบที่คอมพวิ เตอร์เขา้ ใจได้ ถา้ ต้งั คาถามใด
ไม่กระจ่างกจ็ ะมกี ารถามกลบั เพอื่ ใหเ้ ขา้ ใจคาถามไดอ้ ยา่ งถกู ตอ้ ง
ภาษาธรรมชาติน้ี ถกู สร้างข้นึ มาจากเทคโนโลยที างดา้ นระบบผเู้ ช่ียวชาญ (Expert
System) ซ่ึงเป็นงานท่ีอยใู่ นสาขาปัญญาประดิษฐ์ (Artificial Intelligence) ในการท่ี
พยายามทาใหค้ อมพวิ เตอร์เปรียบเสมือนกบั เป็นผเู้ ช่ียวชาญคนหน่ึงท่ีสามารถคิดและตดั สินใจได้
เช่นเดียวกบั มนุษย์ คอมพิวเตอร์สามารถตอบคาถามของมนุษยไ์ ดอ้ ยา่ งถกู ตอ้ งพร้อมท้งั มีขอ้ แนะนาต่าง ๆ
เพ่อื ช่วยในการตดั สินใจของมนุษยไ์ ดอ้ กี ดว้ ย ระบบผเู้ ชี่ยวชาญน้ีจะใชก้ บั งานเฉพาะดา้ นใดดา้ นหน่ึงเช่น ใน
การแพทย์ ในการพยากรณ์อากาศ ในการวเิ คราะห์ทางเคมี การลงทุน ฯลฯ ซ่ึงในการน้ีจะตอ้ งมีการเก็บ
รวบรวมขอ้ มลู ที่มีอยเู่ ป็นจานวนมหาศาลและใหผ้ ใู้ ชส้ ามารถใชภ้ าษาธรรมชาติในการดึงขอ้ มลู จาก
ฐานความรู้น้ีได้ ดงั น้นั เราจึงอาจเรียกระบบผเู้ ช่ียวชาญน้ีไดอ้ กี อยา่ งวา่ เป็น ระบบฐานความรู้
(Knowledge Base System) อยา่ งไรกต็ ามระบบผเู้ ช่ียวชาญไมส่ ามารถนามาแทนที่การ
ทางานของผเู้ ชี่ยวชาญที่เป็นมนุษยไ์ ด้ เนื่องจากท้งั ระบบผเู้ ช่ียวชาญและมนุษยจ์ ะตอ้ งทางานร่วมกนั โดย
มนุษยจ์ ะนาขอ้ มลู ท่ีไดจ้ ากระบบผเู้ ช่ียวชาญมาพจิ ารณาร่วมกบั วิจารญาณของตนเองเพื่อตดั สินปัญหาที่
ซบั ซอ้ นอีกที อยา่ งไรกต็ ามระบบผเู้ ชี่ยวชาญน้ีเป็นคลื่นแห่งอนาคต ท่ีจะใชเ้ ป็นเคร่ืองมือช่วยตดั สินใจการ
ทางานของมนุษยไ์ ดอ้ ยา่ งดีเยยี่ ม