มกราคม 28, 2021, 03:09:32 PM *
ยินดีต้อนรับคุณ, บุคคลไม่รู้ว่าใคร กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
หน้า: [1]   ลงล่าง
  พิมพ์  
ความหมายของ Compiler & Interpreter  (อ่าน 23270 ครั้ง)
ไร้คอนเซปต์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 1669
มิถุนายน 04, 2007, 04:14:10 PM
ผลงาน: 193
2t
แฟนคลับ
ไร้คอนเซปต์
***

ผลงาน: 193
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 1669

เว็บไซต์
« เมื่อ: มิถุนายน 04, 2007, 04:14:10 PM »
Compiler คือ ตัวแปลภาษาที่ใช้วิธีการแปล Source Code ให้เป็นภาษาเครื่องทีเดียวทั้งโปรแกรม จะแปลได้ก็ต่อเมื่อการสร้าง Source Code โปรแกรมนั้นถูกต้องทั้งหมด เมื่อแปลเสร็จแล้ว จึงนำภาษาเครื่องที่ได้ไปทำงานพร้อมกันทั้งโปรแกรม เช่น ภาษา COBOL, Pascal, C, C++

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


แล้วคุณล่ะ คิดว่า Java เป็น Interpreter หรือ compiler แต่บางคนบอกว่าเป็น Interpreter ไม่ใช่คอมไฟล์
Interpreter   คือ ตัวแปลภาษา ที่ละบรรทัด เมื่อคำสั่งถูกต้องก็จะแปลตามนั้น

แต่ที่แน่ๆ Python ผมเป็น Interpreter แจ่มๆ
compiler  คือ ตัวแปลภาษา ที่แปลตั้งแต่ต้นจนจบ แล้วค่อยออกมาเป็นคำสั่ง


ถามให้งง แลกเปลี่ยนความรู้อ่ะจ้า




ผ่านพ้นคืนวันที่ทำเพื่อชาติ
อีกกี่วันคืนจะได้ทำเพื่อตัวและหัวใจ
ขั้น 3 : ซุปเปอร์สตาร์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 102
มิถุนายน 04, 2007, 08:11:51 PM
ผลงาน: 25
apache13
แฟนคลับ
ขั้น 3 : ซุปเปอร์สตาร์
***

ผลงาน: 25
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 102

น้องหมา

เว็บไซต์
« ตอบ #1 เมื่อ: มิถุนายน 04, 2007, 08:11:51 PM »
ที่ผมไปค้นๆมาอะนะ  มันมีที่มาตั้งแต่ตอนต้นปี 1970 นักวิจัยที่สร้างคอมไพเลอร์ของ pascal เค้าคิดจะคอมไพโปรแกรมเป็นภาษาสมมุติก่อนเรียกว่า p-code ที่ต้องทำแบบนี้เพราะว่าในสมัยโน้น เค้ามี cpu หลายค่ายหลายคำสั่งไม่ค่อยเป็นมาตราฐานนัก  การจะทำคอมไพเลอร์ที่ก็ยากเหลือเกิน  เค้าก็เลยคิดทำแบบนี้ขึ้นมาเพื่อให้ จากนั้นให้ interpreter ทำงานกับมัน แต่ที่มันไม่ดังนักเพราะว่า ต่อมามันเข้ายุคของ intel และ motorola ความหลากหลายของ cpu จึงลดลง  ความคิดนี้ก็เงียบไป  แต่ต่อมาไม่นาน ภาษา smalltalk ก็หยิบแนวคิดนี้ขึ้นมาคราวนี้เค้าคิดไปถึงการทำเครื่องจักรสมมุติ โดยมันจะแปลแบบ interpreter เป็นภาษาสมมุติแล้วมี virtual machine มาทำงาน  ทำให้มันทำงานโดยไม่ขึ้นกับเครื่องเลย   แต่ แต่ แต่ ว่ามันก็มีปัญหาอยู่คับ ตรงที่ภาษานี้มันช้า มันจึงไม่บูม เท่าที่ควร ที่เค้าว่ามันช้าน่าจะมาจากการที่มันเป็น oop ล้วนๆเลยไม่ค่อยเหมาะกับคอมที่สเป็คไม่สูงในสมัยก่อน  แล้วต่อมาก็มีคนคิด java ขึ้นมาตามแนวคิดที่มีมาในอดีต  แต่ว่ามันเหนือกว่าโดยแก้จุดบกพร่อง สรุปคือ  เอาการคอมไพล์ เป็นภาษาเครื่องจักรสมมุติ แบบ pascal สมัยโน้นนน  แล้วก็เอาแนวคิดเครือ่งจักรจำลองมาทำงานให้แบบ smalltalk  แล้วก็แก้ให้ทำงานเร็วขึ้น  แล้วก็เอาโครงสร้างภาษามาจาก c / c++

ผมก็คิดว่ามันเป็น ลูกครึ่งอะนะ แต่น่าจะมาทาง interpreter มากหน่อยอะนะ
ไร้คอนเซปต์ *** ออฟไลน์ ออฟไลน์ เพศ: ชาย พลังสะสม: 1669
มิถุนายน 05, 2007, 11:05:40 AM
ผลงาน: 193
2t
แฟนคลับ
ไร้คอนเซปต์
***

ผลงาน: 193
ออฟไลน์ ออฟไลน์

เพศ: ชาย
พลังสะสม: 1669

เว็บไซต์
« ตอบ #2 เมื่อ: มิถุนายน 05, 2007, 11:05:40 AM »
ผมไปค้นคว้ามาอีกแระ (ถ้าพวกเล่น Java อยู่บอกเปงคอมไฟล์เลอร์อ่านะ )ส่วนพวกที่เป็นนักวิเคราห์เค้าจะบอกว่าในความเป็นจริงเป็น อินเตอร์พรีเตอร์ อย่างไรก็ตาม มันจะเป็นไรก็ช่างมั้นผมรู้แต่ว่า ผมไม่อยากหัดภาษานี้หรอกแค่ Hello world ก็ปาไป 158 ตัว
ถ้าเปงภาษาอื่น แค่ print "Hello world" จบแระ

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

กูเกิล ที่เราใช้ๆอยู่มันก็ Python ซัดๆแระ...

สุดท้ายจะศึกษาภาษาไรดีว่า   มีหนังสือแย้ว คือ
assembly   
C         
PHP 
VB6 
e-book Python 
ก็มี...
หาข้อดีข้อเสียแต่ล่ะภาษาก่อนล่ะกัน


สุดท้ายขอบคุณสำหรับข้อคิดเห็นข้างบนครับ
ขั้น 3 : ซุปเปอร์สตาร์ *** ออฟไลน์ ออฟไลน์ พลังสะสม: 144
สิงหาคม 13, 2007, 12:58:22 PM
ผลงาน: 2
leklek
แฟนคลับ
ขั้น 3 : ซุปเปอร์สตาร์
***

ผลงาน: 2
ออฟไลน์ ออฟไลน์

พลังสะสม: 144

« ตอบ #3 เมื่อ: สิงหาคม 13, 2007, 12:58:22 PM »
ขอบคุณคับบบ
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!