أخيرا فهمت Static وDynamic وكذلك ستفعل. الجزء الأول
شرح بعض مفاهيم تنصانيف لغات البرمجة
عندما أقرر أنني سأبدأ بتعلم شيء أصبح مهووسا حتى أتعلمه. محاولتي الأخيرة؟
Static vs Dynamic.
أجوبة موقع Stack Overflow مربكة، طويلة وحتى متعارضة. ظهر أن هذه المصطلحات شائعة بأن تحدث سوء الفهم لذلك من المنطقي أن بحثي سيكون صعبا. أكملت الاطلاع أي شيء أستطيع أن أجده لكن لا شيء يشبع جوعي في شيء يصل لمبتغاي و يكون موجز.
سأبدأ بشرح بعض المصطلحات الأساسية ثم ستفهم الموضوع كاملا.
Compiled ضد Interpreted
عندما يترجم الكود المصدري
-
الكود المصدري Source Code: الكود الأصلي(عادة يكتب من قبل البشر للحاسب)
-
الترجمة Translation: تحويل الكود المصدري لشيء يمكن للحاسب قراءته(مثل لغة الآلة)
-
وقت التنفيذ Run-Time: فترة عندما يقوم البرنامج بتنفيذ الأوامر(بعد ترجمة البرنامج إن وجدت)
-
لغات مترجمة Compiled Language: يترجم الكود قبل وقت تنفيذ البرنامج
-
لغات مفسرة Interpreted Language: ترجمة الكود على الطاير :)،أثناء فترة التنفيذ.
الكتابة Typing
عندما يتحقق من الكتابة
“3“ + 5 سيحدث خطأ كتابي Type Error في اللغات متشددة الكتابة Strongly Typedمثل بايثون وGo. بسبب أنهم لا يسمحون “بالكتابة القسرية” والتي هي قدرة قيمة بتغيير نوعها ضمنيا في حالات خاصة(مثل جمع نوعين مختلفين في المثال السابق).
في اللغات سهلة الكتابة Weakly Typed مثل جافا سكربت لن تظهر خطأ كتابي(في مثالنا الناتج سيكون 35)
المصدر:
https://hackernoon.com/i-finally-understand-static-vs-dynamic-typing-and-you-will-too-ad0c2bd0acc7
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !