Ali Ahmed39 نشر 27 مايو 2023 أرسل تقرير نشر 27 مايو 2023 (معدل) هل لغة البرمجة المستخدمة تحدد سرعة البرنامج أم هياكل البيانات هي التي تحدد ذلك؟ بمعنى آخر، هل يعني استخدام لغة مثل C++ أن البرنامج سيكون سريعًا؟ تم التعديل في 27 مايو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال ونص السؤال 1 اقتباس
0 عبدالباسط ابراهيم نشر 27 مايو 2023 أرسل تقرير نشر 27 مايو 2023 اللغة البرمجية المستخدمة ليست العامل الوحيد الذي يحدد سرعة البرنامج. بالإضافة إلى لغة البرمجة، يتأثر أداء البرنامج بعدة عوامل مثل بالطبع، يمكننا التعمق أكثر في المعلومات المتعلقة بسرعة البرامج وكيفية تحسينها. عندما يتعلق الأمر بسرعة البرامج، يمكن تقسيم العوامل المؤثرة على الأداء إلى عدة فئات، من بينها: لغة البرمجة: تختلف لغات البرمجة في كفاءتها في تنفيذ البرامج، وذلك يعود إلى العديد من العوامل، مثل طريقة تحويل الشفرة إلى لغة آلة (compiling)، وكفاءة إدارة الذاكرة، والتعامل مع المعالج والنظام المضيف. ومن بين اللغات البرمجية التي تعتبر سريعة في التنفيذ: C++, C، Rust، و Assembly. هياكل البيانات: يتأثر أداء البرنامج بشكل كبير بالهياكل البيانية المستخدمة لتخزين البيانات. يجب استخدام هياكل بيانات فعالة ومناسبة للغرض المطلوب، مثل القوائم المتسلسلة، الأشجار، الجداول الهاش، وأيضًا قواعد البيانات ذات الأداء العالي. تنفيذ الخوارزميات: يجب استخدام الخوارزميات المناسبة للغرض المطلوب والتأكد من تحسينها بشكل صحيح. يجب أن تكون الخوارزميات فعالة ومناسبة للبيانات المعالجة وتحقيق النتائج المطلوبة. كتابة الشفرة المصدرية: يجب كتابة شفرة مصدرية جيدة ومنظمة وبدون أخطاء. يجب تجنب استخدام الحلول المؤقتة والتكرارات والأخطاء الشائعة في البرمجة والتأكد من استخدام المتغيرات والدوال بشكل صحيح. يجب أيضًا تجنب استخدام المكتبات والإضافات غير الضرورية. الأجهزة المستخدمة: تؤثر الأجهزة المستخدمة في سرعة البرنامج. يجب تحسين أداء الأجهزة والتأكد من تحديثها وإصلاح الأخطاء وإزالة البرامج الضارة. العمليات المتزامنة: تؤثر العمليات المتزامنة في سرعة البرامج. يجب تجنب تشغيلعمليات متزامنة غير ضرورية وتنظيمها بشكل صحيح، وكذلك تحسين طريقة تخزين البيانات على القرص الصلب. تقليل الخطأ: يجب تجنب الأخطاء في البرنامج، وتحسين جودة الشفرة المصدرية، واستخدام أدوات التحليل والاختبار لتحديد الأخطاء وتصحيحها. وبشكل عام، يمكن تحسين سرعة البرنامج من خلال تحديد العوامل التي تؤثر على الأداء وتحسينها بشكل صحيح. يجب النظر في جميع العوامل المذكورة أعلاه وتحسينها بشكل مناسب لتحقيق أداء أفضل للبرنامج. 1 اقتباس
0 Mustafa Suleiman نشر 27 مايو 2023 أرسل تقرير نشر 27 مايو 2023 بشكل مبسط، الإجابة هي نعم، لغة البرمجة المستخدمة يمكن أن تؤثر على سرعة البرنامج. وقبل أن أوضح لك، لا يتم الإختيار بين اللغات بناءًا على السرعة فقط، بل هناك عوامل أخرى، فيجب التضحية بمزايا مقابل مزايا أخرى تخدم المشروع الذي تريد تنفيذه أي trade off، وبعضها لا يناسب مشروعك رغم أنها سريعة. فبعض لغات البرمجة مصممة لتكون أكثر كفاءة وسرعة في تنفيذ العمليات، مثلاً ، لغات مثل C++ تعتبر عادة أسرع من لغات برمجة أخرى مثل Python، لكن، يجب أن تعلم أن الأداء النهائي للبرنامج ليس فقط مرتبطًا بلغة البرمجة، بل أيضًا بطريقة كتابة الكود والخوارزميات المستخدمة فيه. فلغات البرمجة مثل C++ وC هي أمثلة على لغات مفتوحة المصدر وعالية الأداء، وتوفر هذه اللغات مستوى عالٍ من التحكم والقدرة على الوصول المباشر إلى الموارد والتلاعب بها، وبالتالي تسمح بكتابة برامج فعالة من حيث السرعة واستخدام الموارد. بمعنى أن C++ هي لغة برمجة منخفضة المستوى، وتستخدم ترجمة مباشرة قبل تنفيذ البرنامج، مما يعني أن الكود المكتوب بلغة C++ يتم تحويله إلى لغة آلة قبل تشغيله. بفضل هذه الخاصية، تعمل لغة C++ بشكل أسرع وأكثر كفاءة في تنفيذ العمليات مقارنةً ببعض اللغات الأخرى، مثل Python. بالمقابل، Python لغة برمجة عالية المستوى ومفسرة، بمعنى أنه يتم تنفيذ البرنامج خطوة بخطوة أثناء التشغيل، وذلك عن طريق مفسر يقوم بتحويل وتنفيذ الأوامر واحدة تلو الأخرى، وتلك التفاصيل في التنفيذ تؤدي إلى بعض الإختلاف في الأداء والسرعة، حيث قد تكون Python أبطأ من C++ في بعض الحالات. ومرة أخرى الأداء النهائي للبرنامج يعتمد على عوامل أخرى مثل حجم المشروع، وطبيعة العمليات التي يقوم بها البرنامج، وكيفية كتابة الكود وتنظيمه، لذلك، من الممكن تحقيق أداء جيد مع Python من خلال تحسين الخوارزميات والاستفادة من مكتبات Python القوية. 1 اقتباس
0 Kais Hasan نشر 27 مايو 2023 أرسل تقرير نشر 27 مايو 2023 إن هذا يعتمد على المبرمج بشكل أساسي، للمقارنة يجب أن نقول في حال كان لدينا نفس الخوارزمية مع نفس هياكل البيانات، من الأسرع؟ بشكل عام تعتبر لغة c++ من أسرع اللغات، حيث أن هذا من أهم الأهداف التي تحافظ على تحقيقها، أي ألا يكون من الممكن كتابة نفس الكود بلغة أخرى و تحقيق سرعة تنفيذ أفضل. و لكن بالطبع في حال أتى مبرمج و حل مشكلة معينة بطريقة ذكية تعقيدها الحسابي أقل و لكن بلغة بطيئة، في حين أن مبرمج آخر حلها بالطريقة المباشرة ذات التعقيد الحسابي الأعلى و لكن باستعمال c++ فالأول سيكون سرعة تنفيذ كوده أفضل. كما أنه بشكل عام لا يمكنك ملاحظة هذا الفرق ما لم يكن الكود الذي تنفذه يطبق على عدد بيانات هائل، أي في حال كان لديك بضع مئات من البيانات فلن يكون هناك فرق محسوس. كما أن السرعة ليست أهم شيء، حيث أن السرعة تأتي على حساب الصعوبة في كتابة الكود، حيث أن لغة مثل ال c++ تحاول الإبقاء على إمكانية التعامل بشكل مباشر مع العتاد الصلب و هذا ما يجعلها صعبة، في حين أن لغات أخرى تضحي بهذا الأمر على حساب سهولة و سرعة تطوير البرنامج. لذلك لا نجد لغة مثل ال c++ تستعمل في الويب مثلاً، بينما لا نجد لغة عالية المستوى جداً تستعمل في الأنظمة المدمجة. 1 اقتباس
0 Ali Ahmed39 نشر 27 مايو 2023 الكاتب أرسل تقرير نشر 27 مايو 2023 طيب سوال كمان لو سمحت استخدم python ام c++ في مجال تعلم الاله ايهما افضل ؟ بتاريخ 1 ساعة قال Kais Hasan: إن هذا يعتمد على المبرمج بشكل أساسي، للمقارنة يجب أن نقول في حال كان لدينا نفس الخوارزمية مع نفس هياكل البيانات، من الأسرع؟ بشكل عام تعتبر لغة c++ من أسرع اللغات، حيث أن هذا من أهم الأهداف التي تحافظ على تحقيقها، أي ألا يكون من الممكن كتابة نفس الكود بلغة أخرى و تحقيق سرعة تنفيذ أفضل. و لكن بالطبع في حال أتى مبرمج و حل مشكلة معينة بطريقة ذكية تعقيدها الحسابي أقل و لكن بلغة بطيئة، في حين أن مبرمج آخر حلها بالطريقة المباشرة ذات التعقيد الحسابي الأعلى و لكن باستعمال c++ فالأول سيكون سرعة تنفيذ كوده أفضل. كما أنه بشكل عام لا يمكنك ملاحظة هذا الفرق ما لم يكن الكود الذي تنفذه يطبق على عدد بيانات هائل، أي في حال كان لديك بضع مئات من البيانات فلن يكون هناك فرق محسوس. كما أن السرعة ليست أهم شيء، حيث أن السرعة تأتي على حساب الصعوبة في كتابة الكود، حيث أن لغة مثل ال c++ تحاول الإبقاء على إمكانية التعامل بشكل مباشر مع العتاد الصلب و هذا ما يجعلها صعبة، في حين أن لغات أخرى تضحي بهذا الأمر على حساب سهولة و سرعة تطوير البرنامج. لذلك لا نجد لغة مثل ال c++ تستعمل في الويب مثلاً، بينما لا نجد لغة عالية المستوى جداً تستعمل في الأنظمة المدمجة. ملحوظ انا مبتدأ في مجال تعلم الاله وليه python هي رقم واحد في المجال برغم انها لغة مش سرعيه زي c++ وماهي المكتبات التي تدعم لغة c++ في مجال تعلم الاله وتحليل البيانت وهل فيه كورس تعلم الاله بلغة c++ سواء كان عربيه او اجنبيه وشكرا جدا اقتباس
السؤال
Ali Ahmed39
هل لغة البرمجة المستخدمة تحدد سرعة البرنامج أم هياكل البيانات هي التي تحدد ذلك؟
بمعنى آخر، هل يعني استخدام لغة مثل C++ أن البرنامج سيكون سريعًا؟
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال ونص السؤال
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.