نمط برمجة: الفرق بين النسختين

[مراجعة غير مفحوصة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
لا ملخص تعديل
وسوم: تحرير مرئي تحرير من المحمول تعديل ويب محمول
الرجوع عن تعديلين معلقين من 2001:16A2:AAF:9C00:EDA1:CABB:D65F:408B إلى نسخة 49284350 من 91.106.62.14.: مستخدم مجهول
وسم: استرجاع يدوي
سطر 94:
اللغة متعددة أنماط البرمجة هي لغة تدعم أكثر من نمط برمجي واحد، يعرّف تيموثي بَد مصمم لغة البرمجة Leda هذه اللغة بقوله: "تكمن فكرة لغة البرمجة متعددة أنماط البرمجة في توفير إطار عمل يتيح للمبرمج العمل بأساليب متعددة بحيث يدمج بحرية بنى تتبع لأنماط برمجة مختلفة". وبالتالي فإن الهدف من تصميم لغات كهذه هو السماح للمبرمج باستخدام الأداة الأفضل للقيام بالمهمة المطلوبة على اعتبار أنه لا يوجد نمط برمجي واحد قادر على إيجاد أفضل الحلول لكافة المشاكل أو أكثرها فعالية دائماً.
 
على سبيل المثال توفر لغة #C نمطاً برمجياً أمرياً وآخراً غرضي التوجه بالإضافة إلى دعمها البرمجة الوظيفية إلى حد ما عبر التوابع غير المسماة واستنباط الأنماط والاستعلامات المدمجة باللغة {{إنج|Language Integrated Query}}. توفر لغات أخرى مثل لغة #F وScala وظيفية شبيهة لتلك الموجودة في #C إضافة إلى دعم كامل للبرمجة الوظيفية (بما فيها ميزة الكاريينغ {{إنج|Currying}} ومطابقة النماذج وأنماط البيانات الجبرية والتقييم الكسول والعودية الذيلية والثبوتية {{إنج|immutability}} وغيرها). إن لغة البرمجة Oz هي مثال صارخ عن تعددية أنماط البرمجة إذ أنها تشتمل على أنماط برمجة منطقية ووظيفية وغرضية التوجه وتدفق معطيات متوازي بالإضافة إلى أنماط أخرى. استغرق تصميم لغة البرمجة Oz عشر سنوات تم خلالها التوفيق بين أنماط برمجة مختلفة في لغة واحدة.
 
= تاريخ أنماط البرمجة =
في بداية ظهور [[حاسوب|الحاسوب]] كانت البرامج مرتبطة جدا [[عتاد الحاسوب|بالعتاد]] ولذلك استخدمت [[كود ثنائي|الكود الثنائي]] {{إنج|Binary code}}، وقد كان هذا نمط [[لغة برمجة منخفضة المستوى|برمجة منخفض المستوى]] لشدة ارتباطه [[عتاد الحاسوب|بالعتاد]].
 
لتسهيل [[برمجة|البرمجة]] تم تطوير [[لغة التجميع]] التي تعتبر أيضاً نمطاً منخفض المستوى في البرمجة (وإن كانت [[الجيل الثاني من لغات البرمجة|جيلاً ثانياً]]) إلا أنها قدمت بعض الخصائص الموجودة في [[برمجة وظيفية|البرمجة الوظيفية]] مثل استخدام [[ماكرو (علم الحاسوب)|الماكرو]].
 
التطور التالي كان بظهور لغات البرمجة التي تستخدم [[برمجة وظيفية|البرمجة الوظيفية]]، والتي سميت '''[[لغة برمجة عالية المستوى|لغات برمجة عالية المستوى]]'''. مثل: [[فورتران]].
 
ظهرت بعد ذلك لغات البرمجة التي تدعم [[برمجة كائنية التوجه|البرمجة كائنية التوجه]]. مثل: [[سي++]].
 
= انظر أيضا =