💡 مقایسهی پارادایمهای برنامهنویسی — از Flow-Based تا State-Centric
در مسیر تحول برنامهنویسی، از تفکر flow-based با تکیه بر functionها، رفتیم به سمت ساختارهای state-centric و assignment-driven — و در این بین، شاید چیزی مهم مثل وضوح جریان داده رو از دست دادیم.
۱- Functional Programming (FP) — function-driven، flow-based
✅ توابع هستهی اصلی محاسبات هستن.
✅ توابع بهعنوان داده در نظر گرفته میشه؛ میتونه ترکیب بشه.
✅ تمرکز روی جریان صریح داده بین functionهاست.
✅ ساده، قابل پیشبینی، بدون state پنهان.
⚠️ مدلسازی سیستمهای واقعی و stateful در این پارادایم محدودتره.
۲- Object-Oriented Programming (OOP) — state-centric، assignment-driven
✅ توابع مرتبط بههمراه state مشترک در قالب objectها قرار میگیرن.
✅ باعث modularity و استفادهی مجدد از کد میشه.
⚠️ ولی جریان هندل کردن یک سناریو implicit میشه — توی methodها و تغییرات داخلی state پنهانه.
⚠️ منطق حول assign و تغییر وضعیت- change state- میچرخه، نه حول جریان.
۳- Actor Model — agent-centric، message-driven
✅ پارادایم OOP رو یه قدم جلوتر میبره: objectها به agentهای مستقل تبدیل میشن.
✅ این agentها فقط با پیامهای async با هم حرف میزنن.
✅ برای سیستمهای concurrent و توزیعشده عالیه.
⚠️ اما باز هم جریان داده پراکنده و پنهانه — در زنجیرههای پیام و actorهای جدا.
--------------------------------------
👉 در این مسیر، از flow-based logic به سمت ساختار و مقیاسپذیری رفتیم — ولی اغلب با هزینهی از دست دادن وضوح جریان داده.
🧭 آیا میتونیم دوباره بین اینها تعادل ایجاد کنیم؟
>>Click here to continue<<