اي اللغتين في رأيك اقوى و لماذا من خلال التعامل مع الهادوير و تصميم نظم التشغيل
مع التعليل
اي اللغتين في رأيك اقوى و لماذا من خلال التعامل مع الهادوير و تصميم نظم التشغيل
مع التعليل
تم تعديل هذه المشاركة بواسطة h23 في 31 مايو 2010 في 21:51
:mellow:
الاسمبلي طبعا يامعلم اقوي لغة علي الاطلاق وبعدها تيجي السي و السي بلس
ليه !!!!!!!!!!!!!!!!
طبعا لأنها اقل مستوي في البرمجة فوق الماشين علي طول يعني مثلا خد عندك جملة زي دي
a=b*c
دي في السي جملة واحدة لكن في الاسمبلي لازم تعرف انت هاتنفذ البرنامج علي بروسيسور ايه
مثلا 8086 (انتل العادي يعني )
هتتفك الجملة الواحدة دي لأكتر من جملة
هاتحرك القيمتين لمكانين معينين في البروسيسور (ريجسترات معينة ) وبعدين تنفذ امر الضرب
هتلاقي الناتج اتحط في رجسترات معينه جملة cout مثلا ولا cin دي حوار يعني هاتجهز الداتا وبعد كده تعمل انتربت لنظام التشغيل عشان يعرض الداتا في مكان معيين
ده غير الهيدر فيل اللي بتعمله انكلود
بص يابني من الاخر لو انت مش مهندس ومضطر تدرس اسمبلي ماتخشش فيها السي زي الفل وهتلاقيها برة كتير
المجال التجاري الوحيد اللي فيه اسمبلي هو المايكروكونترولر زي الPIC وده كمان ممكن تبرمجة بالسي والبيزك لكن طبعا الاسمبلي احسن بكتير هنا لكن غير الحتة دي الاسمبلي مش هاتفيدك
اتمني تكون عرفت اللي انت عايزة
اتــوقع الســي ـأقوى لأنهـا ـأسهل بكثيــر من ـالأسمبلي
لغة الأسمبلي معقدة جدـا
تحياتي ~
نعم، :mad:
+1 على نوعية اسئله تحرق الدم، يأخى بالله عليك ما هذا السؤال ؟؟؟؟
ارجوك أقرأ و استطلع قبل أن تسأل مثل هذه الأسئله، هداك الله و عافاك. و ربنا يلهمنى الصبر
و الله ولي التوفيق
تم تعديل هذه المشاركة بواسطة Muhammad alaa في 1 يونيو 2010 في 01:02
مدونتي: C++ Tips and Tricks
b.m.s كتب:أخي الكريم
تعتمد على عضلات المبرمج ... :happy:
+1
:lol: :lol:
وضعت الموضوع لأرى وجهة نظركم حول اللغتين
up
up
على الرغم من أن السؤال ليس له إجابة أصلاً .. وهذه النوعية من الأسئلة تعتبر خاطئة من كل النواحي. فلا يوجد شيء اسمه أفضل!
ولكن يبدو أن الأخ h23 مبتديء .. ويريد أن يتعلم ويعرف. فلا يجب علينا أن نكون أول من ينفره عن العلم بهذه القسوة. أعلم أن السؤال قد يكون مستفز .. وقد قرأت بعض الإجابات أيضاً المستفزة. ولكن يمكننا تحويل دفة الحوار لما هو أفضل وأرقى للجميع :)
جزاكم الله خيراً
مدونة ابنتي الرضيعة: يوميات رزان
مدونتي التقنية العربية: البرمجة مع عبد المنعم
Technical Blog: Abdul Moniem's Thoughts
LinkedIn: Profile
أحمد عبد المنعم كتب:على الرغم من أن السؤال ليس له إجابة أصلاً .. وهذه النوعية من الأسئلة تعتبر خاطئة من كل النواحي. فلا يوجد شيء اسمه أفضل!
ولكن يبدو أن الأخ h23 مبتديء .. ويريد أن يتعلم ويعرف. فلا يجب علينا أن نكون أول من ينفره عن العلم بهذه القسوة. أعلم أن السؤال قد يكون مستفز .. وقد قرأت بعض الإجابات أيضاً المستفزة. ولكن يمكننا تحويل دفة الحوار لما هو أفضل وأرقى للجميع :)
جزاكم الله خيراً
فعلاً اخي انا لا استفز احد و ليس قصدي ان استفز احد و انما انا احترم الجميع و ليس بالقصد ان افضل لغة عن لغة او مبرمج عن مبرمج فالجميع سواسية كأسنان المشط كما قال الرسول (ص)
و ارجو من الاخوان عدم اخذ الموضوع بالاستفزاز انا مبتدأ فعلاً وجديد في عالم البرمجة
لغة السى بتمتاز ان اى يكود بيتكتب بيها يمكن تشغيله على اى الهاردوير طالما انه توجد مكتبات لتلك الهاردوير يعنى هى portable اما لغة الأسمبلى فهى محدوده بهاردوير معين فمثلا الكود اللى بتكتبه لهاردوير Intel مش هيشتغل مع ARM.
كود الأسمبلى انت ممكن تعمل له optimize افضل من اى اسمبلر اذا كنت مبرمج اسمبلى متمكن من الهاردوير الذى تكتب له و ايضا لغة السى المترجم يقوم بعمل مجموعة optimizations له فى عدة مستويات و ينتج لك كود قوى ايضا.
فى اغلب الأحيان تجد ان اوامر لغة السى تقابل امر او اكثر فى لغة الأسمبلى و العكس غير صحيح فتوجد اوامر فى الأسمبلى لا تقابل شئ فى لغة السى.
بشكل عام الأمر كله يعتمد على هيكل التصميم الخاص بنظام التشغيل و مدى توافر مكتبات و ادوات مساعدة للهاردوير الذى تبرمج له.
و الله ولى التوفيق
مدونتي: C++ Tips and Tricks
Muhammad alaa كتب:لغة السى بتمتاز ان اى يكود بيتكتب بيها يمكن تشغيله على اى الهاردوير طالما انه توجد مكتبات لتلك الهاردوير يعنى هى portable اما لغة الأسمبلى فهى محدوده بهاردوير معين فمثلا الكود اللى بتكتبه لهاردوير Intel مش هيشتغل مع ARM.
كود الأسمبلى انت ممكن تعمل له optimize افضل من اى اسمبلر اذا كنت مبرمج اسمبلى متمكن من الهاردوير الذى تكتب له و ايضا لغة السى المترجم يقوم بعمل مجموعة optimizations له فى عدة مستويات و ينتج لك كود قوى ايضا.
فى اغلب الأحيان تجد ان اوامر لغة السى تقابل امر او اكثر فى لغة الأسمبلى و العكس غير صحيح فتوجد اوامر فى الأسمبلى لا تقابل شئ فى لغة السى.
بشكل عام الأمر كله يعتمد على هيكل التصميم الخاص بنظام التشغيل و مدى توافر مكتبات و ادوات مساعدة للهاردوير الذى تبرمج له.
و الله ولى التوفيق
شكراً لك و لكن هل تتوقع ان السي تأخذ صفات الاسمبلي
بجد هذا السؤال ليس له طعم ابدا ،،، ارجوا تزويد التوابل عليه ،،، هداك الله ،،، بالتوفيق للجميع
الاجابة على مثل هذا السؤال ليست دقيقة. ما يمكنني قوله هو ان لكل واحدة مميزاتها و سلبياتها.
ريح نفسك و اجمع اللغتين معا .. بما انه يمكن دمج الاسمبلي مع سي فلماذا لا نستغلهما معا
.
كل الطرق دادى الى روما :ph34r:
ولكل اخويا انا افضل السى
تم تعديل هذه المشاركة بواسطة omar_obida في 25 يونيو 2010 في 18:06
السي و السي بلس لغات ذات مستوى عالي على المعالج
يحولها الكمبيلر الى لغة ذات مستوى منخفض تناسب المعالج
هنا النقطة
اذا تعاملت مع هذه اللغات فان السطور التي تكتبها يتم ترجمتها الى أكثر بكثير من السطور الاصليه
كما انها ستعمل على كل الاجهزة و كل انظمة التشغيل -جافا- او بعضها -سي و سي بلس-
و لكن اذا كتبت بالـ assembly فإنك المتحكم بكل شئ و تستطيع ان تصنع برنامج هائل جدا و ممتاز و لكن بعدد هائل ايضا من السطور
لا تستطيع المقارنة بين High Level Lang & Low Level Lang
لايمكن المقارنة بين لغة عالية المستوى وأخرى منخفظة المستوى .
المقارنة تكون بين السي والجافا مقبولة أما بين السي والأسمبيلي فهذا محال .
السلام عليكم
من الصعب مقارنة لغة اسمبلي مع سي لماذا ؟
1 - صعوبة التعامل مع لغة الاسمبلي فهي ثاني اصعب لغة بعد لغة الآلة ان صح التعبير
2 - كل مترجمات السي على حد علمي مصنوعة بلغة الاسمبلي طبعا هذا مايعطي سرعة التنفيذ لبرامج السي :)
3 - عندما لا يوجد حل في السي تأتي لغة الاسمبلي بالحل
4 - سابقا كل برامج قيادة الاجهزة تصنع بلغة الاسمبلي لكن الان اصبحت بلغة السي لسهولة التعامل معها
في النهاية تعلم لغة الاسمبلي يفيد في فهم كيفية عمل المعالج ويزيد من فهمك للغة البرمجة اي لغة كانت دلفي سي بيسك
اذكر انني لم افهم موضوع المؤشرات pointers حتى درست الاسمبلي
ولكن من المستحيل ان تبرمج دائما بلغة مثل الاسمبلي لانها صعبة + ان انتاجيتها ليست عالية يعني اذا بدك تصنع الة حاسبة بهذه اللغة بدك شي شهر جدي حربي هذا اذا ماكان اكثر
سلامي للجميع
من حيت الهاردوير فالاسمبلي احسن
من حيت البرامج القوية الدي لا تحتاج التعامل مباشرة من الهاردوير فسي الاحسن
وبالنسبة لنظام تشغيل فأكيد سي الاحسن لكن ضروري استخدام الاسمبلي في دلك .
أزيد على المعلومات التي ذكرها الاخوان حتى الآن بمعلومات من زاوية أخرى ، سأذكر بعض المعلومات ثم أجيب على السؤال :
تقسم لغات البرمجة بشكل عام إلى ثلاث فئات :
1- لغات البرمجة منخفضة المستوى ( مثل الأسمبلي ولغة الآلة )
2- لغات البرمجة متوسطة المستوى (مثل السي ، السي بلس بلس ،الجافا )
3- لغات البرمجة عالية المستوى (مثل البايثون والروبي )
والفروقات بشكل عام هي :
1- في لغات البرمجة عالية المستوى : السطر البرمجي الواحد قد يقوم بعمل أشياء معقدة بعكس لغات البرمجة منخفضة المستوى التي تحتاج فيها إلى سطور كثيرة لعمل شيئ بسيط . فمثلاً : بعدة أسطر من البايثون تستطيع أن تعمل ping لسيرفر بينما قد تحتاج لمئات أو آلاف الأسطر لتعمل نفس الشيئ في الأسمبلي. ونتيجة لذلك فإن عمل البرامج بلغات البرمجة عالية المستوى يتسم بالبساطة والسهولة والسرعة بعكس لغات البرمجة منخفظة المستوى.فلو برمجت برنامج بالبايثون (مثلا) واستغرق منك ذلك أسبوعاً ، فإن برمجة نفس البرنامج بلغة التجميع يستغرق عدة شهور على أقل تقدير.
2- لغات البرمجة عالية المستوى لا تعطيك تحكم تام بما تقوم بعمله ، بينما لغات البرمجة منخفضة المستوى تعطيك تحكم تام بما تعمله ، فلغة الأسمبلي مثلاً تسمح لك بالتحكم في وحدة المعالجة المركزية لدرجة أنك تشعر أنك تمسك المعالج بيدك :) ، ونتيجة لذلك فإن البرامج المبرمجة بلغات البرمجة منخفضة المستوى غالباً ما تتسم بالسرعة والخفة ، والعكس للغات البرمجة عالية المستوى. فلو برمجت برنامج بالبايثون (مثلا) وبرمجت نفس البرنامج بلغة التجميع فإن البرنامج المبرمج بلغة التجميع سيكون أسرع بكثير من البرنامج المبرمج بالبايثون .
نتيجة لذلك نقول :
الأسمبلي "أقوى" بمعنى تعطيك التحكم الأشمل بالبرنامج الذي تبرمجه ، ولكن كل هذا على حساب الوقت المستغرق في كتابة البرنامج ، والسي العكس.
ونظراً لأن سرعة الحاسبات في السنوات الأخيرة زادت بشكل كبير فلم يعد استعمال لغات البرمجة منخفضة المستوى مجدياً إلا في أضيق الحدود وعند الضرورة القصوى ، دعني أعطيك بمثالين عمليين :
مثال 1 :
لنفرض أنك تريد عمل برنامج مستودعات فإن أمام عدة خيارات للغة البرمجة المستعملة ولكن لنقل أننا سنحصر الاختيار بين لغتي برمجة : الأسمبلي والسي .
إذا برمجت البرنامج بالأسمبلي فقد يستغرق تطوير البرنامج عشرين سنة :) ولكن سيكون أدئه عالي جدا جدا جدا.
إذا برمجت البرنامج بالسي بلس فقد يستغرق تطوير البرنامج ستة شهور ولكن سيكون أدئه أقل.
والآن علينا أن نختار :
لنقل - على سبيل المثال - أن البرنامج يحتوي في إحدى شاشاته على قائمة تحتوي على 150 عنصر ، وأن المستخدم سينقر على القائة ليفتحها ، ففي هذه الحالة إذا كان البرنامج تمت برمجته بالأسمبلي فقد يستغرق فتح تلك القائمة 0.002 ثانية بينما لو كان البرنامج تمت برمجته بالسي ستفتح القائمة في 0.2 ثانية .
السؤال هو : هل فعلاً سنتكبد عناء البرمجة بلغة الأسمبلي فقط من أجل بضعة ملي ثواني لا تقدم ولا تؤخر ؟ بالتأكيد لا ، فلن يشعر المستخدم بالفرق هنا. ولذلك في هذه الحالة لا داعي أبداً بأن نبرمج البرنامج بلغة التجميع .
مثل 2 :
نريد أن نبرمج وحدة تحكم بصواريخ أرض جو ، وعلى البرنامج الذي نبرمجه أن يقوم بحسابات معقدة وبسرعة شديدة جدا لتوجيه الصاروخ للهدف واي تأخير - ولو بسيط - في الحسابات سيؤدي لعدم إصابة الصاروخ للهدف . ففي هذه الحالة ما هي اللغة التي ستختارها ؟
في هذه الحالة فإن لغة التجميع ستكون على قائمة اختياراتي والسب هو حاجتي الشديدة -في هذه الحالة - لآخر قطرة من الآداء الذي يمكن استخلاصه من جهاز الحاسب ولن أهتم للوقت اللازم لبرمجة البرنامج نظراً لأن حجم البرنامج صغير -نسبياً - في هذه الحالة.
لا داعي ابدا لأن نعتبر سؤال صاحب الموضوع استفزازياً
شكرا لكم
تم تعديل هذه المشاركة بواسطة docesam في 6 يوليو 2010 في 15:19
يا سيدي هيك أسئلة لا تسؤل هنا وليست من إختصاص القسم أرجو قراءة شروط المنتدى
لكن.......
رح أجاوبك واقلك الفرق بين الاسمبلي واللغات عالية المستوى عموما متل السي هو الغرض من البرنامج وسرعة التنفيذ فسرعة الأسمبلي أكبر لأنها تحاكي الهارد وير مباشرة تستعمل مثلا للتحكم بإنارة مبنى أو إشعال الإطفائية عند حدوث حريق..........ألخ
أما اللغات عالية المستوى فللبرامج العادية التي لا تهمنا السرعة وهي أسهل بكثييييييييير
ليه حطمتم الرجال هو سأل سؤال عندك علم جاوب ما عندك علم لا يكلف الله نفسا إلا وسعها
و الله عيب عليكم
اكيد الرجال محتار يبدأ بأي لغة لكن ليس عارف طريق البداية
نصيحتي لك حتى لو تتعامل مع الهاردوير استخدم لغة السي فهي لغة سهلة الفهم بعكس الاسمبلي انا الآن شغال مبرمجة ميكرونترولر بالسي سهل و تأدي كل الوظائف على أحسن ما يمكن هذا رأيي الاسمبلي صعبة و معقدة كثيرا
حاول طرح هذا السؤال بمنتدى أجنبي لكي لا تتعرض للإهانة
تحياتي لكم
اقتباسحاول طرح هذا السؤال بمنتدى أجنبي لكي لا تتعرض للإهانة
نحن نحترم عقل و شخص أى فرد فى الفريق العربى مهما كان درجته العلميه و هذا يعنى اننا لا نهين او نستهذئ به لإن هذا مخالف لأخلاق و مبادئ الإسلام التى علمها لنا رسول الله صلى الله عليه و سلم.
يوجد فى الفريق العربى خبراء على درجه عاليه من التمكن في المجالات الخاصه بهم مثلما يوجد فى المنتديات و المواقع الأجنبيه، فإن كنت تعتقدى ان طرح سؤال هنا يعرض صاحبه للإهانه، فأعتقد اننا لن نري سؤال لك (أو إجابه) هنا فى المنتدى ابدا!!
الشخص صاحب السؤال له تاريخ معين بنوعية اسئلته، لذا قبل أن تحكمي على الردود الجافه و التى تحوى إهانات على حد قولك راجعي مواضيعه و بعدها تكلمي.
اقتباسهذا رأيي الاسمبلي صعبة و معقدة كثيرا
رأيك غير صحيح، لغة السى لمبرمج الـ Basic هى جحيم و أصعب لغه على الأطلاق لأنها مختلفه تماما عما عهده و ايضا لأنه لا يعرفها و لكن بمجرد أن يعرف كيف يكتبها و يقرئها المشكله ستكون قد حلت و اصبحت له اللغه سهله بشكل كبير عما سبق.
الصعوبه و التعقيد تكون على مستوى درجة معرفتنا بما نتكلم عنه فكلما كان الأمر يبدو صعبا و معقدا لنا فهذا بسبب اننا لا نفهمه بشكل جيد و لأننا غير متمكنين منه.
أى مبرمج ميكروكنترولر لابد منه ان يكون على درايه جيده بالأسمبلى لإنه هو من يصنعها للأجهزه قبل أن يبرمج بها لهذه الأجهزه.
و الله ولي التوفيق
تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 26 أغسطس 2010 في 23:27
مدونتي: C++ Tips and Tricks
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…