ภาษาคอมพิวเตอร์
1. ภาษาคอมพิวเตอร์หมายถึงอะไร
ตอบ ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆที่เป็นภาษาคอมพิวเตอร์เช่นกันยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็ภาษาโปรแกรม2.ภาษาคอมพิวเตอร์ มีกี่ระดับ อะไรบ้าง
1.ภาษาเครื่อง (Machine Language)
การ เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานในยุคแรก ๆ จะต้องเขียนด้วยภาษาซึ่งเป็นที่ยอมรับของเครื่องคอมพิวเตอร์ที่เรียกว่า “ภาษาเครื่อง” ภาษานี้ประกอบด้วยตัวเลขล้วน ทำให้เครื่อคอมพิวเตอร์สามารถทำงานได้ทันที ผู้ที่จะเขียนโปรแกรมภาษาเครื่องได้ ต้องสามารถจำรหัสแทนคำสั่งต่างๆได้ดังนั้นโอกาสที่จะเกิดความผิดพลาดในการเขียนโปรแกรมจึงมีมาก
ตัวอย่างที่ 1 แสดงคำสั่งของภาษาเครื่องมีดังนี้
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้
การบวกแทนด้วยรหัส 10101010
เลข 9 เปลี่ยนเป็นเลขฐานสอง 00001001
เลข 3 เปลี่ยนเป็นเลขฐานสอง 00000011
ดังนั้น คำสั่ง 9 + 3 เขียนเป็นภาษาเครื่องได้ดังนี้
00001001 10101010 00000011 ---------> ภาษาเครื่อง
9 + 3 --------> ภาษามนุษย์และภาษาคอมพิวเตอร์
ตัวอย่างที่ 2
2.ภาษาระดับต่ำ (Low Level Language)
เนื่องจากภาษาเครื่องเป็นภาษาที่มีความยุ่งยากในการเขียนดังได้กล่าวมาแล้ว จึงไม่มีผู้นิยมและมีการใช้น้อย ดังนั้นได้มีการพัฒนาภาษาคอมพิวเตอร์ขึ้นอีกระดับหนึ่งโดยการใช้ตัวอักษรภาษาอังกฤษเป็นรหัสแทนการทำงาน การใช้และการตั้งชื่อตัวแปรแทนตำแหน่งที่ใช้เก็บจำนวนต่าง ๆ ซึ่งเป็นค่าของตัวแปรนั้น ๆ การใช้สัญลักษณ์ช่วยให้การเขียนโปรแกรมนี้เรียกว่า “ภาษาระดับต่ำ”ภาษาระดับต่ำเป็นภาษาที่มีความหมายใกล้เคียงกับภาษาเครื่อง มากบางครั้งจึงเรียกภาษานี้ว่า “ภาษาอิงเครื่อง” (Machine – Oriented Language)
ภาษาระดับสูงเป็นภาษาที่สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรมกล่าวคือลักษณะของคำสั่งจะประกอบด้วยคำต่างๆในภาษาอังกฤษซึ่งผู้อ่านสามารถเข้าใจความหมายได้ทันทีผู้เขียนโปรแกรมจึงเขียนโปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอสเซมบลีหรือภาษาเครื่อง ภาษาระดับสูงมีมากมายหลายภาษา
ตัวอย่างที่ 1 ภาษาฟอร์แทรน (FORTRAN)
จัดเป็นภาษาระดับสูงที่เก่าแก่ที่สุด โดยบริษัทไอบีเอ็มเป็นภาษาที่เหมาะสำหรับงานที่ต้องการการคำนวณ เช่น งานทางด้านวิทยาศาสตร์วิศวกรรมศาสตร์ และงานวิจัยต่างๆเนื่องจากแนวคิดในการเขียนโปรแกรมในระยะหลังนี้เปลี่ยนมานิยมการเขียนโปรแกรมแบบโครงสร้างมากขึ้นลักษณะของคำสั่งภาษาฟอร์แทรนแบบเดิมไม่เอื้ออำนวยที่จะให้เขียนได้จึงมีการปรับปรุงโครงสร้างของภาษาฟอร์แทรนให้สามารถเขียนโปรแกรมแบบโครงสร้างขึ้นมาได้ในปี พ.ศ. 2509 เรียกว่า FORTRAN 66 และในปี พ.ศ. 2520 สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (American National Standard Institute หรือ ANSI) ได้ปรับปรุง FORTRAN 66 และยอมรับให้เป็นภาษาฟอร์แทรนที่เป็นมาตรฐาน เรียกว่า FORTRAN 77 ใช้ได้กับเครื่องคอมพิวเตอร์ที่มีตัวแปลภาษานี้
ตัวอย่างที่ 2 ภาษาจาวา (Java)
พัฒนาขึ้นในปี พ.ศ. 2534 โดยบริษัทซันไมโครซิสเตมส์เป็นภาษาที่ได้รับความนิยมสูงมาโดยตลอด เนื่องจากเป็นภาษาที่มีความยืดหยุ่นสูงสามารถเขียนโปรแกรมและใช้งานได้บนเครื่องคอมพิวเตอร์ทุกประเภทและระบบปฏิบัติการทุกรูปแบบในช่วงแรกที่เริ่มมีการนำภาษาจาวามาใช้งานจะเป็นการใช้งานบนเครือข่ายอินเทอร์เน็ต เป็นภาษาที่เน้นการทำงานบนเว็บแต่ปัจจุบันสามารถสามารถนำมาประยุกต์สร้างโปรแกรมใช้งานทั่วไปได้นอกจากนี้เมื่อเทคโนโลยีของการสื่อสารก้าวหน้าขึ้นจนกระทั่งเครื่องคอมพิวเตอร์ปาล์มท็อป หรือ แม้แต่โทรศัพท์เคลื่อนที่สามารถเชื่อมต่อเข้าสู่ระบบอินเทอร์เน็ตและใช้งาน ระบบเวิลด์ไวด์เว็บได้ภาษาจาวาก็สามารถสร้างส่วนที่เรียกว่า “แอปเพล็ต” (Applet) ให้อุปกรณ์อิเล็กทรอนิกส์ที่กล่าวข้างต้น เรียกใช้งานจากเครื่องที่เป็นแม่ข่าย (Server) ได้
3.ตัวแปลภาษา
ตอบ แบ่งออกเป็น 3 ประเภท
1. แอสแซมเบลอร์ (Asseblers)
แอสแซมเบลอร์ (Asseblers) เป็นตัวแปลภาษาที่ทำหน้าที่แปลความหมายของสัญลักษณ์ เขียนขึ้นด้วยโปรแกรมภาษาแอสแซมบลี (Assembly Language) ทำหน้าที่เป็นตัวกลางในการแปลความหมายของสัญลักษณ์เหล่านั้นให้เป็นเลขฐานสองที่เครื่องคอมพิวเตอร์เข้าใจได้ ภาษาแอสแซมบลีนี้ ยังจัดอยู่ในกลุ่มของภาษาระดับต่ำ (Low-level Language)
2. อินเตอร์พรีเตอร์ (Interpreters)
อินเตอร์พรีเตอร์ (Interpreters) ทำหน้าที่แปลความหมายของชุดคำสั่ง เขียนขึ้นด้วยโปรแกรมภาษาระดับสูง (high-level Language) โดยวิธีการแปลความหมายในรูปแบบของอินเตอร์พรีเตอร์ คือการอ่านคำสั่งและแปลความหมายทีละบรรทัดคำสั่ง เมื่อพบข้อผิดพลาดจะแจ้งข้อผิดพลาดให้ผู้เขียนทราบและแก้ไขได้ทันที แต่เมื่อประมวลชุดคำสั่งเหล่านั้นแล้ว จะไม่สามารถเก็บไว้ใช้ได้อีก ถ้าต้องการที่จะเรียกใช้นครั้งต่อไปต้องทำการประมวลชุดคำสั่งนี้ใหม่ ทำให้การทำงานของโปรแกรมค่อนข้างช้า จึงเหมาะกับการเขียนโปรแกรมที่มีขนาดเล็ก ตัวอย่างโปรแกรมที่ใช้แปลอินเตอร์พรีเตอร์ได้แก่ ภาษาเบสิก
แอสแซมเบลอร์ (Asseblers) เป็นตัวแปลภาษาที่ทำหน้าที่แปลความหมายของสัญลักษณ์ เขียนขึ้นด้วยโปรแกรมภาษาแอสแซมบลี (Assembly Language) ทำหน้าที่เป็นตัวกลางในการแปลความหมายของสัญลักษณ์เหล่านั้นให้เป็นเลขฐานสองที่เครื่องคอมพิวเตอร์เข้าใจได้ ภาษาแอสแซมบลีนี้ ยังจัดอยู่ในกลุ่มของภาษาระดับต่ำ (Low-level Language)
2. อินเตอร์พรีเตอร์ (Interpreters)
อินเตอร์พรีเตอร์ (Interpreters) ทำหน้าที่แปลความหมายของชุดคำสั่ง เขียนขึ้นด้วยโปรแกรมภาษาระดับสูง (high-level Language) โดยวิธีการแปลความหมายในรูปแบบของอินเตอร์พรีเตอร์ คือการอ่านคำสั่งและแปลความหมายทีละบรรทัดคำสั่ง เมื่อพบข้อผิดพลาดจะแจ้งข้อผิดพลาดให้ผู้เขียนทราบและแก้ไขได้ทันที แต่เมื่อประมวลชุดคำสั่งเหล่านั้นแล้ว จะไม่สามารถเก็บไว้ใช้ได้อีก ถ้าต้องการที่จะเรียกใช้นครั้งต่อไปต้องทำการประมวลชุดคำสั่งนี้ใหม่ ทำให้การทำงานของโปรแกรมค่อนข้างช้า จึงเหมาะกับการเขียนโปรแกรมที่มีขนาดเล็ก ตัวอย่างโปรแกรมที่ใช้แปลอินเตอร์พรีเตอร์ได้แก่ ภาษาเบสิก
3. คอมไพเลอร์ (Compilers)
คอมไพเลอร์ (Compilers) ทำหน้าที่แปลความหมายของชุดคำสั่งเขียนขึ้นด้วยโปรแกรมภาษาระดับสูง (high-level Language) เช่นเดียวกับอินเตอร์พรีเตอร์ แต่มีความแตกต่างกัน สำหรับวิธีการแปลความหมาย เนื่องจากคอมไพเลอร์ จะอ่านชุดคำสั่งทั้งหมดและแปลความหมายของชุดคำสั่งทั้งหมดในครั้งเดียว เมื่อแปลความหมายของชุดคำสั่งทั้งหมดแล้วจะได้เป็น Object Code หรือ สัญลักษณ์ของรหัสคำสั่ง ที่สามารถเก็บไว้ได้เมื่อต้องการใช้งานในครั้งต่อไปโดยไม่ต้องเสียเวลาในการแปลชุดคำสั่งนั้นอีก จึงเหมาะกับการเขียนโปรแกรมที่มีขนาดใหญ่ ตัวอย่างโปรแกรมที่ใช้ตัวแปลคอมไพเลอร์ ได้แก่ ภาษาปาสคาล ภาษาโคบอล และภาษาฟอร์แทรน
คอมไพเลอร์ (Compilers) ทำหน้าที่แปลความหมายของชุดคำสั่งเขียนขึ้นด้วยโปรแกรมภาษาระดับสูง (high-level Language) เช่นเดียวกับอินเตอร์พรีเตอร์ แต่มีความแตกต่างกัน สำหรับวิธีการแปลความหมาย เนื่องจากคอมไพเลอร์ จะอ่านชุดคำสั่งทั้งหมดและแปลความหมายของชุดคำสั่งทั้งหมดในครั้งเดียว เมื่อแปลความหมายของชุดคำสั่งทั้งหมดแล้วจะได้เป็น Object Code หรือ สัญลักษณ์ของรหัสคำสั่ง ที่สามารถเก็บไว้ได้เมื่อต้องการใช้งานในครั้งต่อไปโดยไม่ต้องเสียเวลาในการแปลชุดคำสั่งนั้นอีก จึงเหมาะกับการเขียนโปรแกรมที่มีขนาดใหญ่ ตัวอย่างโปรแกรมที่ใช้ตัวแปลคอมไพเลอร์ ได้แก่ ภาษาปาสคาล ภาษาโคบอล และภาษาฟอร์แทรน




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