ภาษาโปรแกรม

ภาษาโปรแกรม คือภาษาประดิษฐ์ชนิดหนึ่งที่ออกแบบขึ้นมาเพื่อสื่อสารชุดคำสั่งแก่เครื่องจักร โดยเฉพาะอย่างยิ่งคอมพิวเตอร์ ภาษาโปรแกรมสามารถใช้สร้างโปรแกรมที่ควบคุมพฤติกรรมของเครื่องจักร และ/หรือ แสดงออกด้วยขั้นตอนวิธี (algorithm) อย่างตรงไปตรงมา ผู้เขียนโปรแกรมซึ่งหมายถึงผู้ที่ใช้ภาษาโปรแกรมเรียกว่า โปรแกรมเมอร์ (programmer)

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

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

คำจำกัดความ

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

  • การทำงานและเป้าหมาย ภาษาโปรแกรมคอมพิวเตอร์ คือภาษาชนิดหนึ่ง [3] ที่ใช้สำหรับเขียนโปรแกรมคอมพิวเตอร์ ซึ่งเกี่ยวข้องกับคอมพิวเตอร์ที่กระทำการคิดคำนวณหรือขั้นตอนวิธีบางอย่าง [4] และควบคุมอุปกรณ์ภายนอกที่เป็นไปได้อาทิ เครื่องพิมพ์ เครื่องขับจานบันทึก หุ่นยนต์ [5] และอื่น ๆ ตัวอย่างเช่น โปรแกรมโพสต์สคริปต์ มักถูกสร้างโดยโปรแกรมอื่นเพื่อควบคุมเครื่องพิมพ์หรือจอภาพ ภาษาโปรแกรมโดยนัยทั่วไปมากขึ้น อาจใช้พรรณนาการคิดคำนวณบนเครื่องจักรบางชนิด ซึ่งอาจเป็นเครื่องจักรนามธรรมก็ได้ เป็นที่ยอมรับกันโดยทั่วไปว่า ข้อกำหนดภาษาโปรแกรมที่สมบูรณ์ จะต้องมีการพรรณนาลักษณะเครื่องจักรหรือหน่วยประมวลผลสำหรับภาษานั้น ซึ่งอาจเป็นการพรรณนาในอุดมคติก็ได้ [6] ในทางปฏิบัติเป็นส่วนใหญ่ ภาษาโปรแกรมเกี่ยวข้องกับคอมพิวเตอร์ จึงทำให้ภาษาโปรแกรมต่าง ๆ โดยปกติถูกกำหนดและศึกษาในแนวทางนี้ [7] ภาษาโปรแกรมต่างจากภาษาธรรมชาติตรงที่ ภาษาธรรมชาติใช้แสดงปฏิสัมพันธ์ระหว่างมนุษย์ด้วยกันเพียงเท่านั้น ในขณะที่ภาษาโปรแกรมทำให้มนุษย์สื่อสารชุดคำสั่งแก่เครื่องจักรได้อีกด้วย
  • แนวคิดนามธรรม ภาษาโปรแกรมโดยปกติจะมีภาวะนามธรรม สำหรับนิยามและจัดดำเนินการโครงสร้างข้อมูล หรือควบคุมกระแสการทำงาน ความจำเป็นในทางปฏิบัติที่ภาษาโปรแกรมสนับสนุนภาวะนามธรรมอย่างเพียงพอ แสดงออกมาด้วยหลักการที่เป็นนามธรรม [8] หลักการนี้บางครั้งก็คิดค้นขึ้นเพื่อเป็นข้อเสนอแนะให้โปรแกรมเมอร์สามารถใช้ภาวะนามธรรมเช่นนั้นได้อย่างถูกต้อง [9]
  • พลังในการแสดงออก ทฤษฎีการคำนวณแบ่งประเภทภาษาต่าง ๆ ตามการคิดคำนวณโดยความสามารถในการแสดงออก ภาษาทัวริงบริบูรณ์ทุกภาษาสามารถทำให้เกิดผลได้ด้วยเซตของขั้นตอนวิธีที่เหมือนกัน ภาษาเอสคิวแอลและภาษาแชริตีเป็นตัวอย่างของภาษาที่ไม่เป็นทัวริงบริบูรณ์ แต่ก็ยังเรียกว่าเป็นภาษาโปรแกรม [10][11]

ภาษามาร์กอัปอย่างเช่น เอกซ์เอ็มแอล เอชทีเอ็มแอล หรือทร็อฟฟ์ เป็นต้น ซึ่งถูกนิยามว่าเป็นข้อมูลเชิงโครงสร้าง โดยทั่วไปไม่ถือว่าเป็นภาษาโปรแกรม [12][13][14] อย่างไรก็ตาม ภาษาโปรแกรมอาจจะใช้วากยสัมพันธ์เหมือนภาษามาร์กอัป ถ้าอรรถศาสตร์เชิงคำนวณมีการนิยามไว้ ตัวอย่างเช่น เอกซ์เอสแอลที ซึ่งเป็นภาษาย่อยของเอกซ์เอ็มแอลที่เป็นทัวริงบริบูรณ์ [15][16][17] ยิ่งไปกว่านั้น ภาษาลาเทกซ์ซึ่งตามปกติใช้สำหรับสร้างโครงสร้างเอกสาร แต่ก็มีเซตย่อยของทัวริงบริบูรณ์อยู่ด้วย [18][19]

วลี ภาษาคอมพิวเตอร์ บางครั้งก็ใช้แทนความหมายของภาษาโปรแกรม [20] อย่างไรก็ตาม ผู้แต่งตำราแต่ละคนก็ใช้วลีทั้งสองรวมถึงขอบเขตที่ชัดเจนในแนวทางที่ต่างกัน แนวคิดหนึ่งอธิบายว่า ภาษาโปรแกรมเป็นเซตย่อยของภาษาคอมพิวเตอร์ [21] ในทำนองนี้ ภาษาที่ใช้ในการคิดคำนวณอันมีเป้าหมายต่างกัน ที่แสดงออกเป็นโปรแกรมคอมพิวเตอร์ โดยนัยทั่วไปคือภาษาคอมพิวเตอร์ที่ถูกเลือกขึ้นมา ยกตัวอย่างเช่น ภาษามาร์กอัปบางครั้งก็ถูกพูดถึงว่าเป็นภาษาคอมพิวเตอร์ เพื่อเน้นย้ำว่ามันไม่ได้ออกแบบมาเพื่อเขียนโปรแกรม [22] แนวคิดอีกอย่างหนึ่งอธิบายว่า ภาษาโปรแกรมคือโครงสร้างเชิงทฤษฎีสำหรับการเขียนโปรแกรมให้แก่เครื่องจักรนามธรรม และภาษาคอมพิวเตอร์คือเซตย่อยของสิ่งดังกล่าวที่ทำงานบนคอมพิวเตอร์ในทางกายภาพ ซึ่งมีทรัพยากรฮาร์ดแวร์จำกัด [23] จอห์น ซี. เรย์โนลด์ เน้นว่า ภาษาข้อกำหนดรูปนัย (formal specification) มีลักษณะของภาษาโปรแกรมมากพอ ๆ กับภาษาที่ตั้งใจให้กระทำการ เขายังให้เหตุผลด้วยว่า รูปแบบรับเข้าเชิงข้อความหรือแม้แต่เชิงกราฟิกที่ส่งผลต่อพฤติกรรมของคอมพิวเตอร์ ก็ถือเป็นภาษาโปรแกรมเช่นกัน ถึงแม้ข้อเท็จจริงคือสิ่งเหล่านั้นไม่ใช่ทัวริงบริบูรณ์ และให้ความเห็นอีกว่า การมองข้ามมโนทัศน์ของภาษาโปรแกรมคือสาเหตุของความบกพร่องมากมายในรูปแบบรับเข้า [24]

ลักษณะของภาษาโปรแกรม

ภาษาโปรแกรมแต่ละภาษาสามารถพิจารณาว่าเป็นเซตของข้อกำหนดอย่างเป็นทางการของวากยสัมพันธ์ ศัพท์ และความหมาย

ข้อกำหนดเหล่านี้มักรวมถึง:

  • ข้อมูล และโครงสร้างข้อมูล
  • คำสั่ง และลำดับการทำงาน
  • ปรัชญาในการออกแบบ
  • สถาปัตยกรรมของภาษา

ภาษาส่วนใหญ่ที่มีการใช้งานอย่างกว้างขวาง หรือมีการใช้งานในระยะเวลาพอสมควร จะมีกลุ่มทำงานเพื่อสร้างมาตรฐาน ซึ่งมักจะมีการพบปะกันเป็นระยะๆ เพื่อสร้างและจัดพิมพ์นิยามอย่างเป็นทางการของภาษา รวมถึงการปรับปรุงเพิ่มเติมภาษาด้วย

ชนิดข้อมูล

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

ระบบที่ข้อมูลถูกจัดการภายในโปรแกรมเรียกว่าชนิดข้อมูลของภาษาโปรแกรม การออกแบบและศึกษาเกี่ยวกับชนิดข้อมูลเรียกว่าทฤษฎีชนิด ภาษาโปรแกรมสามารถจัดออกได้เป็นกลุ่มภาษาที่มี การจัดชนิดแบบสถิตย์ และภาษาที่มี การจัดชนิดแบบพลวัต

โครงสร้างข้อมูล

โครงสร้างข้อมูล คือรูปแบบของการจัดเก็บข้อมูล ที่เกิดจากการนำเอาตัวแปรประเภทต่าง ๆ กันมาประยุกต์รวมกันเพื่อให้ง่ายต่อการที่จะนำไปใช้ ในalgorithm ต่าง ๆ

ภาษาโปรแกรมที่นิยม

อ้างอิง

🔥 Top keywords: วชิรวิชญ์ ไพศาลกุลวงศ์หน้าหลักองค์การกระจายเสียงและแพร่ภาพสาธารณะแห่งประเทศไทยยูฟ่าแชมเปียนส์ลีกชนกันต์ อาพรสุทธินันธ์สโมสรฟุตบอลแมนเชสเตอร์ซิตีพิเศษ:ค้นหาดวงใจเทวพรหม (ละครโทรทัศน์)กรงกรรมอสมทลิซ่า (แร็ปเปอร์)จีรนันท์ มะโนแจ่มสโมสรฟุตบอลอาร์เซนอลสโมสรฟุตบอลเรอัลมาดริดธี่หยดฟุตซอลชิงแชมป์เอเชีย 2024เฟซบุ๊กสโมสรฟุตบอลบาร์เซโลนาประเทศไทยเอเชียนคัพ รุ่นอายุไม่เกิน 23 ปี 2024วิทยุเสียงอเมริกาสโมสรฟุตบอลลิเวอร์พูลพระราชวัชรธรรมโสภณ (ศิลา สิริจนฺโท)พระบาทสมเด็จพระวชิรเกล้าเจ้าอยู่หัวรักวุ่น วัยรุ่นแสบวันไหลนริลญา กุลมงคลเพชรสโมสรฟุตบอลเชลซีสมเด็จพระกนิษฐาธิราชเจ้า กรมสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารีหลานม่าสุภาพบุรุษจุฑาเทพ (ละครโทรทัศน์)สโมสรฟุตบอลไบเอิร์นมิวนิกกรุงเทพมหานครสโมสรฟุตบอลแมนเชสเตอร์ยูไนเต็ดคิม ซู-ฮย็อนภาวะโลกร้อนสาธุ (ละครโทรทัศน์)รายชื่ออักษรย่อของจังหวัดในประเทศไทยสโมสรฟุตบอลปารีแซ็ง-แฌร์แม็ง