لماذا يهمل المبرمجين لغة الاسمبلى ؟!؟
اقتباسطيب انا عايز اعرف خلاصة الموضوع معاك يا باشمهندس هل إنتا ضد تعلم لغة الاسمبلى
مستحيل يكون راي المهندس كده لانه هو نفسه بيعرف هذه اللغة
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
على قد ما انا معجب بالمهندس قوي على قدما انا مصدوم برايه
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
لا طبعا الاسمبلي مفيدة .. بس المثال اللي انت جبته في اول الموضوع مثال سيئ.
حتى لو لم يستخدمها المرء كثيرا, فأن التفاصيل الـ low level لازم المبرمج يتعلمها لانه في أشياء لن يستطيع التعامل معها اذا لم يكن يعرف ما يجري خلف الكواليس.
كمثال على ذلك, اعتقد الواحد صعب يفهم الفرق بين pass by value و pass by reference اذا لم يفهم كيف يتم تخزين المتغيرات في الذاكرة. و كذلك صعب ان يفهم exception handling والـ recursion اذا لم يكن يعرف ما هو الـ stack وما اللذي يحصل عندما يتم الدخول الى فنكشن او الخروج منه.
و هناك أمثلة أخرى على ذلك.
تم تعديل هذه المشاركة بواسطة hasan_aljudy في 4 يوليو 2005 في 04:59
بس والله رايه جريء
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
انا اعرف هذه اللغة بالطبع بواقع دراستي لهندسة الحاسبات و ان كان مستواي فيها لا يتعدى مستوى الدراسة و المشاريع و لكن قصدي من واقع العمل الخارجي و الاحتكاك باكثر من مجال مختلف على اكثر من نظام هو انني لم اكتب سطر واحد من الاسمبلي خارج اسوار الجامعة فلم اتعرض يوما و انا اكتب تطبيقات مختلفة الى موقف احسست فيه بعدم وجود بديل للAssembly دائما كانت ال C تنقذني حتى و انا اكتب برامج بلغات عالية مثل ال #C و احتاج الى الوصول الى الParallel Port مثلا كانت inp و outp من ال C في خدمتي اي وقت احتجت لهما و بالطبع فهم مجرد Wrapper لدوال Out و In في ال Assembly و لكن يكفي اني اعطيهما المتغيرات من نوع int و short بدون النظر الى ان out تحتاج ال address في ال al و الdata في ال dl او AX و الDX
Sr. Software Development Engineer
Hulu, LLC
My Blogs
hasan_aljudy كتب:لا طبعا الاسمبلي مفيدة .. بس المثال اللي انت جبته في اول الموضوع مثال سيئ.حتى لو لم يستخدمها المرء كثيرا, فأن التفاصيل الـ low level لازم المبرمج يتعلمها لانه في أشياء لن يستطيع التعامل معها اذا لم يكن يعرف ما يجري خلف الكواليس.
كمثال على ذلك, اعتقد الواحد صعب يفهم الفرق بين pass by value و pass by reference اذا لم يفهم كيف يتم تخزين المتغيرات في الذاكرة. و كذلك صعب ان يفهم exception handling والـ recursion اذا لم يكن يعرف ما هو الـ stack وما اللذي يحصل عندما يتم الدخول الى فنكشن او الخروج منه.
و هناك أمثلة أخرى على ذلك.
طيب يعنى إحنا متفقين رغم إعتراضك على المثال, مش مشكله اخى بالنسبه للمثال نغيرو ولكن تذكر ان كل البرامج المقرصنه والتى تكون احجامها بالمئات الميجابايتات تم إختراقها بواصطه الاسمبلى يعنى مسئلة تتبع برنامج بحجم كبير بواسطه الاسمبلى ليست صعبه ولا مستحيله..
على كل حال اشكر كل من شارك فى هذا الحوار الشيق, وخاصة الاخ الباشمهندس رغم انه صدمنى وسبب لى ازمه نفسيه لن اتخلص منها إلا بعد المعاش... :lol:
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
بنهزر معاك يا باش مهندس بس ياريت الجميع يجربو الاسمبلى فى بيئة الوندوز قبل الحكم عليها لانى حاسس إنها مظلومه ونفسى اجيب لها حقها..
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
ياللا يا شباب انا ماشى الساعة 6 بتوقيت موسكو
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
سلم لى على اكرم خزام يا رومانوف
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
انا رجعت يا شباب
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
اقتباسسلم لى على اكرم خزام يا رومانوف
يوصل يا بو غريب
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
اقتباسعلى العموم المناظرة دي من امتع و ارقى المناظرات اللي شاركت فيها على صفحات المنتدى منذ اشتراكي فيه و اشكر كل من شارك فيها و جعلها بهذا المستوى
لي الشرف ان اكون مشاركا (بالاسم ) في مثل هذه المناظرة ليه :rolleyes: :rolleyes:
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
الكلام جميل جداً
بصراحة في رأي لا يوجد مبرمج كومبيوتر محترم لا يعرف حتي اسيمبلي المعالج 6502 و لم يُبرمج علي الاتاري 2800 ...
كما قال الاخ أحمد غريب
في برامج الالعاب و الجرافيكس
فعلاً لا استطع الاستغناء عنها في العمليات علي معالج Floating Proeccsor Unit ...
يجب استخدام الاسيمبلي للوصول إلي تعليمات هذا المعالج ...
الاسيمبلي تفيدني جداً في برمجة الالعاب كنوع من التحسين للكود ..
و استخدمها بشكل اساسي في تصميم الاجهزة الالكترونية ...
لا تستطع حتي اخراج 2 بت ابيض و اسود باستخدام اي كنترولور بالسي ...
فكما تعلم تحتاج لاخراج اشارة فيديو زمن معين يقاس بالمللي ثانية للتحكم بالراستر !
السي غير مجديه في ذلك إطلاقاً ... ( عن تجربه ) .
بخصوص إجابة راس الموضوع يا اخ احمد
مبرمجون الغد ليس مثل الماضي ..... إلخ من النقد .
صراحة يا اخ احمد
لا افضل برمجة ويندوز باستخدام الاسيمبلي ; فالسي توفر لك Win32API مصممة بالسي اسهل في الاستخدام...
BEng , Electronics and communications.
Embedded systems engineer.
Graphics Programmer
عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح
للأسف جيت متأخر بس الموضوع رائع جدا
أنا عندي رأي كويس أن الواحد يكون عارف أسيمبلي بس مش لازم نستعمله فى أى حاجة أنا أقصد أستعمله فى وقت المناسب
فى مثل سمعته و عجبني جدا بيقولى "لا تقتل النموسة بالمدفع" هو مثل غريب بس حلو
:)
اقتباسوتعليق بسيط على انوريكا: يا انوريكا اوعى تقولى إن دى صورتك, انا شفت صورتك من تقريباً سنه فاتت وكنت شخص مختلف تماما وكمان شفتلك صوره تانيا كنت فيها شخص مختلف تماما فياريت تفهمنا "الحاصل شنو"...
شنو حصل هذى صورة أنور :lol:
واحد اسمه أنور يبدو من آسيا وله نفس بريق العين (صدفه :) ) .. بس أنا بعمل تمويه :unsure:
وأحب بالمناسبه أعلن أن أحلى حاجة فى الاسمبلى لما تكسر برنامج ما لوش كراك على النت ... الصراحه مفهامش فيها غير كده ونفسى اتعلم اعمل بها تصحيح لبرامج كثيره لأن أخطاء البرامج صدعتنى خصوصا على هارداتى المريضه!
اخ يا شباب انت فاتتكم ليلة ولا الف ليلة وليلة وكانك في موقع دردشة مش في العرب تيم
ليس من سمع كمن رأى :lol: :lol:
neo كتب:فى مثل سمعته و عجبني جدا بيقولى "لا تقتل النموسة بالمدفع" هو مثل غريب بس حلو:)
المثل هذا روسي(لا تحاول ان تقول غير هذا ) وانت قلته بطريقة خاطئة :( :(
الترجمة الحرفية هي (من المدفع على العصافير ) معناه استخدام الشئ في غير محله
جميل ان تكون الاسمبلي مدفع (إفرح يا اسمبلاوي ) لا تكون الخسارة تكوم اكبر عند استخدامه ضدالعصافير (افرح يا سي شارباوي )
:lol: :lol:
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
اقتباسبصراحة في رأي لا يوجد مبرمج كومبيوتر محترم لا يعرف حتي اسيمبلي المعالج 6502 و لم يُبرمج علي الاتاري 2800 ...
أخي أحمد صالح، يعني نحن غير محترمين؟!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
- برنامج شجرة عائلة يعمل على الشبكة، استعرض شجرة آدم عليه السلام إلى الرسول صلى الله عليه وسلم
- حزمة ObjectDatabase للتعامل مع قواعد البيانات بصورة شيئية التوجه
- حزمة قارئ الدوال والمعادلات الرياضية، لغة برمجة عربية بسيطة
- حزمة الشاشة الخفيفة للمبرمجين والمطورين
- برنامج المسبح على الجوال
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
اقتباساما بالنسبه لمبرمجى الVB فلا اعرف إذا كان هناك debugger اصلاً او حتى إذا كانو قد سمعو بهذا المصطلح من قبل.. معى الاعتذار الشديد لاخونا إبراهيم الطيب ..
هل تلاحظ معي أن هذه المره الثانية , المرة الأول كانت بعنوان : " إختطاف العضو jaas من قبل جماعات الفيبى "
:s
هل تعلم أخي أحمد ان هذه المدعوة كانت ثاني لغة تقريباً اتعرف عليها ,
طبعا الأول كانت " Pascal " و كل كان في الجامعة مجرد تعارف لاكثر و لا أقل , ما عدا الباسكال كان لها معي ماضي مشرف و الحمد لله , أما المدعوة :D فلا أعرف سبب عدم ارتياحي لها , ربما للصعوبة التي واجهتني في البداية معها , بعكس الحبيبة :) الحالية ......... :P , و لهذا السسبب انا اهمل لغتك يا عزيزي ابو حميد :)
اقتباسأنا عندي رأي كويس أن الواحد يكون عارف أسيمبلي بس مش لازم نستعمله فى أى حاجة أنا أقصد أستعمله فى وقت المناسب
كيف يعني ؟ ثقافة .....

وش صار البارحة ؟؟؟؟
مر اعصار من هنا !!! : )
اول مرة اشوف موضوع يصل للصفحة الخامسة في سويعات ..
لكن الموضوع مشوق <<<<< يعني اني فاهم : )
بعد هالمناظرة بديت افكر بالاسمبلي ...
اعتقد السبب الذي جعلني اهتم بالاسمبلي :
1- كلام احمد صالح حول بعض الدوال الرياضية الموجودة بالسي..وذكر انها تتعب المعالج .. وتاخذ وقت اكبر وبالتالي كتابتها بالاسمبلي افضل
هذا ما فهمته .
2- الاسمبلي تستخدم وبشكل واضح في لغات التظليل عالية المستوى HLSL .... GLSL الخاصة DX وGL
--
ويبقى حلمي ...........
تعلم الاسمبلي .......
لكن مو فاضي ..
==
على العموم سلمت اناملكم .. اللي ما ادري كم كانت سرعتها عند كل ضغطة على الكيبورد ...
72 رد في اقل من يوم : (((((((((((((((((((((((((((((((
تطبيق طمأنينة ، نسخة بيتا على أندرويد
عبدالله الشمّري - Al-Shammari
twitter @abshammeri
abshammeri AT gmail.com
github : abshammeri
احمد صالح كتب:لا تستطع حتي اخراج 2 بت ابيض و اسود باستخدام اي كنترولور بالسي ...فكما تعلم تحتاج لاخراج اشارة فيديو زمن معين يقاس بالمللي ثانية للتحكم بالراستر !
السي غير مجديه في ذلك إطلاقاً ... ( عن تجربه ) .
الاخ احمد صالح اعتقد انه يمكنك ذلك و قد استخدمت السي للتحكم بتوقيت بالملي ثانية دون مشاكل لم اجرب الميكروثانية فلا تعليق، فقط عليك استخدام الموقتات و الانتربت بشكل جيد.
و بالنسبة للاسمبلي فانا من مشجعين تعلمها و لكن لست من مشجعي استخدامها الا عند الضرورة علما ان هناك بعض التطبيقات لا تتم الا بالاسمبلي و لكنها قليلة و التي ذكر بعضها الاخ احمد غريب مثل الباتش و الكسر.
تم تعديل هذه المشاركة بواسطة عماد الخليل في 4 يوليو 2005 في 23:47

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر
فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري
لقراءة القرآن الكريم و سماعه و تفسيره ........

االصراحة يا جماعة انا جيت متأخر جدا لكن لي رأي أحب أن أدلي به
الاسمبلي لغة مهمة طبعا و استخداماتها متعددة أذكر بعضا منها:
______________________________________
* تستخدم طبعا في التفاهم مع الهاردوير و عمل الدرايفرات
* تستخدم في عمل الأجزاء التي تحتاج سرعة في البرنامج مثل الأجزاء البطيئة التنفيذ في الألعاب أو برامج الجرافيك المعقدة
*تستخدم في الكراك و لكن ذلك لأسباب فنية متعلقة باللغة نفسها و ليس لأنها صممت لذلك
بالنسبة للأخ أحمد غريب كلامك صحيح في موضوع أنها مهمة و الناس تحتاجها و لكن الوقت ضيق و التقنيات متعددة، ماذا تتوقع من مبرمج يتعلم 10 أو 15 تقنية و 4 أو 5 لغات بالكاد يجد الوقت لكي يأكل، الموضوع هنا هو What comes in the first place and what comes in the second place?
بالنسبة لاستخدامها في تصحيح الأخطاء في البرامج، فالبرامج الكبيرة تعتمد علي ال DLL حتي في حالة عمل ترقية نحن لا نحتاج لتوزيع البرنامج من جديد بل فقط نعمل تحديث لل DLL و هو ما سيقلص دور ال Assembly في هذا المضمار
أنا بالفعل حبيت أبدأ في تعلم اللغة مع ضيق وقتي فوجدت أن اللغة متسعة و تحتاج الي مجهود خصوصا عند دراستها بدون مدرس و من مراجع علمية باللغة الانجليزية، فالمصطلحات جديدة علي و المراجع ماشاء الله بالالاف من الصفحات فوجدت أن أدخر وقتي للأهم ثم أنتقل للمهم، فأنا لا أريد أن أتعلم ال Assembly و انا لا أعرف منها سوي أربع أوامر و أخرج بنفس الأربع أوامر.
أتمني أن تنشر لنا مذكرات عن هذه اللغة و تضع لنا روابط تناسب المبتدئين في هذه اللغة أو كتب تتناسب مع مستوي ال Junior بما أنك خبير Assembly
وجزاك الله كل خير
Oracle 10G Certified Professional Developer.
عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي
