Back to Blog
#Software Engineering#programming

Programming paradigms

7/12/2026 50 views

السلام عليكم ورحمة الله وبركاته،

الليلة دايرين نواصل كلامنا الفات ونقزقز بي مفاهيم

"أساليب البرمجة" (Programming Paradigms).

الأساليب دي ببساطة هي المدارس الفكرية البنكتب بيها الكود؛ لأنو هندسة البرمجيات دي تفكير وفلسفة قبل ما تكون مجرد رص سطور ورا بعضها.

تعالوا نمسكهم نوع نوع، ونشوف اللغات البترتكز على كل مدرسة:

1️⃣ البرمجة الخطية أو الإجرائية (Linear / Procedural Programming)

دا الأسلوب القديم والمباشر، الكود بيتنفذ فيهو خطوة ورا خطوة، من فوق لتحت بالترتيب التنازلي.

الفكرة شنو؟ زي لما تكون بتعمل ليك في شاي كوشري؛ بتخت الموية، بعدين الشاي، بعدين السكر. ما ينفع تقدم خطوة على التانية، والبرنامج بيمشي بالترتيب دا.

فوائدها ومجالاتها: ساهلة ومباشرة شديد، وممتازة للسكريبتات السريعة البتعمل حاجة معينة وتقيف، وزي سكريبتات الأتمتة (Automation Scripts).

اللغات البترتكز عليها: لغة C هي الملكة هنا، ومعاها Pascal و BASIC القديمة.

2️⃣ البرمجة الكائنية (Object-Oriented Programming - OOP)

هنا بنتعامل مع البرمجة كأننا بنبني في كائنات ملموسة مأخوذة من العالم الحقيقي.

الفكرة شنو؟ بتعمل "مخطط هندسي" (Class) للـ User أو الـ Product مثلاً، وبتحدد صفاته ووظائفه، وبعدين بتطلع منه كائنات حقيقية (Objects) تشتغل جوة السيستم.

فوائدها ومجالاتها: بتمنع تكرار الكود عديل، وممتازة لتقسيم وتنظيم المشاريع الضخمة المعقدة (Enterprise Applications) وتطوير الألعاب.

اللغات البترتكز عليها: لغات صارمة ومبنية عليها أساساً زي Java و #C، ومعاهم ++C.

3️⃣ برمجة الدوال (Functional Programming - FP)

دي مدرسة النضافة والأمان المطلق، وبتتعامل مع البرنامج كأنه معادلات رياضية متسلسلة، وعندها شرط أساسي إنو البيانات ما بتتغير بعد ما تنشئها (Immutability).

الفكرة شنو؟ الدالة هنا زي الخلاط؛ بتدخل ليها فواكه (Input) بتطلع ليك عصير (Output). الخلاط نفسه ما بيتغير ولا بيحصل ليهو أي أثر جانبي برا الدالة دي (No Side Effects).

فوائدها ومجالاتها: الأخطاء فيها قليلة شديد لأنو الكود متوقع، وممتازة لمعالجة البيانات الضخمة والأنظمة المالية الحساسة.

اللغات البترتكز عليها: Haskell (دي متعصبة عديل للنوع دا)، ومعاها Lisp، Clojure، Erlang، و Elixir.

4️⃣ برمجة تدفق البيانات (Data-flow Programming)

وهنا الكود ما بيمشي بالترتيب السطري العادي، بل بيمشي بناءً على "حركة وتدفق البيانات" بين العقد والروابط.

الفكرة شنو؟ البرنامج بكون عبارة عن شبكة أو مخطط (Graph). البيانات بتتحرك من عقدة (Node) لعقدة تانية، وأول ما العقدة تستلم البيانات بتنفذ وظيفتها طوالي؛ يعني التنفيذ محكوم بـ "وصول البيانات" ما بترتيب السطور.

فوائدها ومجالاتها: قوية شديد في معالجة الإشارات الرقمية (Digital Signal Processing)، أنظمة التحكم وهندسة الهاردوير، والتعامل مع تدفق البيانات الضخمة (Data Pipelines).

اللغات البترتكز عليها: اللغة الأشهر عالمياً في الأسلوب دا هي LabVIEW (الشغالة بنظام المخططات البصرية في المختبرات والمصانع)، ومعاها Luna، ولغات وصف الهاردوير زي VHDL و Verilog البتتحكم في تدفق الإشارات جوة المعالجات.

في النهاية، المهندس الشاطر هو البيعرف السيستم حقو محتاج شنو. هسة اللغات الحديثة بقت (Multi-paradigm) يعني بتلقى لغة واحدة زي JavaScript أو Python بتدعم الأسلوب الكائني والدوالي والخطي في نفس الوقت، وأنت بتوظف الأسلوب الزابط والبيحل ليك مشكلتك بأقل تكلفة وأعلى كفاءة.

#برمجة #يوميات_مبرمج #programming #software_engineering