ภาษาคอมพิวเตอร์คืออะไร มีอะไรบ้าง
ภาษาคอมพิวเตอร์คืออะไร มีกี่ประเภท และนิยมใช้ทำอะไรบ้าง?
สำหรับผมนะ ภาษาคอมพิวเตอร์มันก็คือภาษาที่เราใช้สั่งงานคอมพิวเตอร์นั่นแหละ ตรงๆ เลย คืออยากให้มันทำอะไรก็ต้องคุยกับมันด้วยภาษาของมัน ซึ่งคนมักจะเหมารวมว่ามันคือภาษาโปรแกรมอย่างเดียว แต่จริงๆ ไม่ใช่เลย อย่าง HTML ที่ใช้จัดหน้าเว็บเนี่ย มันเป็นภาษาคอมพิวเตอร์นะ แต่มันสั่งให้คำนวณบวกลบคูณหารอะไรซับซ้อนไม่ได้ มันแค่บอกว่าตรงนี้เป็นหัวข้อนะ ตรงนี้เป็นรูปภาพนะ แค่นั้น
ตอนผมหัดทำเว็บครั้งแรกเลย ใช้แค่ Notepad เขียน HTML โคตรเบสิกเลย ตอนนั้นแค่เปลี่ยนสีตัวอักษรได้ก็ดีใจแทบตายแล้ว มันคือการบอกโครงสร้างเว็บเฉยๆ แต่มันก็คือการสื่อสารกับคอมพิวเตอร์รูปแบบหนึ่ง
แต่พออยากทำอะไรที่มันฉลาดขึ้นมาหน่อย ตอนนั้นช่วงปี 2019 ผมต้องมานั่งรวมข้อมูลจากไฟล์ Excel หลายสิบไฟล์เพื่อทำรายงานส่งลูกค้า คือทำมือมันเสียเวลามาก เลยไปหัดเขียน Python เพื่อสั่งให้มันวนลูปเปิดแต่ละไฟล์ ดึงข้อมูลที่ต้องการ แล้วเอามาแปะรวมกันในไฟล์เดียว ตอนนั้นแหละที่เข้าใจเลยว่าภาษาโปรแกรมจริงๆ มันมีพลังขนาดไหน มันสั่งให้คิดและทำงานซ้ำๆ ที่น่าเบื่อแทนเราได้
แล้วมันก็มีอีกเยอะแยะไปหมดเลย JavaScript ก็เอาไว้ทำให้เว็บมันมีลูกเล่น กดปุ่มแล้วมีอะไรเด้งขึ้นมา ส่วนเพื่อนผมที่เขาเขียนเกม เขาใช้ C++ กัน เขาบอกว่ามันเร็วและแรงมาก เหมาะกับงานที่ต้องการประสิทธิภาพสูงสุด สรุปแล้วมันก็เหมือนกล่องเครื่องมือช่างอะ มีค้อน มีไขควง มีเลื่อย แต่ละอย่างก็ใช้ในงานที่ต่างกันไป จะสร้างอะไรก็เลือกใช้ให้ถูกชิ้น แค่นั้นเอง
ภาษาคอมพิวเตอร์มี 5 ประเภทอะไรบ้าง
กลางดึกแบบนี้... นั่งคิดถึงเรื่องพวกนี้มันก็แปลกดีนะ
ภาษาคอมพิวเตอร์นะ มันก็มีหลายแบบจริงๆ นะ
- ภาษาเครื่อง คือแบบดิบๆ เลยนะ 0 กับ 1 เนี่ยแหละ คอมพิวเตอร์เข้าใจโดยตรง ตัวเราเองนี่เขียนไม่รู้เรื่องเลย.
- ภาษาแอสเซมบลี ก็ขยับขึ้นมาหน่อยนึงนะ มันมีคำสั่งง่ายๆ แทน 0 กับ 1 แต่ก็ยังเข้าใจยากอยู่ดี.
- ภาษาขั้นสูง นี่แหละที่เราคุ้นเคยกัน พวก C, Java, Python อะไรพวกเนี้ย มันอ่านง่าย เขียนง่ายกว่าเยอะ.
- ภาษาเชิงวัตถุ อันนี้จะมองทุกอย่างเป็นวัตถุ มีคุณสมบัติ มีการกระทำของมันเอง.
- ภาษาเชิงประกาศ อันนี้จะเน้นบอกว่าอยากได้อะไร ไม่ต้องไปบอกว่าทำยังไง.
แล้วเดี๋ยวนี้มันก็ผสมๆ กันไปหมดแล้วนะ มันก็ไม่ค่อยแยกชัดเหมือนเมื่อก่อนหรอก
ข้อมูลเพิ่มเติม:
- ภาษาเครื่อง (Machine Language): เป็นภาษาเดียวที่หน่วยประมวลผลกลาง (CPU) เข้าใจได้โดยตรง ประกอบด้วยลำดับของเลขฐานสอง (0 และ 1) การเขียนโปรแกรมด้วยภาษาเครื่องโดยตรงนั้นซับซ้อนและใช้เวลานานมาก
- ภาษาแอสเซมบลี (Assembly Language): เป็นภาษาระดับต่ำที่ใกล้เคียงกับภาษาเครื่องมาก โดยใช้สัญลักษณ์ (mnemonics) แทนคำสั่งของภาษาเครื่อง ทำให้เขียนและอ่านได้ง่ายกว่าภาษาเครื่องเล็กน้อย แต่ก็ยังต้องมีความเข้าใจในสถาปัตยกรรมของฮาร์ดแวร์
- ภาษาขั้นสูง (High-level Language): ออกแบบมาให้มนุษย์อ่านและเขียนได้ง่ายกว่า มีโครงสร้างที่คล้ายกับภาษามนุษย์ และมีความเป็นนามธรรมสูง ทำให้โปรแกรมเมอร์ไม่ต้องกังวลเรื่องรายละเอียดของฮาร์ดแวร์ ตัวอย่างเช่น Python, Java, C++, JavaScript
- ภาษาเชิงวัตถุ (Object-Oriented Programming - OOP): เป็นกระบวนทัศน์การเขียนโปรแกรมที่เน้นการสร้าง "วัตถุ" ซึ่งรวมข้อมูล (attributes) และฟังก์ชัน (methods) เข้าไว้ด้วยกัน แนวคิดนี้ช่วยในการจัดการโค้ดที่ซับซ้อน ทำให้สามารถนำกลับมาใช้ใหม่ได้ง่ายขึ้น ภาษาที่นิยม เช่น Java, C++, Python
- ภาษาเชิงประกาศ (Declarative Programming): เน้นการอธิบายว่า "ต้องการผลลัพธ์อะไร" โดยไม่ต้องระบุขั้นตอนวิธีการทำให้ได้ผลลัพธ์นั้นๆ ซึ่งแตกต่างจากภาษาเชิงคำสั่ง (Imperative Programming) ที่ต้องระบุขั้นตอนที่ชัดเจน ภาษาเชิงประกาศแบ่งย่อยได้อีก เช่น:
- ภาษาเชิงตรรกะ (Logic Programming): เช่น Prolog ใช้กฎและข้อเท็จจริงในการแก้ปัญหา
- ภาษาเชิงฟังก์ชัน (Functional Programming): เช่น Haskell, Lisp เน้นการใช้ฟังก์ชันและหลีกเลี่ยงการเปลี่ยนแปลงสถานะ
การผสมผสานแนวคิดระหว่างภาษาเหล่านี้ทำให้เกิดภาษาใหม่ๆ ที่มีความสามารถหลากหลายมากขึ้น ตัวอย่างเช่น ภาษา Rust ที่มีประสิทธิภาพสูงในการจัดการหน่วยความจำระดับต่ำ แต่ก็มีคุณสมบัติของภาษาเชิงฟังก์ชันมาช่วยให้การเขียนโค้ดปลอดภัยและชัดเจนยิ่งขึ้น
ความคิดเห็นต่อคำตอบ:
ขอบคุณสำหรับความคิดเห็นของคุณ! ความคิดเห็นของคุณมีความสำคัญมากในการช่วยเราปรับปรุงคำตอบในอนาคต