การเชื่อมต่อโปรแกรมกับคอมพิวเตอร์

แนวคิดในวิทยาการคอมพิวเตอร์

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

เชื่อมคำสั่งของมนุษย์สู่คอมพิวเตอร์

ภาพเคลื่อนไหวแสดง for loop ที่ถูกคอมไพล์เป็นไบนารี

ภาษาโปรแกรมมิ่ง

  • มนุษย์เขียนแล้วแปลงเป็นไบนารี
  • ทำหน้าที่เป็นตัวกลาง

ประเภทของการแปล

  • การคอมไพล์
  • การอินเทอร์พรีต
แนวคิดในวิทยาการคอมพิวเตอร์

ภาษาแบบคอมไพล์: เหมือนการถ่ายทำภาพยนตร์

ภาพแสดงสตูดิโอบันทึกเสียงเป็นอุปมาของภาษาแบบคอมไพล์

ภาษาแบบคอมไพล์

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

ตัวอย่างภาษาแบบคอมไพล์

ภาษาโปรแกรมมิ่ง โลโก้
C โลโก้ภาษาโปรแกรมมิ่ง C
C++ โลโก้ภาษาโปรแกรมมิ่ง C++
Java โลโก้ภาษาโปรแกรมมิ่ง Java
Rust โลโก้ภาษาโปรแกรมมิ่ง Rust
Go โลโก้ภาษาโปรแกรมมิ่ง Go

ข้อดี

  • ประสิทธิภาพสูงกว่า

ข้อเสีย

  • วงจรการ debug ช้ากว่า
  • ไบนารีขึ้นอยู่กับแพลตฟอร์ม
แนวคิดในวิทยาการคอมพิวเตอร์

ภาษาแบบอินเทอร์พรีต: เหมือนละครเวที

ภาพแสดงการแสดงละครบนเวทีเป็นอุปมาของภาษาแบบอินเทอร์พรีต

ภาษาแบบอินเทอร์พรีต

  • โค้ดถูกแปลงเป็นไบนารี (machine code) ทีละบรรทัดขณะรัน
  • เปรียบได้กับการแสดงละครสดบนเวที
    • รันได้ทันที
แนวคิดในวิทยาการคอมพิวเตอร์

ตัวอย่างภาษาแบบอินเทอร์พรีต

ภาษาโปรแกรมมิ่ง โลโก้
Python โลโก้ภาษาโปรแกรมมิ่ง Python
Javascript โลโก้ภาษาโปรแกรมมิ่ง Javascript
Ruby โลโก้ภาษาโปรแกรมมิ่ง Ruby
php โลโก้ภาษาโปรแกรมมิ่ง php
R โลโก้ภาษาโปรแกรมมิ่ง R

ข้อดี

  • ยืดหยุ่นและทดสอบได้เร็ว

ข้อเสีย

  • อาจรันช้ากว่า
แนวคิดในวิทยาการคอมพิวเตอร์

มาฝึกกันเถอะ!

แนวคิดในวิทยาการคอมพิวเตอร์

Preparing Video For Download...