اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 3 دقائق مضت قال Ail Ahmed:

سلان عليكم

هي ليه لغه باثيون مش سرعه رغم الinterpreter متبرمجه بلغ سي ؟

و عليكم السلام 
لغة البايثون لست من اللغات البطيئة ولاكنها تستخدم فى اكثر من و مجال و technology و هى ايضا تقوم بالتحكم فى ال memory و تقوم بالعديد من العمليات فى وقت التشغيل.
و ال interpreter يقوم بالتحقق من كل سطر على حدى لذلك قد ياخذ بعض الوقت 

بتاريخ 10 دقائق مضت قال Ail Ahmed:

وليه مش كل لغات البرمجه بتشتغل بي compiler الان هو افضل من الinterpreter

يجب ال ننسى مميزات ال interpreter مثل:
اسرع و اسهل فى عملية التصحيح من اجل تشغيل الكود و يسمح لل programmers برؤية الخطأ بشكل اسرع.
و ايضا سهولة تعديلها بعد ذلك. لانه كما نعرف ان لغة البايثون متعددة الاستخدامات و يهمها سرعة التطوير اكثر من امور اخرى.
بالتوفيق

  • 0
نشر

بايثون ليست سريعة بشكل عام مقارنة ببعض اللغات الأخرى لأنها لغة مفسرة interpreted language وليست مجمعة compiled language أي تنفذ التعليمات البرمجية سطرا بسطر، مما يؤدي إلى بطء الأداء مقارنة باللغات التي تجمع بالكامل إلى كود آلة مثل C، و المفسر يجب أن يترجم ويقوم بتنفيذ التعليمات البرمجية في الوقت الحقيقي، مما يضيف وقتا إضافيا في التنفيذ، كما أنها تستخدم أنظمة إدارة ذاكرة ديناميكية، مثل "جمع القمامة" لتنظيف الذاكرة بشكل تلقائي، و هذه العملية تضيف عبئا إضافيا على المعالج وقد تؤدي إلى تأخير الأداء، بخلاف لغات مثل C أو C++، التي تسمح للمطورين بإدارة الذاكرة يدويًا لتحقيق أداء أفضل.

و مع ذلك لا يمكننا مقارنة اللغات البرمجية بهذه الطريقة لأن كل لغة مختصة في مجال معين أو تكون أسرع من اللغات الأخرى في بعض المجالات، كما أن لغات البرمجة التي تستخدم المفسر مثل Python أو JavaScript توفر مرونة عالية وتسمح للمبرمجين بإجراء تغييرات وتحديثات في الوقت الفعلي بدون الحاجة إلى إعادة التجميع الكامل للكود، وهو أمر مهم جدا في تطوير الويب أو التطبيقات التي تتطلب ديناميكية عالية.

  • 0
نشر

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

بايثون تعتبر أبطأ نسبياً مقارنة ببعض اللغات الأخرى مثل C أو C++  وهذا بسبب :

التنفيذ عبر التفسير (Interpretation): بايثون هي لغة مترجمة (Interpreted) بمعنى أن الشيفرة المصدرية تُفسر مباشرة أي سطر بسطر في وقت التنفيذ بواسطة مفسر (Interpreter) بدلا من تحويل الكود كاملا إلى كود آلة مباشرة قبل التنفيذ. هذا يؤدي إلى تأخير إضافي أثناء التشغيل بسبب الحاجة لتحليل الشيفرة وتنفيذها سطر بسطر.

إدارة الذاكرة: بايثون تعتمد على إدارة الذاكرة تلقائيًا من خلال Garbage Collection وهو ما يضيف وقتا إضافيا على الأداء بينما في لغات مثل C يكون التحكم في الذاكرة يدويا للمبرمج مما يمكن من تحسين الأداء بشكل أفضل ولكن إذا لم يتم إدارة الذاكرة بشكل جيد ستحدث مشاكل بالطبع.

التجريد: بايثون توفر مستوى عال من التجريد  ومميزات كثيرة منها التحقق من الأنواع في وقت التشغيل وعدم جعل المتغير من نوع واحد وغيرها. هذه الميزات تجعل البرمجة أسهل ولكنها تضيف وقتا إضافيا.

أما بالنسبة لسؤوالك عن لماذا لا تستخدم جميع لغات البرمجة المترجمات (Compilers) بدلا من المفسرات (Interpreters) فهذا لعدة أسباب :

سهولة الاستخدام والتطوير:ال Interpreters توفر تجربة تطوير أسرع لأن التغييرات يمكن اختبارها بشكل فوري دون الحاجة لإعادة ترجمة الشيفرة بالكامل. هذا مفيد بشكل خاص أثناء تطوير البرمجيات والتجريب , حيث كنت أعمل منذ وقت مضي على شيفرة c++ و هذه الشيفرة إذا حدث بها تعديل وأريد تشغيل البرنامج فإنه يأخذ أكثر من 10 دقائق كاملة فقط للتحويل إلى كود آله تخيل لو حجم المشروع كبير فإنه من الممكن أن يأخذ بالساعات إذا تم تعديل بسيط في حرف واحد في البرنامج.

بعض اللغات تستخدم في بيئات حيث تحتاج السرعة في التطوير والتعديل أكثر من الحاجة إلى السرعة في التنفيذ. بايثون، على سبيل المثال، تستخدم بكثرة في تطوير البرمجيات بسرعة وإنتاجية عالية.

بعض اللغات تكون صعبة الترجمة بشكل فعال إلى كود آلة، وتحتاج إلى مفسر لتحسين تجربة التطوير والتفاعل.

في بعض الأحيان كما أخبرتك تكون إنتاجية المبرمج ومزايا اللغة الأخرى أكثر أهمية من الأداء المطلق للبرنامج . في هذه الحالات، قد يكون استخدام مفسر هو الخيار الأفضل مع أن السرعة التي سيتم توفيرها ليست بالشئ الملحوظ في المشاريع الصغيرة والمتوسطة.

وأخيرا اختيار استخدام مفسر أو مترجم يعتمد على متطلبات المشروع واعتبارات الأداء والإنتاجية.

  • 0
نشر

بايثون تفسر الأوامر في وقت التشغيل مما يعني أن الكود يترجم سطر بسطر أثناء التنفيذ، و هذا يضيف طبقة إضافية من العمل بالمقارنة مع لغات تترجم بالكامل قبل التشغيل، كما أنها لغة ديناميكية مما يعني أنها تدعم تغييرات في وقت التشغيل مثل تغيير أنواع المتغيرات، و هذا يتطلب عمليات تحقق إضافية أثناء التشغيل.

و اللغات المفسرة مثل بايثون تسهل عملية التطوير لأنها لا تتطلب وقت ترجمة طويل، حيث يمكن للمطورين تجربة الكود بشكل أسرع، و غالبا ما توفر مرونة أكبر في التعامل مع الكود، مثل القدرة على تشغيل الأوامر التفاعلية مباشرة، كما أنه ليس كل التطبيقات تحتاج إلى الأداء العالي الذي توفره اللغات المترجمة، في بعض الأحيان سهولة التطوير والصيانة تكون أكثر أهمية من سرعة التنفيذ، فكل نوع من اللغات له استخداماته ومميزاته بناء على احتياجات المشروع.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...