ผลต่างระหว่างรุ่นของ "กระบวนทัศน์การเขียนโปรแกรม"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Kimsk112 (คุย | ส่วนร่วม)
ใส่ลิงค์ไปที่ Von Neumann architecture
Kimsk112 (คุย | ส่วนร่วม)
แก้ไข C# และ F# ลิงค์
บรรทัด 5:
[[ภาษาโปรแกรม]]หนึ่ง ๆ สามารถรองรับ[[กระบวนทัศน์การเขียนโปรแกรมหลายกระบวนทัศน์]] ตัวอย่างเช่น ภาษา [[C++]] หรือ [[Object Pascal]] สามารถใช้เขียนได้ทั้งแบบ[[การโปรแกรมเชิงกระบวนการ]] และ[[การโปรแกรมเชิงวัตถุ]] หรือทั้งสองแบบในโปรแกรมเดียวกัน ผู้ออกแบบซอฟต์แวร์ และผู้เขียนโปรแกรมจะเป็นผู้ตัดสินใจว่าโปรแกรมจะเขียนแบบใด
การเขียนโปรแกรมเชิงวัตถุ ผู้เขียนโปรแกรมจะมองโปรแกรมในลักษณะที่เป็นการทำงานร่วมกันของวัตถุ ในขณะที่[[การโปรแกรมเชิงฟังก์ชัน]]จะมองการทำงานของโปรแกรมในลักษณะลำดับของการประเมินฟังก์ชันแบบไม่มีสถานะ เมื่อเขียนโปรแกรมคอมพิวเตอร์ หรือระบบให้ประมวลผลแบบหลายโปรเซสเซอร์ [[การโปรแกรมเชิงกระบวนงาน]] ผู้เขียนโปรแกรมจะมองแอพลิเคชันในลักษณะเซตของกระบวนงานที่ทำพร้อม ๆ กัน ซึ่งทำงานบน[[โครงสร้างข้อมูล]]ที่ใช้ร่วมกันทางตรรกะ
เช่นเดียวกับกลุ่มของ[[วิศวกรรมซอฟต์แวร์]]ที่ต่างกันที่สนับสนุนวิธีการที่แตกต่างกัน [[ภาษาโปรแกรม]]แต่ละภาษาก็สนับสนุนกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกัน ภาษาโปรแกรมบางภาษาถูกออกแบบมาสำหรับกระบวนทัศน์การโปรแกรมกระบวนทัศน์เดียว (เช่น [[Smalltalk]] สนับสนุนเฉพาะการเขียนโปรแกรมเชิงวัตถุ [[Haskell]] สนับสนุนเพียงการเขียนโปรแกรมเชิงฟังก์ชัน เป็นต้น) ในขณะที่ภาษาโปรแกรมอื่น ๆ สนับสนุนกระบวนทัศน์การโปรแกรมหลายกระบวนทัศน์ (เช่น [[Object Pascal]], C++, [[Java]], [[ภาษาซีชาร์ป|C#]], [[Visual Basic]], [[Common Lisp]],[[Scheme]], [[Perl]], [[Python]], [[Ruby]], [[Oz]] and [[ภาษาเอฟชาร์ป|F#]]) กระบวนทัศน์การโปรแกรมหลายกระบวนทัศน์เป็นที่รู้กันดีว่ามีเทคนิคอะไรบ้างที่หายไปและมีเทคนิคอะไรบ้างที่ทำได้ ตัวอย่างเช่น กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน ไม่ยอมให้มีการใช้ [[side-effects]] ส่วน[[การเขียนโปรแกรมเชิงโครงสร้าง]]ไม่ยอมให้มีคำสั่ง [[goto]] ด้วยเหตุผลนี้ กระบวนทัศน์การโปรแกรมใหม่ มักพิจารณาหลักยึด หรือเข้มงวดมาก โดยยึอถือตามกระบวนทัศน์ก่อนหน้า การหลีกเลี่ยงเทคนิคที่แน่นอนสามารถทำให้การพิสูจน์ทฤษฎีเกี่ยวกับความถูกต้องของโปรแกรมหรือการทำความเข้าใจพฤติกรรมของมันทำได้ง่ายขึ้น
 
==ภาษาโปรแกรมหลายกระบวนทัศน์==
ดูเพิ่ม: [[List of multi-paradigm programming languages]]
 
ภาษาโปรแกรมหลายกระบวนทัศน์เป็น[[ภาษาโปรแกรม]]ที่สนับสนุนกระบวนทัศน์การเขียนโปรแกรมมากกว่าหนึ่งกระบวนทัศน์ เช่นภาษา [[Leda]] ซึ่งสร้างขึ้นโดย [[Timothy Budd]] เขาได้ใส่แนวคิดกับภาษาดังนี้ "แนวคิดของภาษาโปรแกรมหลายกระบวนทัศน์ คือการจัดเตรียมกรอบงานสำหรับผู้เขียนโปรแกรมให้สามารถเขียนโปรแกรมได้หลายวิธี สามารถรวมกระบวนทัศน์การเขียนโปรแกรมต่าง ๆ ได้อย่างอิสระ" จุดมุ่งหมายของภาษานี้ คือการยอมให้ผู้เขียนโปรแกรมใช้เครื่องมือที่ดีที่สุดสำหรับงานของเขา การยอมรับว่าไม่มีกระบวนทัศน์การโปรแกรมใดที่แก้ได้ทุกปัญหาด้วยวิธีการที่ง่ายที่สุดหรือมีประสิทธิภาพมากที่สุด ภาษาโปรแกรมอีกภาษาหนึ่งที่รู้จักกันดี คือ [[ภาษาซีชาร์ป|C#]] sharp[[ภาษาเอฟชาร์ป|F#]] และอีกภาษาหนึ่งคือ [[Oz]] ซึ่งเป็นภาษาในกลุ่มตรรกะ และสามารถเขียนโปรแกรมได้ทั้ง[[การโปรแกรมแบบฟังก์ชัน|แบบฟังก์ชัน]] [[การโปรแกรมเชิงวัตถุ|เชิงวัตถุ]] และ[[การทำงานพร้อมกัน]] รวมถึงกระบวนทัศน์การโปรแกรมอื่น ๆ ด้วย Oz ถูกออกแบบมามากกว่า10 ปี เพื่อที่รวมกระบวนทัศน์การโปรแกรมแบบต่าง ๆ อย่างกลมกลืน กระบวนทัศน์การโปรแกรมได้จัดเตรียมวิธีการและโครงสร้างสำหรับการประมวลผลโปรแกรมสำหรับผู้เขียนโปรแกรม
 
[[หมวดหมู่:กระบวนทัศน์การเขียนโปรแกรม| ]]