แม้ว่าคำศัพท์จะไม่ได้มาตรฐาน แต่เป็นวิธีทั่วไปในการจัดหมวดหมู่กระบวนทัศน์การเขียนโปรแกรมที่สำคัญ
- ขั้นตอน
- การทำงาน
- ตรรกะ
- เชิงวัตถุ
- ทั่วไป
คุณดูเหมือนจะรู้แล้วว่าการเขียนโปรแกรมเชิงโพรซีเดอร์เป็นอย่างไร
ในฟังก์ชั่นภาษาฟังก์ชั่นจะถือว่าเป็นวัตถุชั้นหนึ่ง กล่าวอีกนัยหนึ่งคุณสามารถส่งผ่านฟังก์ชันเป็นอาร์กิวเมนต์ไปยังฟังก์ชันอื่นหรือฟังก์ชันอาจส่งคืนฟังก์ชันอื่น กระบวนทัศน์การทำงานอยู่บนพื้นฐานของแคลคูลัสแลมบ์ดาและตัวอย่างของภาษาที่ใช้งานได้คือ LISP, Scheme และ Haskel ที่น่าสนใจคือจาวาสคริปต์ยังรองรับการตั้งโปรแกรมการทำงาน
ในตรรกะการเขียนโปรแกรมที่คุณกำหนดภาคที่อธิบายความสัมพันธ์ระหว่างหน่วยงานเช่นหรือpresident(Obama, USA)
president(Medvedev, Russia)
เพรดิเคตเหล่านี้มีความซับซ้อนมากและเกี่ยวข้องกับตัวแปรไม่ใช่แค่ค่าตามตัวอักษร เมื่อคุณระบุภาคแสดงทั้งหมดของคุณแล้วคุณสามารถถามคำถามของระบบและรับคำตอบที่มีเหตุผล
แนวคิดใหญ่ในการเขียนโปรแกรมเชิงตรรกะคือแทนที่จะบอกคอมพิวเตอร์ถึงวิธีการคำนวณสิ่งต่าง ๆ คุณบอกได้ว่ามันคืออะไร ตัวอย่าง: PROLOG
กระบวนทัศน์เชิงวัตถุในบางวิธีเป็นส่วนขยายของการเขียนโปรแกรมขั้นตอน ในการเขียนโปรแกรมขั้นตอนคุณมีข้อมูลของคุณซึ่งอาจเป็นประเภทดั้งเดิมเช่นจำนวนเต็มและลอยชนิดผสมเช่นอาร์เรย์หรือรายการและประเภทที่ผู้ใช้กำหนดเช่นโครงสร้าง คุณมีขั้นตอนของคุณที่ทำงานกับข้อมูล ในทางตรงกันข้ามใน OO คุณมีวัตถุซึ่งรวมถึงข้อมูลและขั้นตอน สิ่งนี้ช่วยให้คุณมีสิ่งที่ดีเช่นการห่อหุ้มการสืบทอดและความหลากหลาย ตัวอย่าง: Smalltalk, C ++, Java, C #
การเขียนโปรแกรมทั่วไปได้รับการแนะนำครั้งแรกใน Ada ในปี 1983 และเริ่มแพร่หลายหลังจากการแนะนำเทมเพลตใน C ++ นี่เป็นแนวคิดที่คุณสามารถเขียนโค้ดได้โดยไม่ต้องระบุชนิดข้อมูลจริงที่มันทำงานอยู่และให้คอมไพเลอร์คิดออก ตัวอย่างเช่นแทนที่จะเขียน
void swap(int, int);
void swap(float, float);
....
คุณจะเขียน
void swap(T, T);
ครั้งเดียวและให้คอมไพเลอร์สร้างรหัสเฉพาะสำหรับสิ่งที่T
อาจจะเป็นเมื่อswap()
มีการใช้งานจริงในรหัส
การเขียนโปรแกรมทั่วไปได้รับการสนับสนุนในองศาที่แตกต่างโดย C ++, Java และ C #
เป็นสิ่งสำคัญที่จะต้องทราบว่าหลายภาษาเช่น C ++ รองรับหลายกระบวนทัศน์ มันเป็นความจริงที่ว่าแม้เมื่อมีการพูดภาษาเพื่อสนับสนุนกระบวนทัศน์เฉพาะมันอาจไม่สนับสนุนคุณสมบัติทั้งหมดของกระบวนทัศน์ ไม่ต้องพูดถึงว่ามีความขัดแย้งมากมายเกี่ยวกับคุณลักษณะที่จำเป็นสำหรับกระบวนทัศน์เฉพาะ