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

تأثير لغة البرمجة على سرعة البرنامج: دور اللغة وأهمية الخوارزميات وهياكل البيانات

Ali Ahmed39

السؤال

هل لغة البرمجة المستخدمة تحدد سرعة البرنامج أم هياكل البيانات هي التي تحدد ذلك؟

بمعنى آخر، هل يعني استخدام لغة مثل C++ أن البرنامج سيكون سريعًا؟

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال ونص السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

بالطبع، يمكننا التعمق أكثر في المعلومات المتعلقة بسرعة البرامج وكيفية تحسينها. عندما يتعلق الأمر بسرعة البرامج، يمكن تقسيم العوامل المؤثرة على الأداء إلى عدة فئات، من بينها:

  • لغة البرمجة: تختلف لغات البرمجة في كفاءتها في تنفيذ البرامج، وذلك يعود إلى العديد من العوامل، مثل طريقة تحويل الشفرة إلى لغة آلة (compiling)، وكفاءة إدارة الذاكرة، والتعامل مع المعالج والنظام المضيف. ومن بين اللغات البرمجية التي تعتبر سريعة في التنفيذ: C++, C، Rust، و Assembly.
  • هياكل البيانات: يتأثر أداء البرنامج بشكل كبير بالهياكل البيانية المستخدمة لتخزين البيانات. يجب استخدام هياكل بيانات فعالة ومناسبة للغرض المطلوب، مثل القوائم المتسلسلة، الأشجار، الجداول الهاش، وأيضًا قواعد البيانات ذات الأداء العالي.
  • تنفيذ الخوارزميات: يجب استخدام الخوارزميات المناسبة للغرض المطلوب والتأكد من تحسينها بشكل صحيح. يجب أن تكون الخوارزميات فعالة ومناسبة للبيانات المعالجة وتحقيق النتائج المطلوبة.
  • كتابة الشفرة المصدرية: يجب كتابة شفرة مصدرية جيدة ومنظمة وبدون أخطاء. يجب تجنب استخدام الحلول المؤقتة والتكرارات والأخطاء الشائعة في البرمجة والتأكد من استخدام المتغيرات والدوال بشكل صحيح. يجب أيضًا تجنب استخدام المكتبات والإضافات غير الضرورية.
  • الأجهزة المستخدمة: تؤثر الأجهزة المستخدمة في سرعة البرنامج. يجب تحسين أداء الأجهزة والتأكد من تحديثها وإصلاح الأخطاء وإزالة البرامج الضارة.
  • العمليات المتزامنة: تؤثر العمليات المتزامنة في سرعة البرامج. يجب تجنب تشغيلعمليات متزامنة غير ضرورية وتنظيمها بشكل صحيح، وكذلك تحسين طريقة تخزين البيانات على القرص الصلب.
  • تقليل الخطأ: يجب تجنب الأخطاء في البرنامج، وتحسين جودة الشفرة المصدرية، واستخدام أدوات التحليل والاختبار لتحديد الأخطاء وتصحيحها.

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بشكل مبسط، الإجابة هي نعم، لغة البرمجة المستخدمة يمكن أن تؤثر على سرعة البرنامج.

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

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

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

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

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إن هذا يعتمد على المبرمج بشكل أساسي، للمقارنة يجب أن نقول في حال كان لدينا نفس الخوارزمية مع نفس هياكل البيانات، من الأسرع؟

بشكل عام تعتبر لغة c++ من أسرع اللغات، حيث أن هذا من أهم الأهداف التي تحافظ على تحقيقها، أي ألا يكون من الممكن كتابة نفس الكود بلغة أخرى و تحقيق سرعة تنفيذ أفضل.

و لكن بالطبع في حال أتى مبرمج و حل مشكلة معينة بطريقة ذكية تعقيدها الحسابي أقل و لكن بلغة بطيئة، في حين أن مبرمج آخر حلها بالطريقة المباشرة ذات التعقيد الحسابي الأعلى و لكن باستعمال c++ فالأول سيكون سرعة تنفيذ كوده أفضل.

كما أنه بشكل عام لا يمكنك ملاحظة هذا الفرق ما لم يكن الكود الذي تنفذه يطبق على عدد بيانات هائل، أي في حال كان لديك بضع مئات من البيانات فلن يكون هناك فرق محسوس.

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

لذلك لا نجد لغة مثل ال c++ تستعمل في الويب مثلاً، بينما لا نجد لغة عالية المستوى جداً تستعمل في الأنظمة المدمجة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

طيب سوال كمان لو سمحت 

 

استخدم python  ام c++ في مجال تعلم الاله ايهما افضل ؟

بتاريخ 1 ساعة قال Kais Hasan:

إن هذا يعتمد على المبرمج بشكل أساسي، للمقارنة يجب أن نقول في حال كان لدينا نفس الخوارزمية مع نفس هياكل البيانات، من الأسرع؟

بشكل عام تعتبر لغة c++ من أسرع اللغات، حيث أن هذا من أهم الأهداف التي تحافظ على تحقيقها، أي ألا يكون من الممكن كتابة نفس الكود بلغة أخرى و تحقيق سرعة تنفيذ أفضل.

و لكن بالطبع في حال أتى مبرمج و حل مشكلة معينة بطريقة ذكية تعقيدها الحسابي أقل و لكن بلغة بطيئة، في حين أن مبرمج آخر حلها بالطريقة المباشرة ذات التعقيد الحسابي الأعلى و لكن باستعمال c++ فالأول سيكون سرعة تنفيذ كوده أفضل.

كما أنه بشكل عام لا يمكنك ملاحظة هذا الفرق ما لم يكن الكود الذي تنفذه يطبق على عدد بيانات هائل، أي في حال كان لديك بضع مئات من البيانات فلن يكون هناك فرق محسوس.

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

لذلك لا نجد لغة مثل ال c++ تستعمل في الويب مثلاً، بينما لا نجد لغة عالية المستوى جداً تستعمل في الأنظمة المدمجة.

 

ملحوظ

 

انا مبتدأ في مجال تعلم الاله

وليه python هي رقم واحد في المجال برغم انها لغة مش سرعيه زي c++

وماهي المكتبات التي تدعم لغة c++ في مجال تعلم الاله وتحليل البيانت

وهل فيه كورس تعلم الاله بلغة c++ سواء كان عربيه او اجنبيه

 

وشكرا جدا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...