Programlama paradigması
Programlama paradigması, bilgisayar programlamanın temel bir tarzıdır. Buna nazaran metodoloji, yazılım mühendisliği problemlerinin çözümünde kullanılan belirli bir stildir. Kavramlarda, programın unsurlarını temsil etmek için kullanılan soyutlamalarda (nesneler, fonksiyonlar, değişkenler, kısıtlar, vs.) ve hesaplamayı oluşturan adımlarda (atama, değerlendirme, devamlık, veri akışı, vs.) paradigmalar farklılık gösterirler.
Paradigmalar
- Ajan tabanlı (agent-oriented)
- Bağlayıcı (concatenative)
- Belirlenimci olmayan (nondeterministic)
- Bildirimsel (declarative) (kontrast: Zorunlu (imperative))
- Kısıtlı (constraint)
- Fonksiyonel (functional)
- Veri akışı (dataflow)
- Hücre yönelimli (cell-oriented)
- Reaktif (reactive)
- Bileşen tabanlı
- Akış tabanlı (flow-based)
- Boru hattı (pipeline)
- Dil yönelimli (language-oriented)
- Etki alanı özgü (domain-specific)
- Gramer yönelimli (grammar-oriented)
- Lehçeleme (dialecting)
- Kasıtlı (intentional)
- Değer düzeyi (value-level) (kontrast: Fonksiyon düzeyi (function-level))
- Eşzamanlı (concurrent)
- Fonksiyon düzeyi (function-level) (kontrast: Değer düzeyi (value-level))
- İfade yönelimli (expression-oriented)
- Mantık (logic)
- Kısıtlı mantık (constraint logic)
- Tutsakedici mantık (abductive logic)
- Tümevareabilir mantık (inductive logic)
- Meta programlama (metaprogramming)
- Otomatik (automatic)
- Genel (generic)
-
- Kural tabanlı (policy-based)
- Yansıtıcı (reflective)
- Öznitelik yönelimli (attribute oriented)
- Servis odaklı
- Zamana dayalı (time-driven)
- Özellik yönelimli (feature-oriented)
- Paralel hesaplama (parallel computing)
- İşlem yönelimli (process-oriented)
- Semantik yönelimli (semantic-oriented)
- Veri tabanlı (data-driven)
- Yapısal (structured) (kontrast: Yapısal olmayan (non-structured))
-
- Otomata tabanlı (automata-based)
- Kaygıların ayrımına (separation of concerns) göre:
- Cephe yönelimli (aspect-oriented)
- Konu yönelimli (subject-oriented)
- Rol yönelimli (role-oriented)
- Sınıf tabanlı (class-based)
- Prototip tabanlı (prototype-based)
- Özyinelemeli (recursive)
- Yapısal olmayan (non-structured) (kontrast: Yapısal (structured))
- Dizi (array) (kontrast: Sayıl (scalar))
- Tekrarlamalı (iterative)
- Zorunlu (imperative)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.